2 Copyright
2002-2004 The Apache Software Foundation
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
8 http
://www.apache.org
/licenses
/LICENSE
-2.0
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.
16 <!-- ===================================================================
18 Apache Common Documentation
elements (Version
1.2)
21 This DTD was developed to create a simple yet powerful document
22 type for software documentation for use with the Apache projects.
26 <!ENTITY
% document PUBLIC
27 "-//APACHE//ENTITIES Documentation Vxy//EN"
42 20020608 Initial version.
(SN
)
44 ==================================================================== -->
45 <!-- =============================================================== -->
46 <!-- Useful entities for increased DTD readability
-->
47 <!-- =============================================================== -->
48 <!ENTITY
% text
"#PCDATA">
49 <!-- Entities referred to later on are defined up front
-->
50 <!ENTITY
% markup
"strong|em|code|sub|sup">
51 <!ENTITY
% special
-inline
"br|img|icon|acronym">
52 <!ENTITY
% links
"link|jump|fork">
53 <!ENTITY
% paragraphs
"p|source|note|warning|fixme">
54 <!ENTITY
% tables
"table">
55 <!ENTITY
% lists
"ol|ul|dl">
56 <!ENTITY
% special
-blocks
"figure|anchor">
57 <!-- =============================================================== -->
58 <!-- Entities for general XML compliance
-->
59 <!-- =============================================================== -->
60 <!-- Common attributes
61 Every element has an ID
attribute (sometimes required
,
62 but usually optional
) for links.
%common.att
;
63 is for common attributes where the ID is optional
, and
64 %common
-idreq.att
; is for common attributes where the
67 <!ENTITY
% common.att
'id ID #IMPLIED
68 class NMTOKEN #IMPLIED
69 xml:lang NMTOKEN #IMPLIED'>
70 <!ENTITY
% common
-idreq.att
'id ID #REQUIRED
71 class NMTOKEN #IMPLIED
72 xml:lang NMTOKEN #IMPLIED'>
73 <!-- xml
:space attribute
===============================================
74 Indicates that the element contains white space
75 that the formatter or other application should retain
,
76 as appropriate to its function.
77 ==================================================================== -->
78 <!ENTITY
% xmlspace.att
'xml:space (default|preserve) #FIXED "preserve"'>
79 <!-- def attribute
=====================================================
80 Points to the element where the relevant definition can be
81 found
, using the IDREF mechanism.
%def.att
; is for optional
82 def attributes
, and
%def
-req.att
; is for required def
84 ==================================================================== -->
85 <!ENTITY
% def.att
'def IDREF #IMPLIED'>
86 <!ENTITY
% def
-req.att
'def IDREF #REQUIRED'>
87 <!-- ref attribute
=====================================================
88 Points to the element where more information can be found
,
89 using the IDREF mechanism.
%ref.att
; is for optional
90 ref attributes
, and
%ref
-req.att
; is for required ref
92 ================================================================== -->
93 <!ENTITY
% ref.att
'ref IDREF #IMPLIED'>
94 <!ENTITY
% ref
-req.att
'ref IDREF #REQUIRED'>
95 <!-- =============================================================== -->
96 <!-- Entities for general usage
-->
97 <!-- =============================================================== -->
98 <!-- Key attribute
=====================================================
99 Optionally provides a sorting or indexing key
, for cases when
100 the element content is inappropriate for this purpose.
101 ==================================================================== -->
102 <!ENTITY
% key.att
'key CDATA #IMPLIED'>
103 <!-- Title attributes
==================================================
104 Indicates that the element requires to have a title attribute.
105 ==================================================================== -->
106 <!ENTITY
% title.att
'title CDATA #REQUIRED'>
107 <!-- Name attributes
==================================================
108 Indicates that the element requires to have a name attribute.
109 ==================================================================== -->
110 <!ENTITY
% name.att
'name CDATA #REQUIRED'>
111 <!-- Email attributes
==================================================
112 Indicates that the element requires to have an email attribute.
113 ==================================================================== -->
114 <!ENTITY
% email.att
'email CDATA #REQUIRED'>
115 <!-- Link attributes
===================================================
116 Indicates that the element requires to have hyperlink attributes.
117 ==================================================================== -->
118 <!ENTITY
% link.att
'href CDATA #REQUIRED
120 title CDATA #IMPLIED '>
121 <!-- =============================================================== -->
122 <!-- General definitions
-->
123 <!-- =============================================================== -->
124 <!-- A person is a general unparsed human entity
-->
125 <!ELEMENT person EMPTY
>
131 <!-- =============================================================== -->
132 <!-- Content definitions
-->
133 <!-- =============================================================== -->
134 <!ENTITY
% local.inline
"">
135 <!ENTITY
% link
-content.mix
"%text;|%markup;|%special-inline; %local.inline;">
136 <!ENTITY
% content.mix
"%link-content.mix;|%links;">
137 <!-- ==================================================== -->
138 <!-- Phrase Markup
-->
139 <!-- ==================================================== -->
140 <!-- Strong (typically bold
) -->
141 <!ELEMENT
strong (%content.mix
;)*>
145 <!-- Emphasis (typically italic
) -->
146 <!ELEMENT
em (%content.mix
;)*>
150 <!-- Code (typically monospaced
) -->
151 <!ELEMENT
code (%text
;)>
155 <!-- Superscript (typically smaller and higher
) -->
156 <!ELEMENT
sup (%text
;)>
160 <!-- Subscript (typically smaller and lower
) -->
161 <!ELEMENT
sub (%text
;)>
165 <!-- ==================================================== -->
166 <!-- Hypertextual Links
-->
167 <!-- ==================================================== -->
168 <!-- hyperlink (equivalent of
<a ...
>) -->
169 <!ELEMENT
link (%link
-content.mix
;)*>
174 <!-- windows
-replacing
link (equivalent of
<a ... target
="_top">) -->
175 <!ELEMENT
jump (%link
-content.mix
;)*>
180 <!-- window
-forking
link (equivalent of
<a ... target
="_blank">) -->
181 <!ELEMENT
fork (%link
-content.mix
;)*>
187 <!-- ==================================================== -->
189 <!-- ==================================================== -->
190 <!-- Breakline
Object (typically forces line break
) -->
195 <!-- Image
Object (typically an inlined image
) -->
200 height CDATA #IMPLIED
202 usemap CDATA #IMPLIED
203 ismap (ismap
) #IMPLIED
206 <!-- Image
Icon (typically an inlined image placed as graphical item
) -->
207 <!ELEMENT icon EMPTY
>
211 height CDATA #IMPLIED
215 <!-- Acronym (in modern browsers
, will have rollover text
) -->
216 <!ELEMENT
acronym (%text
;)*>
218 title CDATA #REQUIRED
222 <!-- =============================================================== -->
223 <!-- Blocks definitions
-->
224 <!-- =============================================================== -->
225 <!ENTITY
% local.blocks
"">
226 <!ENTITY
% blocks
"%paragraphs;|%tables;|%lists;|%special-blocks; %local.blocks;">
228 <!-- Flow mixes block and inline
-->
229 <!ENTITY
% flow
"%content.mix;|%blocks;">
231 <!-- ==================================================== -->
233 <!-- ==================================================== -->
234 <!-- Text
Paragraph (normally vertically space delimited. Space can be preserved.
) -->
235 <!ELEMENT
p (%content.mix
;)*>
238 xml
:space (default|preserve
) #IMPLIED
240 <!-- Source
Paragraph (normally space is preserved
) -->
241 <!ELEMENT
source (%content.mix
;)*>
246 <!-- Note
Paragraph (normally shown encapsulated
) -->
247 <!ELEMENT
note (%content.mix
;)*>
252 <!-- Warning
Paragraph (normally shown with eye
-catching colors
) -->
253 <!ELEMENT
warning (%content.mix
;)*>
258 <!-- Fixme
Paragraph (normally not shown
) -->
259 <!ELEMENT
fixme (%content.mix
;)*>
261 author CDATA #REQUIRED
264 <!-- ==================================================== -->
266 <!-- ==================================================== -->
267 <!-- Attributes that indicate the spanning of the table cell
-->
268 <!ENTITY
% cell.span
'colspan CDATA "1"
270 <!-- Table element
-->
271 <!ELEMENT
table (caption?
, tr
+)>
275 <!-- The table title
-->
276 <!ELEMENT
caption (%content.mix
;)*>
280 <!-- The table row element
-->
281 <!ELEMENT
tr (th | td
)+>
285 <!-- The table row header element
-->
286 <!ELEMENT
th (%flow
;)*>
291 <!-- The table row description element
-->
292 <!ELEMENT
td (%flow
;)*>
297 <!-- ==================================================== -->
299 <!-- ==================================================== -->
301 <!ELEMENT
li (%flow
;)*>
305 <!-- Unordered
list (typically bulleted
) -->
306 <!ELEMENT
ul (li |
%lists
;)+>
307 <!-- spacing attribute
:
308 Use
"normal" to get normal vertical spacing for items
;
309 use
"compact" to get less spacing. The default is dependent
310 on the stylesheet.
-->
313 spacing (normal | compact
) #IMPLIED
315 <!-- Ordered
list (typically numbered
) -->
316 <!ELEMENT
ol (li |
%lists
;)+>
317 <!-- spacing attribute
:
318 Use
"normal" to get normal vertical spacing for items
;
319 use
"compact" to get less spacing. The default is dependent
320 on the stylesheet.
-->
323 spacing (normal | compact
) #IMPLIED
325 <!-- Definition
list (typically two
-column
) -->
326 <!ELEMENT
dl (dt
, dd
)+>
330 <!-- Definition term
-->
331 <!ELEMENT
dt (%content.mix
;)*>
335 <!-- Definition description
-->
336 <!ELEMENT
dd (%flow
; )*>
340 <!-- ==================================================== -->
341 <!-- Special Blocks
-->
342 <!-- ==================================================== -->
343 <!-- Image
Block (typically a separated and centered image
) -->
344 <!ELEMENT figure EMPTY
>
348 height CDATA #IMPLIED
350 usemap CDATA #IMPLIED
351 ismap (ismap
) #IMPLIED
355 <!-- anchor
point (equivalent of
<a name
="...">, typically not rendered
) -->
356 <!ELEMENT anchor EMPTY
>
360 <!-- =============================================================== -->
362 <!-- =============================================================== -->
363 <!ELEMENT
document (header
, body
, footer?
)>
367 <!-- ==================================================== -->
369 <!-- ==================================================== -->
370 <!ENTITY
% local.headers
"">
371 <!ELEMENT
header (title
, subtitle?
, version?
, type?
, authors?
,
372 notice
*, abstract?
%local.headers
;)>
376 <!ELEMENT
title (%text
; |
%markup
; |
%links
; |
%special
-inline
;)*>
380 <!ELEMENT
subtitle (%text
; |
%markup
;)*>
384 <!ELEMENT
version (%text
;)>
392 <!ELEMENT
type (%text
;)>
396 <!ELEMENT
authors (person
+)>
400 <!ELEMENT
notice (%content.mix
;)*>
404 <!ELEMENT
abstract (%content.mix
;)*>
408 <!-- ==================================================== -->
410 <!-- ==================================================== -->
411 <!ENTITY
% local.sections
"">
412 <!ENTITY
% sections
"section %local.sections;">
413 <!ELEMENT
body (%sections
; |
%blocks
;)+>
417 <!ELEMENT
section (title
, (%sections
; |
%blocks
;)*)
>
421 <!-- ==================================================== -->
423 <!-- ==================================================== -->
424 <!ENTITY
% local.footers
"">
425 <!ELEMENT
footer (legal
%local.footers
;)>
426 <!ELEMENT
legal (%content.mix
;)*>
430 <!-- =============================================================== -->
432 <!-- =============================================================== -->