OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XML Stream in C++

[ 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.


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.


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS