| <!-- =================================================================== |
| |
| Apache JavaDoc DTD (version 0.4-draft) |
| |
| PURPOSE: |
| This DTD is designed to capture the output of JavaDoc as an XML document |
| through the use of the JavaDocXML Doclet. The hope is that by having the |
| JavaDoc documentation in an XML format, it will be easier for application |
| developers working with XML to treat their java source documentation in the |
| same way they treat any other XML document within their publication framework. |
| |
| This DTD should reflect the information contained within the RootDoc object |
| passed to the JavaDocXML Doclet by JavaDoc. The RootDoc object and the rest |
| of the javaDoc Doclet API is specified at |
| |
| http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/doclet/index.html |
| |
| The only information that appears to be difficult to derive from this DTD |
| that is easy to obtain from the RootDoc object is the information about |
| serialization. However, this information should be derivable by manually |
| looking for the correct serialization methods and other related structures. |
| |
| TYPICAL INVOCATION: |
| |
| <!DOCTYPE document PUBLIC |
| "-//APACHE//DTD JavaDoc Vx.yz//EN" |
| "javadoc-vxyz.dtd"> |
| |
| where |
| |
| x := major version |
| y := minor version |
| z := status identifier (optional) |
| |
| NOTES: |
| The authors would like to thank the Cocoon's mail list subscribers for |
| providing such great support and feedback for this DTD. |
| |
| AUTHORS: |
| Kenneth Murphy <murphyk@umsystem.edu> |
| |
| FIXME: |
| |
| CHANGE HISTORY: |
| 199909?? Original idea of XML doclet. (KM) |
| 199910?? Initial version of this DTD. (KM) |
| 19991129 Cleaned up DTD. (SM) |
| |
| COPYRIGHT: |
| Copyright (c) @year@ The Apache Software Foundation. |
| |
| Permission to copy in any form is granted provided this notice is |
| included in all copies. Permission to redistribute is granted |
| provided this file is distributed untouched in all its parts and |
| included files. |
| |
| ==================================================================== --> |
| |
| <!-- =============================================================== --> |
| <!-- Common Attribute Entities --> |
| <!-- =============================================================== --> |
| |
| <!ENTITY % name 'name CDATA #REQUIRED'> |
| <!ENTITY % dimension 'dimension CDATA #REQUIRED'> |
| |
| <!ENTITY % abstract 'abstract (true | false) "false"'> |
| <!ENTITY % anonymous 'anonymous (true | false) "false"'> |
| <!ENTITY % synthetic 'synthetic (true | false) "false"'> |
| <!ENTITY % static 'static (true | false) "false"'> |
| <!ENTITY % final 'final (true | false) "false"'> |
| <!ENTITY % transient 'transient (true | false) "false"'> |
| <!ENTITY % volatile 'volatile (true | false) "false"'> |
| <!ENTITY % native 'native (true | false) "false"'> |
| <!ENTITY % synchronized 'synchronized (true | false) "false"'> |
| |
| <!ENTITY % access 'access (private | package | protected | public) "package"'> |
| <!ENTITY % class.access 'access (package | public) "package"'> |
| |
| <!ENTITY % extensibility 'extensibility (abstract | final | default) "default"'> |
| |
| |
| <!-- =============================================================== --> |
| <!-- Javadoc --> |
| <!-- =============================================================== --> |
| |
| <!ELEMENT javadoc (package*, class*, interface*)> |
| |
| <!-- =============================================================== --> |
| <!-- Package --> |
| <!-- =============================================================== --> |
| |
| <!ELEMENT package (doc?, package*, class*, interface*)> |
| <!ATTLIST package %name;> |
| |
| <!-- =============================================================== --> |
| <!-- Class --> |
| <!-- =============================================================== --> |
| |
| <!ELEMENT class (doc?, |
| extends_class?, |
| implements?, |
| field*, |
| constructor*, |
| method*, |
| innerclass*)> |
| <!ATTLIST class |
| %name; |
| %extensibility; |
| %class.access;> |
| |
| <!ELEMENT extends_class (classref+)> |
| |
| <!ELEMENT innerclass (doc?, |
| extends?, |
| implements?, |
| field*, |
| constructor*, |
| method*)> |
| <!ATTLIST innerclass |
| %name; |
| %access; |
| %abstract; |
| %anonymous; |
| %final; |
| %static;> |
| |
| <!-- =============================================================== --> |
| <!-- Interface --> |
| <!-- =============================================================== --> |
| |
| <!ELEMENT interface (doc?, |
| extends_interface?, |
| field*, |
| method*)> |
| <!ATTLIST interface |
| %name; |
| %access;> |
| |
| <!ELEMENT extends_interface (interfaceref+)> |
| |
| <!-- =============================================================== --> |
| <!-- Elements --> |
| <!-- =============================================================== --> |
| |
| <!ELEMENT implements (interfaceref+)> |
| |
| <!ELEMENT throws (classref)+> |
| |
| <!ELEMENT classref EMPTY> |
| <!ATTLIST classref %name;> |
| |
| <!ELEMENT interfaceref EMPTY> |
| <!ATTLIST interfaceref %name;> |
| |
| <!ELEMENT methodref EMPTY> |
| <!ATTLIST methodref %name;> |
| |
| <!ELEMENT packageref EMPTY> |
| <!ATTLIST packageref %name;> |
| |
| <!ELEMENT primitive EMPTY> |
| <!ATTLIST primitive |
| type (void | boolean | int | long | byte | short | double | float | char) #REQUIRED> |
| |
| <!ELEMENT field (doc?, (classref | interfaceref | primitive))> |
| <!ATTLIST field |
| %name; |
| %access; |
| %dimension; |
| %synthetic; |
| %static; |
| %final; |
| %transient; |
| %volatile;> |
| |
| <!ELEMENT constructor (doc?, parameter*, throws*)> |
| <!ATTLIST constructor |
| %name; |
| %access; |
| %synthetic;> |
| |
| <!ELEMENT method (doc?, returns, parameter*, throws*)> |
| <!ATTLIST method |
| %name; |
| %access; |
| %extensibility; |
| %native; |
| %synthetic; |
| %static; |
| %synchronized;> |
| |
| <!ELEMENT returns (classref | interfaceref | primitive)> |
| <!ATTLIST returns %dimension;> |
| |
| <!ELEMENT parameter (classref | interfaceref | primitive)> |
| <!ATTLIST parameter |
| %name; |
| %final; |
| %dimension;> |
| |
| <!ELEMENT dimension (#PCDATA)> |
| |
| <!ELEMENT doc (#PCDATA | |
| linktag | |
| authortag | |
| versiontag | |
| paramtag | |
| returntag | |
| exceptiontag | |
| throwstag | |
| seetag | |
| sincetag | |
| deprecatedtag | |
| serialtag | |
| serialfieldtag | |
| serialdatatag)*> |
| |
| <!ELEMENT linktag (#PCDATA)> |
| <!ATTLIST linktag |
| src CDATA #REQUIRED> |
| |
| <!ELEMENT authortag (#PCDATA | linktag)*> |
| |
| <!ELEMENT versiontag (#PCDATA | linktag)*> |
| |
| <!ELEMENT paramtag (#PCDATA | linktag)*> |
| <!ATTLIST paramtag %name;> |
| |
| <!ELEMENT returntag (#PCDATA | linktag)*> |
| |
| <!ELEMENT exceptiontag (#PCDATA | classref | linktag)*> |
| |
| <!ELEMENT throwstag (#PCDATA | classref | linktag)*> |
| |
| <!ELEMENT seetag (#PCDATA | linktag)*> |
| <!ATTLIST seetag |
| src CDATA #REQUIRED> |
| |
| <!ELEMENT sincetag (#PCDATA | linktag)*> |
| |
| <!ELEMENT deprecatedtag (#PCDATA | linktag)*> |
| |
| <!ELEMENT serialtag (#PCDATA | linktag)*> |
| |
| <!ELEMENT serialfieldtag (#PCDATA | linktag)*> |
| <!ATTLIST serialfieldtag |
| fieldname CDATA #REQUIRED |
| fieldtype CDATA #REQUIRED> |
| |
| <!ELEMENT serialdatatag (#PCDATA | linktag)*> |
| |
| <!-- =============================================================== --> |
| <!-- End of DTD --> |
| <!-- =============================================================== --> |