including lists in XML?

Sam Gentile (samg@fundtech.com)
Fri, 7 Aug 1998 13:17:00 -0400


Problem:
We need a way to represent lists of items. That is, any item which will be
included in an XML buffer, where we don't know at compile time the size of
the list.

Proposal:
1. Include a field in the database, TMS_IPM_REPOSITORY_DETAIL, to indicate
to the factory to keep reading all items of a specific type untill there are
no more items of that type. Or, to indicate to the factory to keep writing
all items of a specific type untill there are no more items of that type.
2. If this field is set, the Generator:
adds the "declare(RWGSlist, C<item>)" to the #include for class <item>
declares the type for C<item> as "RWGSlist(C<item>) m_lst<item>" wherever
the class <item> is used
3. If this the type of the item is a list, the factory has a get and put for
lists. This class uses the RWGSlist member functions next() and at() to
access the items.

Copy of a XML buffer which has multiple instances
<XMLBuffer>
<Person><name>Henry Ford</name></Person>
<Person><name>Samuel Crowther</name></Person>
<Person><name>Harvey S. Firestone</name></Person>
<Book>
<author>Henry Ford</author>
<author>Samuel Crowther</author>
<title>My Life and Work</title>
</Book>
<Book>
<author>Harvey S. Firestone</author>
<author>Samuel Crowther</author>
<title>Men and Rubber</title>
</Book>
</XMLBuffer>