<!-- This is the DTD for the XML produced by the RDoc package. Some conventions: Cross references: - targets are labeled using id="..." attributes - references use conventional <a href="...">...</a> notation --> <!-- ==================== common entities ======================== --> <!ENTITY % idattr "id CDATA #IMPLIED" > <!ENTITY % name-id "id CDATA #IMPLIED name CDATA #REQUIRED" > <!-- a name or a reference to a name --> <!ENTITY % aref "(#PCDATA | a)*"> <!-- the contents of a markup section --> <!ENTITY % markup.attrs "b | tt | em"> <!ENTITY % markup.lists "ul | ol | dl | table "> <!ENTITY % markup.heading "h1 | h2 | h3 | h4 | h5 | h6 "> <!ENTITY % markup.internal "#PCDATA | p | a | pre | hr | %markup.attrs; | %markup.lists;"> <!ENTITY % flow "(#PCDATA | %markup.attrs;)*"> <!ENTITY % markup "(%markup.internal;)*"> <!ENTITY % toplevel "(%markup.internal; | %markup.heading;)*"> <!-- ================== document structure ======================= --> <!ELEMENT rdoc (file-list?, class-module-list?)> <!-- ================== file-list ================================ A file list contains a <file> entry for every source file processed. --> <!ELEMENT file-list (file*)> <!ELEMENT file (file-info, description?, contents)> <!ATTLIST file %name-id;> <!ELEMENT file-info (path, dtm-modified)> <!-- the full path to the file --> <!ELEMENT path (#PCDATA)> <!-- last modified dtms of file --> <!ELEMENT dtm-modified (#PCDATA)> <!-- =================== class list ======================== --> <!ELEMENT class-module-list (Class|Module)*> <!ELEMENT Class (classmod-info, description?, contents)> <!ATTLIST Class %name-id;> <!ELEMENT Module (classmod-info, description?, contents)> <!ATTLIST Module %name-id;> <!ELEMENT classmod-info (infiles?, superclass?)> <!ELEMENT infiles (infile*)> <!ELEMENT infile %aref;> <!ELEMENT superclass %aref;> <!-- ==================== description =========================== --> <!ELEMENT description %toplevel;> <!-- ==================== contents ============================== These are the contents, shared between files and classes --> <!ELEMENT contents (required-file-list?, attribute-list?, included-module-list?, method-list?)> <!ELEMENT required-file-list (required-file*)> <!ELEMENT required-file EMPTY> <!ATTLIST required-file name CDATA #REQUIRED href CDATA #IMPLIED > <!ELEMENT attribute-list (attribute*)> <!ELEMENT attribute (attribute-rw, description)> <!ATTLIST attribute name CDATA #REQUIRED > <!ELEMENT attribute-name (#PCDATA)> <!ELEMENT attribute-rw (#PCDATA)> <!ELEMENT included-module-list (included-module*)> <!ELEMENT included-module EMPTY> <!ATTLIST included-module name CDATA #REQUIRED href CDATA #IMPLIED > <!ELEMENT method-list (method*)> <!ELEMENT method (parameters, description?, source-code-listing?)> <!ATTLIST method name CDATA #REQUIRED id CDATA #REQUIRED type (Public | Private | Protected) #REQUIRED category (Instance | Class) #REQUIRED > <!ELEMENT parameters (#PCDATA)> <!ELEMENT source-code-listing (#PCDATA | span)*> <!-- for marking up code kw - keyword cmt - comment str - string re - regexp --> <!ELEMENT span (#PCDATA)> <!ATTLIST span class (kw | cmt | str | re) #REQUIRED > <!-- ================== cross references ================== --> <!ELEMENT a (#PCDATA)> <!ATTLIST a href CDATA #REQUIRED > <!-- ================== markup ============================ --> <!ELEMENT p %markup;> <!ELEMENT h1 %flow;> <!ELEMENT h2 %flow;> <!ELEMENT h3 %flow;> <!ELEMENT h4 %flow;> <!ELEMENT h5 %flow;> <!ELEMENT h6 %flow;> <!ELEMENT b %markup;> <!ELEMENT tt %markup;> <!ELEMENT em %markup;> <!ELEMENT pre (#PCDATA)> <!ELEMENT hr EMPTY> <!ATTLIST hr size CDATA #IMPLIED > <!ELEMENT ul (li*)> <!ELEMENT ol (li*)> <!ELEMENT li %markup;> <!ELEMENT dl (dt|dd)+> <!ELEMENT dt %markup;> <!ELEMENT dd %markup;> <!ELEMENT table (tr)+> <!ELEMENT tr (td)+> <!ELEMENT td %markup;> <!ATTLIST td valign CDATA #FIXED "top" >