/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
- <!-- ....................................................................... -->
- <!-- XHTML 1.1 Document Model Module ...................................... -->
- <!-- file: xhtml11-model-1.mod
- This is XHTML 1.1, a reformulation of HTML as a modular XML application.
- Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
- Revision: $Id: xhtml11-model-1.mod 160 2003-01-14 22:49:50Z spestov $ SMI
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
- PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
- SYSTEM "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod"
- Revisions:
- (none)
- ....................................................................... -->
- <!-- XHTML 1.1 Document Model
- This module describes the groupings of elements that make up
- common content models for XHTML elements.
- XHTML has three basic content models:
- %Inline.mix; character-level elements
- %Block.mix; block-like elements, eg., paragraphs and lists
- %Flow.mix; any block or inline elements
- Any parameter entities declared in this module may be used
- to create element content models, but the above three are
- considered 'global' (insofar as that term applies here).
- The reserved word '#PCDATA' (indicating a text string) is now
- included explicitly with each element declaration that is
- declared as mixed content, as XML requires that this token
- occur first in a content model specification.
- -->
- <!-- Extending the Model
- While in some cases this module may need to be rewritten to
- accommodate changes to the document model, minor extensions
- may be accomplished by redeclaring any of the three *.extra;
- parameter entities to contain extension element types as follows:
- %Misc.extra; whose parent may be any block or
- inline element.
- %Inline.extra; whose parent may be any inline element.
- %Block.extra; whose parent may be any block element.
- If used, these parameter entities must be an OR-separated
- list beginning with an OR separator ("|"), eg., "| a | b | c"
- All block and inline *.class parameter entities not part
- of the *struct.class classes begin with "| " to allow for
- exclusion from mixes.
- -->
- <!-- .............. Optional Elements in head .................. -->
- <!ENTITY % HeadOpts.mix
- "( %script.qname; | %style.qname; | %meta.qname;
- | %link.qname; | %object.qname; )*"
- >
- <!-- ................. Miscellaneous Elements .................. -->
- <!-- ins and del are used to denote editing changes
- -->
- <!ENTITY % Edit.class "| %ins.qname; | %del.qname;" >
- <!-- script and noscript are used to contain scripts
- and alternative content
- -->
- <!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >
- <!ENTITY % Misc.extra "" >
- <!-- These elements are neither block nor inline, and can
- essentially be used anywhere in the document body.
- -->
- <!ENTITY % Misc.class
- "%Edit.class;
- %Script.class;
- %Misc.extra;"
- >
- <!-- .................... Inline Elements ...................... -->
- <!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >
- <!ENTITY % InlPhras.class
- "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
- | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
- | %abbr.qname; | %acronym.qname; | %q.qname;" >
- <!ENTITY % InlPres.class
- "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
- | %small.qname; | %sub.qname; | %sup.qname;" >
- <!ENTITY % I18n.class "| %bdo.qname;" >
- <!ENTITY % Anchor.class "| %a.qname;" >
- <!ENTITY % InlSpecial.class
- "| %img.qname; | %map.qname;
- | %object.qname;" >
- <!ENTITY % InlForm.class
- "| %input.qname; | %select.qname; | %textarea.qname;
- | %label.qname; | %button.qname;" >
- <!ENTITY % Inline.extra "" >
- <!ENTITY % Ruby.class "| %ruby.qname;" >
- <!-- %Inline.class; includes all inline elements,
- used as a component in mixes
- -->
- <!ENTITY % Inline.class
- "%InlStruct.class;
- %InlPhras.class;
- %InlPres.class;
- %I18n.class;
- %Anchor.class;
- %InlSpecial.class;
- %InlForm.class;
- %Ruby.class;
- %Inline.extra;"
- >
- <!-- %InlNoRuby.class; includes all inline elements
- except ruby, used as a component in mixes
- -->
- <!ENTITY % InlNoRuby.class
- "%InlStruct.class;
- %InlPhras.class;
- %InlPres.class;
- %I18n.class;
- %Anchor.class;
- %InlSpecial.class;
- %InlForm.class;
- %Inline.extra;"
- >
- <!-- %NoRuby.content; includes all inlines except ruby
- -->
- <!ENTITY % NoRuby.content
- "( #PCDATA
- | %InlNoRuby.class;
- %Misc.class; )*"
- >
- <!-- %InlNoAnchor.class; includes all non-anchor inlines,
- used as a component in mixes
- -->
- <!ENTITY % InlNoAnchor.class
- "%InlStruct.class;
- %InlPhras.class;
- %InlPres.class;
- %I18n.class;
- %InlSpecial.class;
- %InlForm.class;
- %Ruby.class;
- %Inline.extra;"
- >
- <!-- %InlNoAnchor.mix; includes all non-anchor inlines
- -->
- <!ENTITY % InlNoAnchor.mix
- "%InlNoAnchor.class;
- %Misc.class;"
- >
- <!-- %Inline.mix; includes all inline elements, including %Misc.class;
- -->
- <!ENTITY % Inline.mix
- "%Inline.class;
- %Misc.class;"
- >
- <!-- ..................... Block Elements ...................... -->
- <!-- In the HTML 4.0 DTD, heading and list elements were included
- in the %block; parameter entity. The %Heading.class; and
- %List.class; parameter entities must now be included explicitly
- on element declarations where desired.
- -->
- <!ENTITY % Heading.class
- "%h1.qname; | %h2.qname; | %h3.qname;
- | %h4.qname; | %h5.qname; | %h6.qname;" >
- <!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" >
- <!ENTITY % Table.class "| %table.qname;" >
- <!ENTITY % Form.class "| %form.qname;" >
- <!ENTITY % Fieldset.class "| %fieldset.qname;" >
- <!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >
- <!ENTITY % BlkPhras.class
- "| %pre.qname; | %blockquote.qname; | %address.qname;" >
- <!ENTITY % BlkPres.class "| %hr.qname;" >
- <!ENTITY % BlkSpecial.class
- "%Table.class;
- %Form.class;
- %Fieldset.class;"
- >
- <!ENTITY % Block.extra "" >
- <!-- %Block.class; includes all block elements,
- used as an component in mixes
- -->
- <!ENTITY % Block.class
- "%BlkStruct.class;
- %BlkPhras.class;
- %BlkPres.class;
- %BlkSpecial.class;
- %Block.extra;"
- >
- <!-- %Block.mix; includes all block elements plus %Misc.class;
- -->
- <!ENTITY % Block.mix
- "%Heading.class;
- | %List.class;
- | %Block.class;
- %Misc.class;"
- >
- <!-- ................ All Content Elements .................. -->
- <!-- %Flow.mix; includes all text content, block and inline
- -->
- <!ENTITY % Flow.mix
- "%Heading.class;
- | %List.class;
- | %Block.class;
- | %Inline.class;
- %Misc.class;"
- >
- <!-- end of xhtml11-model-1.mod -->