<!ELEMENT configuration (elementclass | element | connection)*>
<!ELEMENT elementclass (compound | synonym)>
<!ELEMENT synonym EMPTY>
<!ELEMENT compound (formal*, (elementclass | element | connection)*)>
<!ELEMENT formal EMPTY>
<!ELEMENT element EMPTY>
<!ELEMENT connection EMPTY>

<!ATTLIST elementclass classname CDATA #IMPLIED
classid ID #REQUIRED
file CDATA #IMPLIED
line NMTOKEN #IMPLIED>

<!ATTLIST synonym classname CDATA #IMPLIED
classid IDREF #IMPLIED>

<!ATTLIST compound overloadclassname CDATA #IMPLIED
overloadclassid IDREF #IMPLIED
ninputs NMTOKEN #IMPLIED
noutputs NMTOKEN #IMPLIED
nformals NMTOKEN #IMPLIED>

<!ATTLIST formal number NMTOKEN #REQUIRED
name NMTOKEN #REQUIRED
key NMTOKEN #IMPLIED>

<!ATTLIST element name CDATA #REQUIRED
classname CDATA #IMPLIED
classid IDREF #IMPLIED
file CDATA #IMPLIED
line NMTOKEN #IMPLIED
ninputs NMTOKEN #IMPLIED
noutputs NMTOKEN #IMPLIED
processing CDATA #IMPLIED
config CDATA #IMPLIED>

<!ATTLIST connection from CDATA #REQUIRED
fromport NMTOKEN #IMPLIED
to CDATA #REQUIRED
toport NMTOKEN #IMPLIED
processing NMTOKEN #IMPLIED
file CDATA #IMPLIED
line NMTOKEN #IMPLIED>


<!ELEMENT elementmap (entry*)>
<!ELEMENT entry EMPTY>

<!ATTLIST elementmap src CDATA #IMPLIED
sourcedir CDATA #IMPLIED
provides CDATA #IMPLIED
drivers CDATA #IMPLIED
dochref CDATA #IMPLIED
webdoc CDATA #IMPLIED>

<!ATTLIST entry name CDATA #IMPLIED
cxxclass NMTOKEN #IMPLIED
docname CDATA #IMPLIED
headerfile CDATA #IMPLIED
sourcefile CDATA #IMPLIED
processing CDATA #IMPLIED
flowcode CDATA #IMPLIED
flags CDATA #IMPLIED
requires CDATA #IMPLIED
provides CDATA #IMPLIED>
