"<?xml encoding=\"ISO-8859-1\"?>\n"
"<!-- DTD describing the grammar used in doxygen's XML output -->\n"
"\n"
"<!-- standard character entities -->\n"
"<!ENTITY lt     \"&#38;#60;\"> \n"
"<!ENTITY gt     \"&#62;\"> \n"
"<!ENTITY amp    \"&#38;#38;\"> \n"
"<!ENTITY apos   \"&#39;\"> \n"
"<!ENTITY quot   \"&#34;\"> \n"
"\n"
"<!-- required attributes for compounds -->\n"
"<!ENTITY % compound-req.att \n"
"                       'id      ID                           #REQUIRED\n"
"                        type    (group|file|namespace|\n"
"                                 class|struct|union|\n"
"                                 interface|dispinterface|\n"
"                                 valuetype|library)          #REQUIRED'\n"
">\n"
"<!-- required attributes for references -->\n"
"<!ENTITY % ref-req.att   'idref IDREF                        #REQUIRED'\n"
">\n"
"<!-- required attributes for inheritance relations -->\n"
"<!ENTITY % inheritcompref-req.att\n"
"                         '%ref-req.att;\n"
"                          prot (public|protected|private)    #REQUIRED\n"
"                          virt (non-virtual|virtual)         #REQUIRED'\n"
">\n"
"\n"
"<!-- required attributes for member sections -->\n"
"<!ENTITY % sec-req.att  'type   (user\n"
"                                |public-type\n"
"                                |public-func\n"
"                                |public-attrib\n"
"                                |public-slot\n"
"                                |public-static-func\n"
"                                |public-static-attrib\n"
"                                |protected-type\n"
"                                |protected-func\n"
"                                |protected-attrib\n"
"                                |protected-slot\n"
"                                |protected-static-func\n"
"                                |protected-static-attrib\n"
"                                |private-type\n"
"                                |private-func\n"
"                                |private-attrib\n"
"                                |private-slot\n"
"                                |private-static-func\n"
"                                |private-static-attrib\n"
"                                |signal\n"
"                                |friend\n"
"                                |related\n"
"				|define|prototype|typedef|enum|func|var\n"
"                                )                            #REQUIRED\n"
"                        '\n"
">\n"
"<!-- required attributes for members -->\n"
"<!ENTITY % mem-req.att  'id     ID                           #REQUIRED'>\n"
"\n"
"<!-- optional attributes for function -->\n"
"<!ENTITY % func-opt.att 'virt   (virtual|pure-virtual)       #IMPLIED'>\n"
"\n"
"<!-- elements -->\n"
"<!ELEMENT doxygen (compoundlist?)>\n"
"<!ELEMENT compoundlist (compounddef)+>\n"
"<!ELEMENT compounddef (compoundname,\n"
"                       basecompoundlist?,  \n"
"                       derivedcompoundlist?, \n"
"                       sectionlist?        \n"
"                      )\n"
">\n"
"<!ATTLIST compounddef %compound-req.att;>\n"
"<!ELEMENT basecompoundlist (basecompoundref)+>\n"
"<!ELEMENT derivedcompoundlist (derivedcompoundref)+>\n"
"<!ELEMENT compoundref (#PCDATA)>\n"
"<!ATTLIST compoundref %ref-req.att;>\n"
"<!ELEMENT memberref   (#PCDATA)>\n"
"<!ATTLIST memberref   %ref-req.att;>\n"
"<!ELEMENT basecompoundref EMPTY>\n"
"<!ATTLIST basecompoundref %inheritcompref-req.att;>\n"
"<!ELEMENT derivedcompoundref EMPTY>\n"
"<!ATTLIST derivedcompoundref %inheritcompref-req.att;>\n"
"<!ELEMENT sectionlist (sectiondef)+>\n"
"<!ELEMENT sectiondef  (memberlist)>\n"
"<!ATTLIST sectiondef  %sec-req.att;>\n"
"<!ELEMENT memberlist  (functiondef|variabledef|typedef|definedef|enumdef)+>\n"
"<!ELEMENT functiondef (type?,name,paramlist)>\n"
"<!ATTLIST functiondef %mem-req.att; %func-opt.att;>\n"
"<!ELEMENT variabledef (type,name,array?,initializer?)>\n"
"<!ATTLIST variabledef %mem-req.att;>\n"
"<!ELEMENT typedef     (type,name)>\n"
"<!ATTLIST typedef     %mem-req.att;>\n"
"<!ELEMENT definedef   (name,defparamlist?,initializer?)>\n"
"<!ATTLIST definedef   %mem-req.att;>\n"
"<!ELEMENT enumdef     (name,enumvaluelist)>\n"
"<!ATTLIST enumdef     %mem-req.att;>\n"
"<!ELEMENT slotdef     (type,name,paramlist)>\n"
"<!ATTLIST slotdef     %mem-req.att;>\n"
"<!ELEMENT signaldef   (type,name,paramlist)>\n"
"<!ATTLIST signaldef   %mem-req.att;>\n"
"<!ELEMENT paramlist (param)*>\n"
"<!ELEMENT param (attributes?,type,declname?,defname?,array?,defval?)>\n"
"<!ELEMENT defparamlist (defarg)*>\n"
"<!ELEMENT defarg (#PCDATA)>\n"
"<!ELEMENT enumvaluelist (enumvalue)*>\n"
"<!ELEMENT enumvalue (name,initializer?)>\n"
"<!ELEMENT name (#PCDATA)>\n"
"<!ELEMENT compoundname (#PCDATA)>\n"
"<!ELEMENT declname (#PCDATA)>\n"
"<!ELEMENT defname (#PCDATA)>\n"
"<!ELEMENT type (#PCDATA|memberref|compoundref|compounddef)*>\n"
"<!ELEMENT defval (#PCDATA|memberref|compoundref)*>\n"
"<!ELEMENT initializer (#PCDATA|memberref|compoundref)*>\n"
"<!ELEMENT array (#PCDATA)>\n"
"<!ELEMENT attributes (#PCDATA)>\n"
"\n"
