home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-cocoon-addon-1.4.9-installer.exe / javadoc-v04draft.dtd < prev    next >
Encoding:
Text File  |  2004-07-12  |  7.8 KB  |  259 lines

  1. <!--
  2.   Copyright 1999-2004 The Apache Software Foundation
  3.  
  4.   Licensed under the Apache License, Version 2.0 (the "License");
  5.   you may not use this file except in compliance with the License.
  6.   You may obtain a copy of the License at
  7.  
  8.       http://www.apache.org/licenses/LICENSE-2.0
  9.  
  10.   Unless required by applicable law or agreed to in writing, software
  11.   distributed under the License is distributed on an "AS IS" BASIS,
  12.   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.   See the License for the specific language governing permissions and
  14.   limitations under the License.
  15. -->
  16. <!-- ===================================================================
  17.      
  18.      Apache JavaDoc DTD (version 0.4-draft)
  19.  
  20. PURPOSE:
  21.   This DTD is designed to capture the output of JavaDoc as an XML document
  22.   through the use of the JavaDocXML Doclet. The hope is that by having the
  23.   JavaDoc documentation in an XML format, it will be easier for application
  24.   developers working with XML to treat their java source documentation in the
  25.   same way they treat any other XML document within their publication framework.
  26.   
  27.   This DTD should reflect the information contained within the RootDoc object 
  28.   passed to the JavaDocXML Doclet by JavaDoc. The RootDoc object and the rest 
  29.   of the javaDoc Doclet API is specified at
  30.   
  31.   http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/doclet/index.html
  32.   
  33.   The only information that appears to be difficult to derive from this DTD
  34.   that is easy to obtain from the RootDoc object is the information about 
  35.   serialization. However, this information should be derivable by manually 
  36.   looking for the correct serialization methods and other related structures.
  37.   
  38. TYPICAL INVOCATION:
  39.  
  40.   <!DOCTYPE document PUBLIC
  41.        "-//APACHE//DTD JavaDoc Vx.yz//EN"
  42.        "javadoc-vxyz.dtd">
  43.  
  44.   where 
  45.   
  46.     x := major version
  47.     y := minor version
  48.     z := status identifier (optional)
  49.       
  50. NOTES:  
  51.   The authors would like to thank the Cocoon's mail list subscribers for 
  52.   providing such great support and feedback for this DTD.
  53.   
  54. FIXME:
  55.  
  56. CHANGE HISTORY:
  57.   199909?? Original idea of XML doclet. (KM)
  58.   199910?? Initial version of this DTD. (KM)
  59.   19991129 Cleaned up DTD. (SM)
  60.     
  61. ==================================================================== -->
  62.  
  63. <!-- =============================================================== -->
  64. <!-- Common Attribute Entities -->
  65. <!-- =============================================================== -->
  66.  
  67. <!ENTITY % name 'name CDATA #REQUIRED'>
  68. <!ENTITY % dimension 'dimension CDATA #REQUIRED'>
  69.  
  70. <!ENTITY % abstract 'abstract (true | false) "false"'>
  71. <!ENTITY % anonymous 'anonymous (true | false) "false"'>
  72. <!ENTITY % synthetic 'synthetic (true | false) "false"'>
  73. <!ENTITY % static 'static (true | false) "false"'>
  74. <!ENTITY % final 'final (true | false) "false"'>
  75. <!ENTITY % transient 'transient (true | false) "false"'>
  76. <!ENTITY % volatile 'volatile (true | false) "false"'>
  77. <!ENTITY % native 'native (true | false) "false"'>
  78. <!ENTITY % synchronized 'synchronized (true | false) "false"'>
  79.  
  80. <!ENTITY % access 'access (private | package | protected | public) "package"'>
  81. <!ENTITY % class.access 'access (package | public) "package"'>
  82.  
  83. <!ENTITY % extensibility 'extensibility (abstract | final | default) "default"'>
  84.  
  85.  
  86. <!-- =============================================================== -->
  87. <!-- Javadoc -->
  88. <!-- =============================================================== -->
  89.  
  90. <!ELEMENT javadoc (package*, class*, interface*)>
  91.  
  92. <!-- =============================================================== -->
  93. <!-- Package -->
  94. <!-- =============================================================== -->
  95.  
  96. <!ELEMENT package (doc?, package*, class*, interface*)>
  97. <!ATTLIST package %name;>
  98.  
  99. <!-- =============================================================== -->
  100. <!-- Class -->
  101. <!-- =============================================================== -->
  102.  
  103. <!ELEMENT class (doc?,
  104.                  extends_class?,
  105.                  implements?,
  106.                  field*, 
  107.                  constructor*, 
  108.                  method*,
  109.                  innerclass*)>
  110. <!ATTLIST class
  111.           %name;
  112.           %extensibility;
  113.           %class.access;>
  114.  
  115. <!ELEMENT extends_class (classref+)>
  116.           
  117. <!ELEMENT innerclass (doc?,
  118.                       extends?,
  119.                       implements?,
  120.                       field*, 
  121.                       constructor*, 
  122.                       method*)>
  123. <!ATTLIST innerclass
  124.           %name;
  125.           %access;
  126.           %abstract;
  127.           %anonymous;
  128.           %final;
  129.           %static;>
  130.           
  131. <!-- =============================================================== -->
  132. <!-- Interface -->
  133. <!-- =============================================================== -->
  134.           
  135. <!ELEMENT interface (doc?,
  136.                      extends_interface?,
  137.                      field*,
  138.                      method*)>
  139. <!ATTLIST interface
  140.           %name;
  141.           %access;>
  142.           
  143. <!ELEMENT extends_interface (interfaceref+)>
  144.  
  145. <!-- =============================================================== -->
  146. <!-- Elements -->
  147. <!-- =============================================================== -->
  148.  
  149. <!ELEMENT implements (interfaceref+)>
  150.  
  151. <!ELEMENT throws (classref)+>
  152.  
  153. <!ELEMENT classref EMPTY>
  154. <!ATTLIST classref %name;>
  155.           
  156. <!ELEMENT interfaceref EMPTY>
  157. <!ATTLIST interfaceref %name;>
  158.           
  159. <!ELEMENT methodref EMPTY>
  160. <!ATTLIST methodref %name;>
  161.           
  162. <!ELEMENT packageref EMPTY>
  163. <!ATTLIST packageref %name;>
  164.           
  165. <!ELEMENT primitive EMPTY>
  166. <!ATTLIST primitive
  167.           type (void | boolean | int | long | byte | short | double | float | char) #REQUIRED>
  168.           
  169. <!ELEMENT field (doc?, (classref | interfaceref | primitive))>
  170. <!ATTLIST field
  171.           %name;
  172.           %access;
  173.           %dimension;
  174.           %synthetic;
  175.           %static;
  176.           %final;
  177.           %transient;
  178.           %volatile;>
  179.           
  180. <!ELEMENT constructor (doc?, parameter*, throws*)>
  181. <!ATTLIST constructor
  182.           %name;
  183.           %access;
  184.           %synthetic;>
  185.           
  186. <!ELEMENT method (doc?, returns, parameter*, throws*)>
  187. <!ATTLIST method
  188.           %name;
  189.           %access;
  190.           %extensibility;
  191.           %native;
  192.           %synthetic;
  193.           %static;
  194.           %synchronized;>
  195.           
  196. <!ELEMENT returns (classref | interfaceref | primitive)>
  197. <!ATTLIST returns %dimension;>
  198.           
  199. <!ELEMENT parameter (classref | interfaceref | primitive)>
  200. <!ATTLIST parameter
  201.           %name;
  202.           %final;
  203.           %dimension;>
  204.           
  205. <!ELEMENT dimension (#PCDATA)>
  206.  
  207. <!ELEMENT doc (#PCDATA | 
  208.                linktag |
  209.                authortag |
  210.                versiontag |
  211.                paramtag |
  212.                returntag |
  213.                exceptiontag |
  214.                throwstag |
  215.                seetag |
  216.                sincetag |
  217.                deprecatedtag |
  218.                serialtag |
  219.                serialfieldtag |
  220.                serialdatatag)*>
  221.                
  222. <!ELEMENT linktag (#PCDATA)>
  223. <!ATTLIST linktag
  224.           src CDATA #REQUIRED>
  225.           
  226. <!ELEMENT authortag (#PCDATA | linktag)*>
  227.  
  228. <!ELEMENT versiontag (#PCDATA | linktag)*>
  229.  
  230. <!ELEMENT paramtag (#PCDATA | linktag)*>
  231. <!ATTLIST paramtag %name;>
  232.           
  233. <!ELEMENT returntag (#PCDATA | linktag)*>
  234.  
  235. <!ELEMENT exceptiontag (#PCDATA | classref | linktag)*>
  236.  
  237. <!ELEMENT throwstag (#PCDATA | classref | linktag)*>
  238.  
  239. <!ELEMENT seetag (#PCDATA | linktag)*>
  240. <!ATTLIST seetag
  241.           src CDATA #REQUIRED>
  242.           
  243. <!ELEMENT sincetag (#PCDATA | linktag)*>
  244.  
  245. <!ELEMENT deprecatedtag (#PCDATA | linktag)*>
  246.  
  247. <!ELEMENT serialtag (#PCDATA | linktag)*>
  248.  
  249. <!ELEMENT serialfieldtag (#PCDATA | linktag)*>
  250. <!ATTLIST serialfieldtag
  251.           fieldname CDATA #REQUIRED
  252.           fieldtype CDATA #REQUIRED>
  253.           
  254. <!ELEMENT serialdatatag (#PCDATA | linktag)*>
  255.  
  256. <!-- =============================================================== -->
  257. <!-- End of DTD -->
  258. <!-- =============================================================== -->
  259.