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