/bundles/plugins-trunk/XML/xml/dtds/xhtml11-model-1.mod

# · Unknown · 250 lines · 194 code · 56 blank · 0 comment · 0 complexity · d0e2257966466246c7c9e99a923d30ca MD5 · raw file

  1. <!-- ....................................................................... -->
  2. <!-- XHTML 1.1 Document Model Module ...................................... -->
  3. <!-- file: xhtml11-model-1.mod
  4. This is XHTML 1.1, a reformulation of HTML as a modular XML application.
  5. Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
  6. Revision: $Id: xhtml11-model-1.mod 160 2003-01-14 22:49:50Z spestov $ SMI
  7. This DTD module is identified by the PUBLIC and SYSTEM identifiers:
  8. PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
  9. SYSTEM "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod"
  10. Revisions:
  11. (none)
  12. ....................................................................... -->
  13. <!-- XHTML 1.1 Document Model
  14. This module describes the groupings of elements that make up
  15. common content models for XHTML elements.
  16. XHTML has three basic content models:
  17. %Inline.mix; character-level elements
  18. %Block.mix; block-like elements, eg., paragraphs and lists
  19. %Flow.mix; any block or inline elements
  20. Any parameter entities declared in this module may be used
  21. to create element content models, but the above three are
  22. considered 'global' (insofar as that term applies here).
  23. The reserved word '#PCDATA' (indicating a text string) is now
  24. included explicitly with each element declaration that is
  25. declared as mixed content, as XML requires that this token
  26. occur first in a content model specification.
  27. -->
  28. <!-- Extending the Model
  29. While in some cases this module may need to be rewritten to
  30. accommodate changes to the document model, minor extensions
  31. may be accomplished by redeclaring any of the three *.extra;
  32. parameter entities to contain extension element types as follows:
  33. %Misc.extra; whose parent may be any block or
  34. inline element.
  35. %Inline.extra; whose parent may be any inline element.
  36. %Block.extra; whose parent may be any block element.
  37. If used, these parameter entities must be an OR-separated
  38. list beginning with an OR separator ("|"), eg., "| a | b | c"
  39. All block and inline *.class parameter entities not part
  40. of the *struct.class classes begin with "| " to allow for
  41. exclusion from mixes.
  42. -->
  43. <!-- .............. Optional Elements in head .................. -->
  44. <!ENTITY % HeadOpts.mix
  45. "( %script.qname; | %style.qname; | %meta.qname;
  46. | %link.qname; | %object.qname; )*"
  47. >
  48. <!-- ................. Miscellaneous Elements .................. -->
  49. <!-- ins and del are used to denote editing changes
  50. -->
  51. <!ENTITY % Edit.class "| %ins.qname; | %del.qname;" >
  52. <!-- script and noscript are used to contain scripts
  53. and alternative content
  54. -->
  55. <!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >
  56. <!ENTITY % Misc.extra "" >
  57. <!-- These elements are neither block nor inline, and can
  58. essentially be used anywhere in the document body.
  59. -->
  60. <!ENTITY % Misc.class
  61. "%Edit.class;
  62. %Script.class;
  63. %Misc.extra;"
  64. >
  65. <!-- .................... Inline Elements ...................... -->
  66. <!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >
  67. <!ENTITY % InlPhras.class
  68. "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
  69. | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
  70. | %abbr.qname; | %acronym.qname; | %q.qname;" >
  71. <!ENTITY % InlPres.class
  72. "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
  73. | %small.qname; | %sub.qname; | %sup.qname;" >
  74. <!ENTITY % I18n.class "| %bdo.qname;" >
  75. <!ENTITY % Anchor.class "| %a.qname;" >
  76. <!ENTITY % InlSpecial.class
  77. "| %img.qname; | %map.qname;
  78. | %object.qname;" >
  79. <!ENTITY % InlForm.class
  80. "| %input.qname; | %select.qname; | %textarea.qname;
  81. | %label.qname; | %button.qname;" >
  82. <!ENTITY % Inline.extra "" >
  83. <!ENTITY % Ruby.class "| %ruby.qname;" >
  84. <!-- %Inline.class; includes all inline elements,
  85. used as a component in mixes
  86. -->
  87. <!ENTITY % Inline.class
  88. "%InlStruct.class;
  89. %InlPhras.class;
  90. %InlPres.class;
  91. %I18n.class;
  92. %Anchor.class;
  93. %InlSpecial.class;
  94. %InlForm.class;
  95. %Ruby.class;
  96. %Inline.extra;"
  97. >
  98. <!-- %InlNoRuby.class; includes all inline elements
  99. except ruby, used as a component in mixes
  100. -->
  101. <!ENTITY % InlNoRuby.class
  102. "%InlStruct.class;
  103. %InlPhras.class;
  104. %InlPres.class;
  105. %I18n.class;
  106. %Anchor.class;
  107. %InlSpecial.class;
  108. %InlForm.class;
  109. %Inline.extra;"
  110. >
  111. <!-- %NoRuby.content; includes all inlines except ruby
  112. -->
  113. <!ENTITY % NoRuby.content
  114. "( #PCDATA
  115. | %InlNoRuby.class;
  116. %Misc.class; )*"
  117. >
  118. <!-- %InlNoAnchor.class; includes all non-anchor inlines,
  119. used as a component in mixes
  120. -->
  121. <!ENTITY % InlNoAnchor.class
  122. "%InlStruct.class;
  123. %InlPhras.class;
  124. %InlPres.class;
  125. %I18n.class;
  126. %InlSpecial.class;
  127. %InlForm.class;
  128. %Ruby.class;
  129. %Inline.extra;"
  130. >
  131. <!-- %InlNoAnchor.mix; includes all non-anchor inlines
  132. -->
  133. <!ENTITY % InlNoAnchor.mix
  134. "%InlNoAnchor.class;
  135. %Misc.class;"
  136. >
  137. <!-- %Inline.mix; includes all inline elements, including %Misc.class;
  138. -->
  139. <!ENTITY % Inline.mix
  140. "%Inline.class;
  141. %Misc.class;"
  142. >
  143. <!-- ..................... Block Elements ...................... -->
  144. <!-- In the HTML 4.0 DTD, heading and list elements were included
  145. in the %block; parameter entity. The %Heading.class; and
  146. %List.class; parameter entities must now be included explicitly
  147. on element declarations where desired.
  148. -->
  149. <!ENTITY % Heading.class
  150. "%h1.qname; | %h2.qname; | %h3.qname;
  151. | %h4.qname; | %h5.qname; | %h6.qname;" >
  152. <!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" >
  153. <!ENTITY % Table.class "| %table.qname;" >
  154. <!ENTITY % Form.class "| %form.qname;" >
  155. <!ENTITY % Fieldset.class "| %fieldset.qname;" >
  156. <!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >
  157. <!ENTITY % BlkPhras.class
  158. "| %pre.qname; | %blockquote.qname; | %address.qname;" >
  159. <!ENTITY % BlkPres.class "| %hr.qname;" >
  160. <!ENTITY % BlkSpecial.class
  161. "%Table.class;
  162. %Form.class;
  163. %Fieldset.class;"
  164. >
  165. <!ENTITY % Block.extra "" >
  166. <!-- %Block.class; includes all block elements,
  167. used as an component in mixes
  168. -->
  169. <!ENTITY % Block.class
  170. "%BlkStruct.class;
  171. %BlkPhras.class;
  172. %BlkPres.class;
  173. %BlkSpecial.class;
  174. %Block.extra;"
  175. >
  176. <!-- %Block.mix; includes all block elements plus %Misc.class;
  177. -->
  178. <!ENTITY % Block.mix
  179. "%Heading.class;
  180. | %List.class;
  181. | %Block.class;
  182. %Misc.class;"
  183. >
  184. <!-- ................ All Content Elements .................. -->
  185. <!-- %Flow.mix; includes all text content, block and inline
  186. -->
  187. <!ENTITY % Flow.mix
  188. "%Heading.class;
  189. | %List.class;
  190. | %Block.class;
  191. | %Inline.class;
  192. %Misc.class;"
  193. >
  194. <!-- end of xhtml11-model-1.mod -->