<?xml encoding="UTF-8"?> <!-- ?xml encoding="ISO-8859-1"? --> <!ELEMENT gdd ((import*, package+)+)> <!ATTLIST gdd version CDATA "1.0" > <!ELEMENT import EMPTY> <!ATTLIST import name CDATA #REQUIRED std (TRUE | FALSE) "FALSE" soft (TRUE | FALSE | FORWARDONLY) "FALSE" namespace CDATA #IMPLIED > <!ELEMENT package ((import*, class*, namespace*, assoc*)*)> <!ATTLIST package name CDATA #REQUIRED namespace CDATA #IMPLIED > <!-- ELEMENT class ((class?, ..... --> <!ELEMENT class ((desc?, base?, copyconstructor?, assignmentoperator?, import?, location?, enum?, typedef?, constructor?, destructor?, method?, attribute?, relation?, template?)*)> <!ATTLIST class name CDATA #REQUIRED author CDATA #REQUIRED desc CDATA #REQUIRED id CDATA #IMPLIED version CDATA #IMPLIED location CDATA #IMPLIED namespace CDATA #IMPLIED stdVectorTypeDef (TRUE | FALSE) "FALSE" keyedContTypeDef (TRUE | FALSE) "FALSE" contObjectTypeDef (TRUE | FALSE) "FALSE" serializers (TRUE | FALSE) "TRUE" virtual (TRUE | FALSE) "TRUE" allocator (DEFAULT | NO | BOOST | BOOST2 | DEBUG ) "DEFAULT" defaultconstructor (TRUE | FALSE) "TRUE" defaultdestructor (TRUE | FALSE) "TRUE"> <!ELEMENT desc (#PCDATA)> <!ATTLIST desc xml:space (default | preserve) #FIXED "preserve" > <!ELEMENT copyconstructor EMPTY> <!ELEMENT assignmentoperator EMPTY> <!ELEMENT location EMPTY> <!ATTLIST location name CDATA #REQUIRED place CDATA #REQUIRED noQuote (TRUE | FALSE) "FALSE" > <!ELEMENT namespace ((desc?, typedef?, enum?, class?, import?, attribute?, method?)*)> <!ATTLIST namespace name CDATA #REQUIRED author CDATA #IMPLIED desc CDATA #REQUIRED scope CDATA #IMPLIED > <!ELEMENT base EMPTY> <!ATTLIST base name CDATA #REQUIRED virtual (TRUE | FALSE) "FALSE" access (PUBLIC | PROTECTED | PRIVATE) "PUBLIC" > <!ELEMENT enum (enumval*)> <!ATTLIST enum name CDATA #REQUIRED desc CDATA #REQUIRED value CDATA #IMPLIED strTypConv (TRUE | FALSE ) "FALSE" access (PUBLIC | PROTECTED | PRIVATE) "PRIVATE" unknownValue CDATA "Unknown" > <!ELEMENT enumval EMPTY> <!ATTLIST enumval name CDATA #REQUIRED value CDATA #IMPLIED desc CDATA #REQUIRED > <!ELEMENT typedef EMPTY> <!ATTLIST typedef desc CDATA #REQUIRED type CDATA #REQUIRED def CDATA #REQUIRED access (PUBLIC | PROTECTED | PRIVATE) "PRIVATE" > <!ELEMENT constructor (arg*, code?, arg*)> <!ATTLIST constructor desc CDATA #REQUIRED argList CDATA #IMPLIED initList CDATA #IMPLIED explicit (TRUE | FALSE) "FALSE" > <!ELEMENT destructor (arg*, code?, arg*)> <!ATTLIST destructor desc CDATA #REQUIRED argList CDATA #IMPLIED virtual (TRUE | FALSE) "FALSE" > <!ELEMENT method ((arg*, return?, arg*, code?, arg*) | (arg*, code?, arg*, return?, arg*))> <!ATTLIST method name CDATA #REQUIRED desc CDATA #REQUIRED template CDATA #IMPLIED access (PUBLIC | PROTECTED | PRIVATE) "PUBLIC" const (TRUE | FALSE) "FALSE" virtual (TRUE | FALSE | PURE) "FALSE" static (TRUE | FALSE) "FALSE" inline (TRUE | FALSE) "FALSE" friend (TRUE | FALSE) "FALSE" type CDATA "void" argList CDATA #IMPLIED useBase CDATA #IMPLIED > <!ELEMENT arg EMPTY> <!ATTLIST arg type CDATA #REQUIRED name CDATA #IMPLIED const (TRUE | FALSE) "FALSE" inout (BYVALUE | INPUT | INOUT | BOTH) "INPUT" > <!ELEMENT return EMPTY> <!ATTLIST return type CDATA #REQUIRED const (TRUE | FALSE) "FALSE" > <!ELEMENT code (#PCDATA)> <!ATTLIST code xml:space (default | preserve) #FIXED "preserve" > <!ELEMENT attribute (bitfield*)> <!ATTLIST attribute type CDATA #REQUIRED name CDATA #REQUIRED desc CDATA #REQUIRED init CDATA #IMPLIED dictalias CDATA #IMPLIED access (PUBLIC | PROTECTED | PRIVATE) "PRIVATE" compression (TRUE | FALSE) "TRUE" setMeth (TRUE | FALSE) "TRUE" getMeth (TRUE | FALSE) "TRUE" transient (TRUE | FALSE) "FALSE" nonconstaccessor (TRUE | FALSE) "FALSE" > <!ELEMENT relation EMPTY> <!ATTLIST relation type CDATA #REQUIRED name CDATA #REQUIRED desc CDATA #REQUIRED access (PUBLIC | PROTECTED | PRIVATE) "PRIVATE" multiplicity (1 | N | n | M | m) "1" serialize (TRUE | FALSE) "TRUE" setMeth (TRUE | FALSE) "TRUE" getMeth (TRUE | FALSE) "TRUE" addMeth (TRUE | FALSE) "TRUE" remMeth (TRUE | FALSE) "TRUE" clrMeth (TRUE | FALSE) "TRUE" nonconstaccessor (TRUE | FALSE) "FALSE" > <!ELEMENT bitfield EMPTY> <!ATTLIST bitfield name CDATA #REQUIRED type CDATA #IMPLIED length CDATA #REQUIRED desc CDATA #REQUIRED startBit CDATA #IMPLIED exclusive (TRUE | FALSE) "TRUE" setMeth (TRUE | FALSE) "TRUE" getMeth (TRUE | FALSE) "TRUE" checkMeth (TRUE | FALSE) "FALSE" > <!ELEMENT template EMPTY> <!ATTLIST template name CDATA #REQUIRED t1 CDATA "THIS" t2 CDATA #IMPLIED t3 CDATA #IMPLIED t4 CDATA #IMPLIED > <!ELEMENT assoc EMPTY> <!ATTLIST assoc type (1D | 2D) "1D" weight CDATA "NONE" from CDATA #REQUIRED to CDATA #REQUIRED > <!ENTITY KeyedObjectKey 'int'> <!ENTITY Reference '<template name="SmartRef"/> <template name="SmartRefVector"/>' > <!ENTITY StlVector '<template name="vector" t1="THIS"/>' > <!ENTITY StlConstVector '<template name="vector" t1="const THIS"/>' > <!ENTITY StlPtrVector '<template name="vector" t1="THIS*"/>' > <!ENTITY StlConstPtrVector '<template name="vector" t1="const THIS*"/>' > <!ENTITY DataObject '<template name="SmartRef"/> <template name="SmartRefVector"/>' > <!ENTITY ContainedObject '<template name="SmartRef"/> <template name="SmartRefVector"/> <template name="vector" t1="THIS*"/> <template name="ObjectVector"/>' > <!ENTITY KeyedContainer '<template name="SmartRef"/> <template name="SmartRefVector"/> <template name="vector" t1="THIS*"/> <template name="ObjectVector"/> <template name="KeyedContainer"/>' > <!ENTITY KeyedObject '<template name="KeyedObject" t1="int"/> <template name="SmartRef"/> <template name="SmartRefVector"/> <template name="vector" t1="THIS*"/> <template name="ObjectVector"/> <template name="KeyedContainer"/>' >