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 / document-v10.dtd < prev    next >
Encoding:
Text File  |  2004-07-12  |  17.0 KB  |  500 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 Documentation DTD (Version 1.0)
  19.  
  20. PURPOSE:
  21.   This DTD was developed to create a simple yet powerful document
  22.   type for software documentation for use with the Apache projects.
  23.   It is an XML-compliant DTD and it's maintained by the Apache XML
  24.   project.
  25.  
  26. TYPICAL INVOCATION:
  27.  
  28.   <!DOCTYPE document PUBLIC
  29.        "-//APACHE//DTD Documentation Vx.yz//EN"
  30.        "document-vxyz.dtd">
  31.  
  32.   where
  33.  
  34.     x := major version
  35.     y := minor version
  36.     z := status identifier (optional)
  37.  
  38. NOTES:
  39.   Many of the design patterns used in this DTD were take from the
  40.   W3C XML Specification DTD edited by Eve Maler <elm@arbortext.com>.
  41.  
  42.   Where possible, great care has been used to reutilize HTML tag
  43.   names to reduce learning efforts and to allow HTML editors to be
  44.   used for complex authorings like tables and lists.
  45.  
  46. FIXME:
  47.   - how can we include char entities without hardwiring them?
  48.   - should "form" tags be included?
  49.   - should all style-free HTML 4.0 markup tags be included?
  50.   - how do we handle the idea of "soft" xlinks?
  51.   - should we add "soft" links to images?
  52.  
  53. CHANGE HISTORY:
  54.   19991121 Initial version. (SM)
  55.   19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
  56.   19991124 Added "fork" element for window forking behavior. (SM)
  57.   19991124 Added "img-inline" element to separate from "img". (SM)
  58.   19991129 Removed "affiliation" from "author". (SM)
  59.   19991129 Made "author" empty and moved "name|email" as attributes. (SM)
  60.   19991215 Simplified table section. (SM)
  61.   19991215 Changed "img-block" in more friendly "figure". (SM)
  62.   20000125 Added the "icon" image. (SM)
  63.   20000126 Allowed "anchor" in all levels. (SM)
  64.   20000404 Removed the "role" attribute from common-xxx.att. (SM)
  65.   20000815 Allowed "code" inside "strong" and "em". (SM)
  66.   20020223 Allowed "figure" at section level (SM)
  67.  
  68. ==================================================================== -->
  69. <!-- =============================================================== -->
  70. <!-- Common character entities (included from external file) -->
  71. <!-- =============================================================== -->
  72. <!-- FIXME (SM): this is hardcoding. Find a better way of doing this
  73.      possibly using public identifiers of ISO latin char sets -->
  74. <!ENTITY % charEntity SYSTEM "characters.ent">
  75. %charEntity;
  76. <!-- =============================================================== -->
  77. <!-- Userful entitieis for increased DTD readability -->
  78. <!-- =============================================================== -->
  79. <!ENTITY % text "#PCDATA">
  80. <!-- =============================================================== -->
  81. <!-- Entities for general XML compliance -->
  82. <!-- =============================================================== -->
  83. <!-- Common attributes
  84.         Every element has an ID attribute (sometimes required,
  85.         but usually optional) for links. %common.att;
  86.         is for common attributes where the ID is optional, and
  87.         %common-idreq.att; is for common attributes where the
  88.         ID is required.
  89. -->
  90. <!ENTITY % common.att 'id                     ID              #IMPLIED
  91.          xml:lang               NMTOKEN         #IMPLIED'>
  92. <!ENTITY % common-idreq.att 'id                     ID              #REQUIRED
  93.          xml:lang               NMTOKEN         #IMPLIED'>
  94. <!-- xml:space attribute ===============================================
  95.         Indicates that the element contains white space
  96.         that the formatter or other application should retain,
  97.         as appropriate to its function.
  98. ==================================================================== -->
  99. <!ENTITY % xmlspace.att 'xml:space (default|preserve) #FIXED "preserve"'>
  100. <!-- def attribute =====================================================
  101.         Points to the element where the relevant definition can be
  102.         found, using the IDREF mechanism.  %def.att; is for optional
  103.         def attributes, and %def-req.att; is for required def
  104.         attributes.
  105. ==================================================================== -->
  106. <!ENTITY % def.att 'def                    IDREF           #IMPLIED'>
  107. <!ENTITY % def-req.att 'def                    IDREF           #REQUIRED'>
  108. <!-- ref attribute =====================================================
  109.         Points to the element where more information can be found,
  110.         using the IDREF mechanism.  %ref.att; is for optional
  111.         ref attributes, and %ref-req.att; is for required ref
  112.         attributes.
  113. ================================================================== -->
  114. <!ENTITY % ref.att 'ref                    IDREF           #IMPLIED'>
  115. <!ENTITY % ref-req.att 'ref                    IDREF           #REQUIRED'>
  116. <!-- =============================================================== -->
  117. <!-- Entities for XLink compliance -->
  118. <!-- =============================================================== -->
  119. <!ENTITY % xlink-simple.att 'type      (simple|extended|locator|arc) #FIXED "simple"
  120.          href      CDATA                         #IMPLIED
  121.          role      CDATA                         #IMPLIED
  122.          title     CDATA                         #IMPLIED '>
  123. <!--    'xmlns     CDATA                         #FIXED "http://www.w3.org/XML/XLink/0.9" -->
  124. <!-- FIXME: brain-dead IE5 has broken support for
  125.      namespace validation and since I use it for editing
  126.      I remove this for now -->
  127. <!ENTITY % xlink-user-replace.att 'show      (new|parsed|replace)   #FIXED "replace"
  128.          actuate   (user|auto)            #FIXED "user" '>
  129. <!ENTITY % xlink-user-new.att 'show      (new|parsed|replace)   #FIXED "new"
  130.          actuate   (user|auto)            #FIXED "user" '>
  131. <!ENTITY % xlink-auto-parsed.att 'show      (new|parsed|replace)   #FIXED "parsed"
  132.          actuate   (user|auto)            #FIXED "auto" '>
  133. <!-- FIXME (SM): XLink doesn't yet cover the idea of soft links so
  134.      introducing it here using the same namespace is _somewhat_
  135.      illegal. Should we create it own namespace?
  136. -->
  137. <!ENTITY % xlink-soft.att 'mode      (hard|soft)            #FIXED "soft" '>
  138. <!-- =============================================================== -->
  139. <!-- Entities for general usage -->
  140. <!-- =============================================================== -->
  141. <!-- Key attribute =====================================================
  142.         Optionally provides a sorting or indexing key, for cases when
  143.         the element content is inappropriate for this purpose.
  144. ==================================================================== -->
  145. <!ENTITY % key.att 'key                    CDATA           #IMPLIED'>
  146. <!-- Title attributes ==================================================
  147.         Indicates that the element requires to have a title.
  148. ==================================================================== -->
  149. <!ENTITY % title.att 'title                  CDATA           #REQUIRED'>
  150. <!-- Name attributes ==================================================
  151.         Indicates that the element requires to have a name.
  152. ==================================================================== -->
  153. <!ENTITY % name.att 'name                   CDATA           #REQUIRED'>
  154. <!-- Email attributes ==================================================
  155.         Indicates that the element requires to have an email.
  156. ==================================================================== -->
  157. <!ENTITY % email.att 'email                  CDATA           #REQUIRED'>
  158. <!-- =============================================================== -->
  159. <!-- General definitions -->
  160. <!-- =============================================================== -->
  161. <!-- A person is a general human entity -->
  162. <!ELEMENT person EMPTY>
  163. <!ATTLIST person
  164.     %common.att; 
  165.     %name.att; 
  166.     %email.att; 
  167. >
  168. <!-- =============================================================== -->
  169. <!-- Content definitions -->
  170. <!-- =============================================================== -->
  171. <!ENTITY % local.content.mix "">
  172. <!ENTITY % markup "strong|em|code|sub|sup">
  173. <!ENTITY % links "link|connect|jump|fork|anchor">
  174. <!ENTITY % special "br|img|icon">
  175. <!ENTITY % link-content.mix "%text;|%markup;|%special;%local.content.mix;">
  176. <!ENTITY % content.mix "%link-content.mix;|%links;">
  177. <!-- ==================================================== -->
  178. <!-- Phrase Markup -->
  179. <!-- ==================================================== -->
  180. <!-- Code (typically monospaced) -->
  181. <!ELEMENT code (%text;)>
  182. <!ATTLIST code
  183.     %common.att; 
  184. >
  185. <!-- Strong (typically bold) -->
  186. <!ELEMENT strong (%text; | code)*>
  187. <!ATTLIST strong
  188.     %common.att; 
  189. >
  190. <!-- Emphasis (typically italic) -->
  191. <!ELEMENT em (%text; | code)*>
  192. <!ATTLIST em
  193.     %common.att; 
  194. >
  195. <!-- Superscript (typically smaller and higher) -->
  196. <!ELEMENT sup (%text;)>
  197. <!ATTLIST sup
  198.     %common.att; 
  199. >
  200. <!-- Subscript (typically smaller and lower) -->
  201. <!ELEMENT sub (%text;)>
  202. <!ATTLIST sub
  203.     %common.att; 
  204. >
  205. <!-- FIXME (SM): should we add these HTML 4.0 markups
  206.          which are style-free?
  207.  
  208.           -dfn
  209.           -samp
  210.           -kbd
  211.           -var
  212.           -cite
  213.           -abbr
  214.           -acronym
  215.  
  216.      -->
  217. <!-- ==================================================== -->
  218. <!-- Hypertextual Links -->
  219. <!-- ==================================================== -->
  220. <!-- hard replacing link (equivalent of <a ...>) -->
  221. <!ELEMENT link (%link-content.mix;)*>
  222. <!ATTLIST link
  223.     %common.att; 
  224.     %xlink-simple.att; 
  225.     %xlink-user-replace.att; 
  226. >
  227. <!-- Hard window replacing link (equivalent of <a ... target="_top">) -->
  228. <!ELEMENT jump (%link-content.mix;)*>
  229. <!ATTLIST jump
  230.     %common.att; 
  231.     %xlink-simple.att; 
  232.     %xlink-user-new.att; 
  233. >
  234. <!-- Hard window forking link (equivalent of <a ... target="_new">) -->
  235. <!ELEMENT fork (%link-content.mix;)*>
  236. <!ATTLIST fork
  237.     %common.att; 
  238.     %xlink-simple.att; 
  239.     %xlink-user-new.att; 
  240. >
  241. <!-- Anchor point (equivalent of <a name="...">) -->
  242. <!ELEMENT anchor EMPTY>
  243. <!ATTLIST anchor
  244.     %common-idreq.att; 
  245. >
  246. <!-- Soft link between processed pages (no equivalent in HTML) -->
  247. <!ELEMENT connect (%link-content.mix;)*>
  248. <!ATTLIST connect
  249.     %common.att; 
  250.     %xlink-simple.att; 
  251.     %xlink-user-replace.att; 
  252.     %xlink-soft.att; 
  253. >
  254. <!-- ==================================================== -->
  255. <!-- Specials -->
  256. <!-- ==================================================== -->
  257. <!-- Breakline Object (typically forces line break) -->
  258. <!ELEMENT br EMPTY>
  259. <!ATTLIST br
  260.     %common.att; 
  261. >
  262. <!-- Image Object (typically an inlined image) -->
  263. <!-- FIXME (SM): should we have the notion of soft links even here
  264.          for inlined objects? -->
  265. <!ELEMENT img EMPTY>
  266. <!ATTLIST img
  267.     src CDATA #REQUIRED
  268.     alt CDATA #REQUIRED
  269.     height CDATA #IMPLIED
  270.     width CDATA #IMPLIED
  271.     usemap CDATA #IMPLIED
  272.     ismap (ismap) #IMPLIED
  273.     %common.att; 
  274. >
  275. <!-- Image Icon (typically an inlined image placed as graphical item) -->
  276. <!-- FIXME (SM): should we have the notion of soft links even here
  277.          for inlined objects? -->
  278. <!ELEMENT icon EMPTY>
  279. <!ATTLIST icon
  280.     src CDATA #REQUIRED
  281.     alt CDATA #REQUIRED
  282.     height CDATA #IMPLIED
  283.     width CDATA #IMPLIED
  284.     %common.att; 
  285. >
  286. <!-- =============================================================== -->
  287. <!-- Blocks definitions -->
  288. <!-- =============================================================== -->
  289. <!ENTITY % local.blocks "">
  290. <!ENTITY % local.lists "">
  291. <!ENTITY % paragraphs "p|source|note|fixme|figure">
  292. <!ENTITY % tables "table">
  293. <!ENTITY % lists "ol|ul|sl|dl %local.lists;">
  294. <!ENTITY % blocks "anchor|%paragraphs;|%tables;|%lists; %local.blocks;">
  295. <!-- ==================================================== -->
  296. <!-- Paragraphs -->
  297. <!-- ==================================================== -->
  298. <!-- Text Paragraph (normally vertically space delimited) -->
  299. <!ELEMENT p (%content.mix;)*>
  300. <!ATTLIST p
  301.     %common.att; 
  302. >
  303. <!-- Source Paragraph (normally space is preserved) -->
  304. <!ELEMENT source (%content.mix;)*>
  305. <!ATTLIST source
  306.     %common.att; 
  307.     %xmlspace.att; 
  308. >
  309. <!-- Note Paragraph (normally shown encapsulated) -->
  310. <!ELEMENT note (%content.mix;)*>
  311. <!ATTLIST note
  312.     %common.att; 
  313. >
  314. <!-- Fixme Paragraph (normally not shown) -->
  315. <!ELEMENT fixme (%content.mix;)*>
  316. <!-- the "author" attribute should match the "key" attribute of the
  317.          <author> element -->
  318. <!ATTLIST fixme
  319.     author CDATA #REQUIRED
  320.     %common.att; 
  321. >
  322. <!-- ==================================================== -->
  323. <!-- Tables -->
  324. <!-- ==================================================== -->
  325. <!-- Attributes that indicate the spanning of the table cell -->
  326. <!ENTITY % cell.span 'colspan CDATA "1"
  327.          rowspan CDATA "1"'>
  328. <!-- Table element -->
  329. <!ELEMENT table (caption?, tr+)>
  330. <!ATTLIST table
  331.     %common.att; 
  332. >
  333. <!-- The table title -->
  334. <!ELEMENT caption (%content.mix;)*>
  335. <!ATTLIST caption
  336.     %common.att; 
  337. >
  338. <!-- The table row element -->
  339. <!ELEMENT tr (th | td)+>
  340. <!ATTLIST tr
  341.     %common.att; 
  342. >
  343. <!-- The table row header element -->
  344. <!ELEMENT th (%content.mix;)*>
  345. <!ATTLIST th
  346.     %common.att; 
  347.     %cell.span; 
  348. >
  349. <!-- The table row description element -->
  350. <!ELEMENT td (%content.mix;)*>
  351. <!ATTLIST td
  352.     %common.att; 
  353.     %cell.span; 
  354. >
  355. <!-- ==================================================== -->
  356. <!-- Lists -->
  357. <!-- ==================================================== -->
  358. <!-- Unordered list (typically bulleted) -->
  359. <!ELEMENT ul (li | %lists;)+>
  360. <!--    spacing attribute:
  361.             Use "normal" to get normal vertical spacing for items;
  362.             use "compact" to get less spacing.  The default is dependent
  363.             on the stylesheet. -->
  364. <!ATTLIST ul
  365.     %common.att; 
  366.     spacing (normal | compact) #IMPLIED
  367. >
  368. <!-- Ordered list (typically numbered) -->
  369. <!ELEMENT ol (li | %lists;)+>
  370. <!--    spacing attribute:
  371.             Use "normal" to get normal vertical spacing for items;
  372.             use "compact" to get less spacing.  The default is dependent
  373.             on the stylesheet. -->
  374. <!ATTLIST ol
  375.     %common.att; 
  376.     spacing (normal | compact) #IMPLIED
  377. >
  378. <!-- Simple list (typically with no mark) -->
  379. <!ELEMENT sl (li | %lists;)+>
  380. <!ATTLIST sl
  381.     %common.att; 
  382. >
  383. <!-- List item -->
  384. <!ELEMENT li (%content.mix; | %lists;)*>
  385. <!ATTLIST li
  386.     %common.att; 
  387. >
  388. <!-- Definition list (typically two-column) -->
  389. <!ELEMENT dl (dt, dd)+>
  390. <!ATTLIST dl
  391.     %common.att; 
  392. >
  393. <!-- Definition term -->
  394. <!ELEMENT dt (%content.mix;)*>
  395. <!ATTLIST dt
  396.     %common.att; 
  397. >
  398. <!-- Definition description -->
  399. <!ELEMENT dd (%content.mix;)*>
  400. <!ATTLIST dd
  401.     %common.att; 
  402. >
  403. <!-- ==================================================== -->
  404. <!-- Special Blocks -->
  405. <!-- ==================================================== -->
  406. <!-- Image Block (typically a separated and centered image) -->
  407. <!-- FIXME (SM): should we have the notion of soft links even here
  408.          for inlined objects? -->
  409. <!ELEMENT figure EMPTY>
  410. <!ATTLIST figure
  411.     src CDATA #REQUIRED
  412.     alt CDATA #REQUIRED
  413.     height CDATA #IMPLIED
  414.     width CDATA #IMPLIED
  415.     usemap CDATA #IMPLIED
  416.     ismap (ismap) #IMPLIED
  417.     %common.att; 
  418. >
  419. <!-- =============================================================== -->
  420. <!-- Document -->
  421. <!-- =============================================================== -->
  422. <!ELEMENT document (header?, body, footer?)>
  423. <!ATTLIST document
  424.     %common.att; 
  425. >
  426. <!-- ==================================================== -->
  427. <!-- Header -->
  428. <!-- ==================================================== -->
  429. <!ENTITY % local.headers "">
  430. <!ELEMENT header (title, subtitle?, version?, type?, authors,
  431.                       notice*, abstract? %local.headers;)>
  432. <!ATTLIST header
  433.     %common.att; 
  434. >
  435. <!ELEMENT title (%text;)>
  436. <!ATTLIST title
  437.     %common.att; 
  438. >
  439. <!ELEMENT subtitle (%text;)>
  440. <!ATTLIST subtitle
  441.     %common.att; 
  442. >
  443. <!ELEMENT version (%text;)>
  444. <!ATTLIST version
  445.     %common.att; 
  446. >
  447. <!ELEMENT type (%text;)>
  448. <!ATTLIST type
  449.     %common.att; 
  450. >
  451. <!ELEMENT authors (person+)>
  452. <!ATTLIST authors
  453.     %common.att; 
  454. >
  455. <!ELEMENT notice (%content.mix;)*>
  456. <!ATTLIST notice
  457.     %common.att; 
  458. >
  459. <!ELEMENT abstract (%content.mix;)*>
  460. <!ATTLIST abstract
  461.     %common.att; 
  462. >
  463. <!-- ==================================================== -->
  464. <!-- Body -->
  465. <!-- ==================================================== -->
  466. <!ENTITY % local.sections "">
  467. <!ENTITY % sections "s1|anchor|figure %local.sections;">
  468. <!ELEMENT body (%sections;)+>
  469. <!ATTLIST body
  470.     %common.att; 
  471. >
  472. <!ELEMENT s1 (s2 | %blocks;)*>
  473. <!ATTLIST s1
  474.     %title.att; %common.att;
  475. >
  476. <!ELEMENT s2 (s3 | %blocks;)*>
  477. <!ATTLIST s2
  478.     %title.att; %common.att;
  479. >
  480. <!ELEMENT s3 (s4 | %blocks;)*>
  481. <!ATTLIST s3
  482.     %title.att; %common.att;
  483. >
  484. <!ELEMENT s4 (%blocks;)*>
  485. <!ATTLIST s4
  486.     %title.att; %common.att;
  487. >
  488. <!-- ==================================================== -->
  489. <!-- Footer -->
  490. <!-- ==================================================== -->
  491. <!ENTITY % local.footers "">
  492. <!ELEMENT footer (legal %local.footers;)>
  493. <!ELEMENT legal (%content.mix;)*>
  494. <!ATTLIST legal
  495.     %common.att; 
  496. >
  497. <!-- =============================================================== -->
  498. <!-- End of DTD -->
  499. <!-- =============================================================== -->
  500.