[
Lists Home |
Date Index |
Thread Index
]
If you tried to write a _generic_ XML input stream, there would need to be a
decision mechanism as to which class to instantiate that sits outside the >>
operator; this would have to be duplicated with minor variations in every class
which corresponds to a complex element, along with mechanisms for namespace mapping
and attribute assignment; again with large amounts of duplicated code for mapping
unordered attributes onto members. The standard pattern for dealing with such
commonalties across classes would be to create an object factory to generate
objects based on the mapped tagname and a unordered set of attribute objects.
Basically you will end up with a lot of responsibilities that are outside the
stream class (which to be generic can't know about mappings of tagname to specific
class, and is sequential so won't naturally be able to deal with unordered named
attributes); so you will end up needing either a DOM or SAX clone (depending on
whether you want to specify an API to your generated tree or not) to be the main
client of your stream.
Pete
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************
|