Planned: v 2.5 * Test out compatibility with ActiveRecord such that it's easy to have both xml & database-sourced objects * provide an overridable extension point for the #to_xml-ing of values. This would enable easy accommodation of non-standard formats. For example, formatting a number with leading zeros. * Ensure (perhaps optionally) that references are unambiguous. That is error/warn a singular specification has multiple possible node references * Automatically use Date or DateTime for accessors ending in '_on' and '_at', respectively * Add xml_in helper to share :in declarations between several attributes. E.g.: xml_reader :count, :in => 'Attributes', :as => Integer xml_reader :something_else, :in => 'Attributes', :as => Date becomes: xml_in 'Attributes' do |xml| xml.reader :count, :as => Integer xml.reader :something_else, :as => Date end * :self => true for sending method_missing to this attribute? v 3.0 * remove deprecated functionality * Clarify API via seperation of concerns. :as for Type, :from and :in for location, All other options as named options, e.g. :cdata => true rather than :as => :cdata. A few not so great examples...: xml_reader :some_objce, MyObject xml_reader :size, :attr, :as => Integer xml_reader :count, :attr, :as => Integer become: xml_reader :some_object, :as => MyObject xml_reader :count, :size, :as => Integer, :from => :attr This will significantly simplify the internals and will also cleanly split element type, location, name and options, for a more predictable API. It also enables multiple declarations on a single call, ala attr_* xml_reader :count, :size, :number, :as => Integer, :from => :attr * Commandeer #parse to use opposite #from_xml, but in an unrooted, collection-friendly fashion, ala HappyMapper's parse * Back with http://xml-object.rubyforge.org/doc/ to minimize need for specifications? * Use lazy evaluation to minimize parsing time for large files * Consider class_inheritable_attribute rather than superclass.try stuff.