# ....................................................................... # XHTML 1.1 DTD ........................................................ # file: xhtml11.dtd # XHTML 1.1 DTD # # This is XHTML, a reformulation of HTML as a modular XML application. # # The Extensible HyperText Markup Language (XHTML) # Copyright 1998-2000 World Wide Web Consortium # (Massachusetts Institute of Technology, Institut National de # Recherche en Informatique et en Automatique, Keio University). # All Rights Reserved. # # Permission to use, copy, modify and distribute the XHTML DTD and its # accompanying documentation for any purpose and without fee is hereby # granted in perpetuity, provided that the above copyright notice and # this paragraph appear in all copies. The copyright holders make no # representation about the suitability of the DTD for any purpose. # # It is provided "as is" without expressed or implied warranty. # # Author: Murray M. Altheim # Revision: $Id$ # # This is the driver file for version 1.1 of the XHTML DTD. # # Please use this formal public identifier to identify it: # # "-//W3C//DTD XHTML 1.1//EN" # Use this URI to identify the default namespace: # # "http://www.w3.org/1999/xhtml" # # See the Qualified Names module for information # on the use of namespace prefixes in the DTD. # Reserved for use with the XLink namespace: default namespace = "http://www.w3.org/1999/xhtml" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" XLINK.xmlns.attrib = empty # For example, if you are using XHTML 1.1 directly, use the FPI # in the DOCTYPE declaration, with the xmlns attribute on the # document element to identify the default namespace: # # # # # ... # # # Revisions: # (none) # reserved for future use with document profiles # Bidirectional Text features # This feature-test entity is used to declare elements # and attributes used for bidirectional text support. # ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: # Pre-Framework Redeclaration placeholder .................... # this serves as a location to insert markup declarations # into the DTD prior to the framework declarations. # Inline Style Module ........................................ # ...................................................................... # XHTML Inline Style Module ........................................... # file: xhtml-inlstyle-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Inline Style 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod" # # Revisions: # (none) # ....................................................................... # Inline Style # # This module declares the 'style' attribute, used to support inline # style markup. This module must be instantiated prior to the XHTML # Common Attributes module in order to be included in %Core.attrib;. style.attrib = attribute style { text }? Core.extra.attrib = style.attrib # end of xhtml-inlstyle-1.mod # declare Document Model module instantiated in framework # Modular Framework Module (required) ......................... # ...................................................................... # XHTML Modular Framework Module ...................................... # file: xhtml-framework-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod" # # Revisions: # (none) # ....................................................................... # Modular Framework # # This required module instantiates the modules needed # to support the XHTML modularization model, including: # # + notations # + datatypes # + namespace-qualified names # + common attributes # + document model # + character entities # # The Intrinsic Events module is ignored by default but # occurs in this module because it must be instantiated # prior to Attributes but after Datatypes. # ...................................................................... # XHTML Notations Module .............................................. # file: xhtml-notations-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-notations-1.mod" # # Revisions: # (none) # ....................................................................... # Notations # # defines the following notations, many of these imported from # other specifications and standards. When an existing FPI is # known, it is incorporated here. # XML Notations ..................................... # SGML and XML Notations ............................ # W3C XML 1.0 Recommendation # XML 1.0 CDATA # SGML Formal Public Identifiers # XHTML Notations ................................... # Length defined for cellpadding/cellspacing # nn for pixels or nn% for percentage length # space-separated list of link types # single or comma-separated list of media descriptors # pixel, percentage, or relative # one or more digits (NUMBER) # integer representing length in pixels # script expression # textual content # Imported Notations ................................ # a single character from [ISO10646] # a character encoding, as per [RFC2045] # a space separated list of character encodings, as per [RFC2045] # media type, as per [RFC2045] # comma-separated list of media types, as per [RFC2045] # date and time information. ISO date format # a language code, as per [RFC3066] # a Uniform Resource Identifier, see [URI] # a space-separated list of Uniform Resource Identifiers, see [URI] # end of xhtml-notations-1.mod # ...................................................................... # XHTML Datatypes Module .............................................. # file: xhtml-datatypes-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-datatypes-1.mod" # # Revisions: # (none) # ....................................................................... # Datatypes # # defines containers for the following datatypes, many of # these imported from other specifications and standards. # Length defined for cellpadding/cellspacing # nn for pixels or nn% for percentage length Length.datatype = string # space-separated list of link types LinkTypes.datatype = xsd:NMTOKENS # single or comma-separated list of media descriptors MediaDesc.datatype = string # pixel, percentage, or relative MultiLength.datatype = string # one or more digits (NUMBER) Number.datatype = string # integer representing length in pixels Pixels.datatype = string # script expression Script.datatype = string # textual content Text.datatype = string # Imported Datatypes ................................ # a single character from [ISO10646] Character.datatype = string # a character encoding, as per [RFC2045] Charset.datatype = string # a space separated list of character encodings, as per [RFC2045] Charsets.datatype = string # media type, as per [RFC2045] ContentType.datatype = string # comma-separated list of media types, as per [RFC2045] ContentTypes.datatype = string # date and time information. ISO date format Datetime.datatype = string # formal public identifier, as per [ISO8879] FPI.datatype = string # a language code, as per [RFC3066] LanguageCode.datatype = xsd:NMTOKEN # a Uniform Resource Identifier, see [URI] URI.datatype = string # a space-separated list of Uniform Resource Identifiers, see [URI] URIs.datatype = string # end of xhtml-datatypes-1.mod # placeholder for XLink support module # ....................................................................... # XHTML Qname Module ................................................... # file: xhtml-qname-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-qname-1.mod" # # Revisions: # #2000-10-22: added qname declarations for ruby elements # ....................................................................... # XHTML Qname (Qualified Name) Module # # This module is contained in two parts, labeled Section 'A' and 'B': # # Section A declares parameter entities to support namespace- # qualified names, namespace declarations, and name prefixing # for XHTML and extensions. # # Section B declares parameter entities used to provide # namespace-qualified names for all XHTML element types: # # %applet.qname; the xmlns-qualified name for # %base.qname; the xmlns-qualified name for # ... # # XHTML extensions would create a module similar to this one. # Included in the XHTML distribution is a template module # ('template-qname-1.mod') suitable for this purpose. # Section A: XHTML XML Namespace Framework :::::::::::::::::::: # 1. Declare a %XHTML.prefixed; conditional section keyword, used # to activate namespace prefixing. The default value should # inherit '%NS.prefixed;' from the DTD driver, so that unless # overridden, the default behaviour follows the overall DTD # prefixing scheme. # 2. Declare a parameter entity (eg., %XHTML.xmlns;) containing # the URI reference used to identify the XHTML namespace: # 3. Declare parameter entities (eg., %XHTML.prefix;) containing # the default namespace prefix string(s) to use when prefixing # is enabled. This may be overridden in the DTD driver or the # internal subset of an document instance. If no default prefix # is desired, this may be declared as an empty string. # # NOTE: As specified in [XMLNAMES], the namespace prefix serves # as a proxy for the URI reference, and is not in itself significant. # 4. Declare parameter entities (eg., %XHTML.pfx;) containing the # colonized prefix(es) (eg., '%XHTML.prefix;:') used when # prefixing is active, an empty string when it is not. # declare qualified name extensions here ............ # 5. The parameter entity %XHTML.xmlns.extra.attrib; may be # redeclared to contain any non-XHTML namespace declaration # attributes for namespaces embedded in XHTML. The default # is an empty string. XLink should be included here if used # in the DTD. # The remainder of Section A is only followed in XHTML, not extensions. # Declare a parameter entity %NS.decl.attrib; containing # all XML Namespace declarations used in the DTD, plus the # xmlns declaration for XHTML, its form dependent on whether # prefixing is active. # This is a placeholder for future XLink support. # Declare a parameter entity %NS.decl.attrib; containing all # XML namespace declaration attributes used by XHTML, including # a default xmlns attribute when prefixing is inactive. XHTML.xmlns.attrib = XLINK.xmlns.attrib # placeholder for qualified name redeclarations # Section B: XHTML Qualified Names ::::::::::::::::::::::::::::: # 6. This section declares parameter entities used to provide # namespace-qualified names for all XHTML element types. # module: xhtml-applet-1.mod # module: xhtml-base-1.mod # module: xhtml-bdo-1.mod # module: xhtml-blkphras-1.mod # module: xhtml-blkpres-1.mod # module: xhtml-blkstruct-1.mod # module: xhtml-edit-1.mod # module: xhtml-form-1.mod # module: xhtml-hypertext-1.mod # module: xhtml-image-1.mod # module: xhtml-inlphras-1.mod # module: xhtml-inlpres-1.mod # module: xhtml-inlstruct-1.mod # module: xhtml-ismap-1.mod (also csismap, ssismap) # module: xhtml-link-1.mod # module: xhtml-list-1.mod # module: xhtml-meta-1.mod # module: xhtml-param-1.mod # module: xhtml-object-1.mod # module: xhtml-script-1.mod # module: xhtml-struct-1.mod # module: xhtml-style-1.mod # module: xhtml-table-1.mod # module: xhtml-ruby-1.mod # Provisional XHTML 2.0 Qualified Names ...................... # module: xhtml-image-2.mod # end of xhtml-qname-1.mod # ...................................................................... # XHTML Intrinsic Events Module ....................................... # file: xhtml-events-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-events-1.mod" # # Revisions: # (none) # ....................................................................... # Intrinsic Event Attributes # # These are the event attributes defined in HTML 4.0, # Section 18.2.3 "Intrinsic Events". This module must be # instantiated prior to the Attributes Module but after # the Datatype Module in the Modular Framework module. # # "Note: Authors of HTML documents are advised that changes # are likely to occur in the realm of intrinsic events # (e.g., how scripts are bound to events). Research in # this realm is carried on by members of the W3C Document # Object Model Working Group (see the W3C Web site at # http://www.w3.org/ for more information)." # NOTE: Because the ATTLIST declarations in this module occur # before their respective ELEMENT declarations in other # modules, there may be a dependency on this module that # should be considered if any of the parameter entities used # for element type names (eg., %a.qname;) are redeclared. Events.attrib = attribute onclick { Script.datatype }?, attribute ondblclick { Script.datatype }?, attribute onmousedown { Script.datatype }?, attribute onmouseup { Script.datatype }?, attribute onmouseover { Script.datatype }?, attribute onmousemove { Script.datatype }?, attribute onmouseout { Script.datatype }?, attribute onkeypress { Script.datatype }?, attribute onkeydown { Script.datatype }?, attribute onkeyup { Script.datatype }? # additional attributes on anchor element a.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }? # additional attributes on form element form.attlist &= attribute onsubmit { Script.datatype }?, attribute onreset { Script.datatype }? # additional attributes on label element label.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }? # additional attributes on input element input.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }?, attribute onselect { Script.datatype }?, attribute onchange { Script.datatype }? # additional attributes on select element select.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }?, attribute onchange { Script.datatype }? # additional attributes on textarea element textarea.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }?, attribute onselect { Script.datatype }?, attribute onchange { Script.datatype }? # additional attributes on button element button.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }? # additional attributes on body element body.attlist &= attribute onload { Script.datatype }?, attribute onunload { Script.datatype }? # additional attributes on area element area.attlist &= attribute onfocus { Script.datatype }?, attribute onblur { Script.datatype }? # end of xhtml-events-1.mod # ...................................................................... # XHTML Common Attributes Module ...................................... # file: xhtml-attribs-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-attribs-1.mod" # # Revisions: # (none) # ....................................................................... # Common Attributes # # This module declares many of the common attributes for the XHTML DTD. # %NS.decl.attrib; is declared in the XHTML Qname module. id.attrib = attribute id { xsd:ID }? class.attrib = attribute class { xsd:NMTOKENS }? title.attrib = attribute title { Text.datatype }? Core.attrib = XHTML.xmlns.attrib, id.attrib, class.attrib, title.attrib, Core.extra.attrib lang.attrib = attribute xml:lang { LanguageCode.datatype }? dir.attrib = attribute dir { "ltr" | "rtl" }? I18n.attrib = dir.attrib, lang.attrib Common.extra.attrib = empty # intrinsic event attributes declared previously Common.attrib = Core.attrib, I18n.attrib, Events.attrib, Common.extra.attrib # end of xhtml-attribs-1.mod # placeholder for content model redeclarations # instantiate the Document Model module declared in the DTD driver # ....................................................................... # 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-2000 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ 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 .................. HeadOpts.mix = (script | style | meta | link | object)* # ................. Miscellaneous Elements .................. # ins and del are used to denote editing changes Edit.class = ins | del # script and noscript are used to contain scripts # and alternative content Script.class = script | noscript Misc.extra = notAllowed # These elements are neither block nor inline, and can # essentially be used anywhere in the document body. Misc.class = Edit.class | Script.class | Misc.extra # .................... Inline Elements ...................... InlStruct.class = br | span InlPhras.class = em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q InlPres.class = tt | i | b | big | small | sub | sup I18n.class = bdo Anchor.class = a InlSpecial.class = img | map | object InlForm.class = input | select | textarea | label | button Inline.extra = notAllowed Ruby.class = ruby # %Inline.class; includes all inline elements, # used as a component in mixes 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 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 NoRuby.content = (text | InlNoRuby.class | Misc.class)* # %InlNoAnchor.class; includes all non-anchor inlines, # used as a component in mixes 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 InlNoAnchor.mix = InlNoAnchor.class | Misc.class # %Inline.mix; includes all inline elements, including %Misc.class; 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. Heading.class = h1 | h2 | h3 | h4 | h5 | h6 List.class = ul | ol | dl Table.class = table Form.class = form Fieldset.class = fieldset BlkStruct.class = p | \div BlkPhras.class = pre | blockquote | address BlkPres.class = hr BlkSpecial.class = Table.class | Form.class | Fieldset.class Block.extra = notAllowed # %Block.class; includes all block elements, # used as an component in mixes Block.class = BlkStruct.class | BlkPhras.class | BlkPres.class | BlkSpecial.class | Block.extra # %Block.mix; includes all block elements plus %Misc.class; Block.mix = Heading.class | List.class | Block.class | Misc.class # ................ All Content Elements .................. # %Flow.mix; includes all text content, block and inline Flow.mix = Heading.class | List.class | Block.class | Inline.class | Misc.class # end of xhtml11-model-1.mod # ...................................................................... # XHTML Character Entities Module ......................................... # file: xhtml-charent-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-charent-1.mod" # # Revisions: # (none) # ....................................................................... # Character Entities for XHTML # # This module declares the set of character entities for XHTML, # including the Latin 1, Symbol and Special character collections. # Portions (C) International Organization for Standardization 1986 # Permission to copy in any form is granted for use with # conforming SGML systems and applications as defined in # ISO 8879, provided this notice is included in all copies. # Character entity set. Typical invocation: # # %HTMLlat1; # no-break space = non-breaking space, # U+00A0 ISOnum # inverted exclamation mark, U+00A1 ISOnum # cent sign, U+00A2 ISOnum # pound sign, U+00A3 ISOnum # currency sign, U+00A4 ISOnum # yen sign = yuan sign, U+00A5 ISOnum # broken bar = broken vertical bar, # U+00A6 ISOnum # section sign, U+00A7 ISOnum # diaeresis = spacing diaeresis, # U+00A8 ISOdia # copyright sign, U+00A9 ISOnum # feminine ordinal indicator, U+00AA ISOnum # left-pointing double angle quotation mark # = left pointing guillemet, U+00AB ISOnum # not sign = discretionary hyphen, # U+00AC ISOnum # soft hyphen = discretionary hyphen, # U+00AD ISOnum # registered sign = registered trade mark sign, # U+00AE ISOnum # macron = spacing macron = overline # = APL overbar, U+00AF ISOdia # degree sign, U+00B0 ISOnum # plus-minus sign = plus-or-minus sign, # U+00B1 ISOnum # superscript two = superscript digit two # = squared, U+00B2 ISOnum # superscript three = superscript digit three # = cubed, U+00B3 ISOnum # acute accent = spacing acute, # U+00B4 ISOdia # micro sign, U+00B5 ISOnum # pilcrow sign = paragraph sign, # U+00B6 ISOnum # middle dot = Georgian comma # = Greek middle dot, U+00B7 ISOnum # cedilla = spacing cedilla, U+00B8 ISOdia # superscript one = superscript digit one, # U+00B9 ISOnum # masculine ordinal indicator, # U+00BA ISOnum # right-pointing double angle quotation mark # = right pointing guillemet, U+00BB ISOnum # vulgar fraction one quarter # = fraction one quarter, U+00BC ISOnum # vulgar fraction one half # = fraction one half, U+00BD ISOnum # vulgar fraction three quarters # = fraction three quarters, U+00BE ISOnum # inverted question mark # = turned question mark, U+00BF ISOnum # latin capital letter A with grave # = latin capital letter A grave, # U+00C0 ISOlat1 # latin capital letter A with acute, # U+00C1 ISOlat1 # latin capital letter A with circumflex, # U+00C2 ISOlat1 # latin capital letter A with tilde, # U+00C3 ISOlat1 # latin capital letter A with diaeresis, # U+00C4 ISOlat1 # latin capital letter A with ring above # = latin capital letter A ring, # U+00C5 ISOlat1 # latin capital letter AE # = latin capital ligature AE, # U+00C6 ISOlat1 # latin capital letter C with cedilla, # U+00C7 ISOlat1 # latin capital letter E with grave, # U+00C8 ISOlat1 # latin capital letter E with acute, # U+00C9 ISOlat1 # latin capital letter E with circumflex, # U+00CA ISOlat1 # latin capital letter E with diaeresis, # U+00CB ISOlat1 # latin capital letter I with grave, # U+00CC ISOlat1 # latin capital letter I with acute, # U+00CD ISOlat1 # latin capital letter I with circumflex, # U+00CE ISOlat1 # latin capital letter I with diaeresis, # U+00CF ISOlat1 # latin capital letter ETH, U+00D0 ISOlat1 # latin capital letter N with tilde, # U+00D1 ISOlat1 # latin capital letter O with grave, # U+00D2 ISOlat1 # latin capital letter O with acute, # U+00D3 ISOlat1 # latin capital letter O with circumflex, # U+00D4 ISOlat1 # latin capital letter O with tilde, # U+00D5 ISOlat1 # latin capital letter O with diaeresis, # U+00D6 ISOlat1 # multiplication sign, U+00D7 ISOnum # latin capital letter O with stroke # = latin capital letter O slash, # U+00D8 ISOlat1 # latin capital letter U with grave, # U+00D9 ISOlat1 # latin capital letter U with acute, # U+00DA ISOlat1 # latin capital letter U with circumflex, # U+00DB ISOlat1 # latin capital letter U with diaeresis, # U+00DC ISOlat1 # latin capital letter Y with acute, # U+00DD ISOlat1 # latin capital letter THORN, # U+00DE ISOlat1 # latin small letter sharp s = ess-zed, # U+00DF ISOlat1 # latin small letter a with grave # = latin small letter a grave, # U+00E0 ISOlat1 # latin small letter a with acute, # U+00E1 ISOlat1 # latin small letter a with circumflex, # U+00E2 ISOlat1 # latin small letter a with tilde, # U+00E3 ISOlat1 # latin small letter a with diaeresis, # U+00E4 ISOlat1 # latin small letter a with ring above # = latin small letter a ring, # U+00E5 ISOlat1 # latin small letter ae # = latin small ligature ae, U+00E6 ISOlat1 # latin small letter c with cedilla, # U+00E7 ISOlat1 # latin small letter e with grave, # U+00E8 ISOlat1 # latin small letter e with acute, # U+00E9 ISOlat1 # latin small letter e with circumflex, # U+00EA ISOlat1 # latin small letter e with diaeresis, # U+00EB ISOlat1 # latin small letter i with grave, # U+00EC ISOlat1 # latin small letter i with acute, # U+00ED ISOlat1 # latin small letter i with circumflex, # U+00EE ISOlat1 # latin small letter i with diaeresis, # U+00EF ISOlat1 # latin small letter eth, U+00F0 ISOlat1 # latin small letter n with tilde, # U+00F1 ISOlat1 # latin small letter o with grave, # U+00F2 ISOlat1 # latin small letter o with acute, # U+00F3 ISOlat1 # latin small letter o with circumflex, # U+00F4 ISOlat1 # latin small letter o with tilde, # U+00F5 ISOlat1 # latin small letter o with diaeresis, # U+00F6 ISOlat1 # division sign, U+00F7 ISOnum # latin small letter o with stroke, # = latin small letter o slash, # U+00F8 ISOlat1 # latin small letter u with grave, # U+00F9 ISOlat1 # latin small letter u with acute, # U+00FA ISOlat1 # latin small letter u with circumflex, # U+00FB ISOlat1 # latin small letter u with diaeresis, # U+00FC ISOlat1 # latin small letter y with acute, # U+00FD ISOlat1 # latin small letter thorn with, # U+00FE ISOlat1 # latin small letter y with diaeresis, # U+00FF ISOlat1 # Mathematical, Greek and Symbolic characters for HTML # Character entity set. Typical invocation: # # %HTMLsymbol; # Portions (C) International Organization for Standardization 1986: # Permission to copy in any form is granted for use with # conforming SGML systems and applications as defined in # ISO 8879, provided this notice is included in all copies. # Relevant ISO entity set is given unless names are newly introduced. # New names (i.e., not in ISO 8879 list) do not clash with any # existing ISO 8879 entity names. ISO 10646 character numbers # are given for each character, in hex. values are decimal # conversions of the ISO 10646 values and refer to the document # character set. Names are Unicode names. # Latin Extended-B # latin small f with hook = function # = florin, U+0192 ISOtech # Greek # greek capital letter alpha, U+0391 # greek capital letter beta, U+0392 # greek capital letter gamma, # U+0393 ISOgrk3 # greek capital letter delta, # U+0394 ISOgrk3 # greek capital letter epsilon, U+0395 # greek capital letter zeta, U+0396 # greek capital letter eta, U+0397 # greek capital letter theta, # U+0398 ISOgrk3 # greek capital letter iota, U+0399 # greek capital letter kappa, U+039A # greek capital letter lambda, # U+039B ISOgrk3 # greek capital letter mu, U+039C # greek capital letter nu, U+039D # greek capital letter xi, U+039E ISOgrk3 # greek capital letter omicron, U+039F # greek capital letter pi, U+03A0 ISOgrk3 # greek capital letter rho, U+03A1 # there is no Sigmaf, and no U+03A2 character either # greek capital letter sigma, # U+03A3 ISOgrk3 # greek capital letter tau, U+03A4 # greek capital letter upsilon, # U+03A5 ISOgrk3 # greek capital letter phi, # U+03A6 ISOgrk3 # greek capital letter chi, U+03A7 # greek capital letter psi, # U+03A8 ISOgrk3 # greek capital letter omega, # U+03A9 ISOgrk3 # greek small letter alpha, # U+03B1 ISOgrk3 # greek small letter beta, U+03B2 ISOgrk3 # greek small letter gamma, # U+03B3 ISOgrk3 # greek small letter delta, # U+03B4 ISOgrk3 # greek small letter epsilon, # U+03B5 ISOgrk3 # greek small letter zeta, U+03B6 ISOgrk3 # greek small letter eta, U+03B7 ISOgrk3 # greek small letter theta, # U+03B8 ISOgrk3 # greek small letter iota, U+03B9 ISOgrk3 # greek small letter kappa, # U+03BA ISOgrk3 # greek small letter lambda, # U+03BB ISOgrk3 # greek small letter mu, U+03BC ISOgrk3 # greek small letter nu, U+03BD ISOgrk3 # greek small letter xi, U+03BE ISOgrk3 # greek small letter omicron, U+03BF NEW # greek small letter pi, U+03C0 ISOgrk3 # greek small letter rho, U+03C1 ISOgrk3 # greek small letter final sigma, # U+03C2 ISOgrk3 # greek small letter sigma, # U+03C3 ISOgrk3 # greek small letter tau, U+03C4 ISOgrk3 # greek small letter upsilon, # U+03C5 ISOgrk3 # greek small letter phi, U+03C6 ISOgrk3 # greek small letter chi, U+03C7 ISOgrk3 # greek small letter psi, U+03C8 ISOgrk3 # greek small letter omega, # U+03C9 ISOgrk3 # greek small letter theta symbol, # U+03D1 NEW # greek upsilon with hook symbol, # U+03D2 NEW # greek pi symbol, U+03D6 ISOgrk3 # General Punctuation # bullet = black small circle, # U+2022 ISOpub # bullet is NOT the same as bullet operator, U+2219 # horizontal ellipsis = three dot leader, # U+2026 ISOpub # prime = minutes = feet, U+2032 ISOtech # double prime = seconds = inches, # U+2033 ISOtech # overline = spacing overscore, # U+203E NEW # fraction slash, U+2044 NEW # Letterlike Symbols # script capital P = power set # = Weierstrass p, U+2118 ISOamso # blackletter capital I = imaginary part, # U+2111 ISOamso # blackletter capital R = real part symbol, # U+211C ISOamso # trade mark sign, U+2122 ISOnum # alef symbol = first transfinite cardinal, # U+2135 NEW # alef symbol is NOT the same as hebrew letter alef, # U+05D0 although the same glyph could be used to depict both characters # Arrows # leftwards arrow, U+2190 ISOnum # upwards arrow, U+2191 ISOnum # rightwards arrow, U+2192 ISOnum # downwards arrow, U+2193 ISOnum # left right arrow, U+2194 ISOamsa # downwards arrow with corner leftwards # = carriage return, U+21B5 NEW # leftwards double arrow, U+21D0 ISOtech # Unicode does not say that lArr is the same as the 'is implied by' arrow # but also does not have any other character for that function. So ? lArr can # be used for 'is implied by' as ISOtech suggests # upwards double arrow, U+21D1 ISOamsa # rightwards double arrow, # U+21D2 ISOtech # Unicode does not say this is the 'implies' character but does not have # another character with this function so ? # rArr can be used for 'implies' as ISOtech suggests # downwards double arrow, U+21D3 ISOamsa # left right double arrow, # U+21D4 ISOamsa # Mathematical Operators # for all, U+2200 ISOtech # partial differential, U+2202 ISOtech # there exists, U+2203 ISOtech # empty set = null set = diameter, # U+2205 ISOamso # nabla = backward difference, # U+2207 ISOtech # element of, U+2208 ISOtech # not an element of, U+2209 ISOtech # contains as member, U+220B ISOtech # should there be a more memorable name than 'ni'? # n-ary product = product sign, # U+220F ISOamsb # prod is NOT the same character as U+03A0 'greek capital letter pi' though # the same glyph might be used for both # n-ary sumation, U+2211 ISOamsb # sum is NOT the same character as U+03A3 'greek capital letter sigma' # though the same glyph might be used for both # minus sign, U+2212 ISOtech # asterisk operator, U+2217 ISOtech # square root = radical sign, # U+221A ISOtech # proportional to, U+221D ISOtech # infinity, U+221E ISOtech # angle, U+2220 ISOamso # logical and = wedge, U+2227 ISOtech # logical or = vee, U+2228 ISOtech # intersection = cap, U+2229 ISOtech # union = cup, U+222A ISOtech # integral, U+222B ISOtech # therefore, U+2234 ISOtech # tilde operator = varies with = similar to, # U+223C ISOtech # tilde operator is NOT the same character as the tilde, U+007E, # although the same glyph might be used to represent both # approximately equal to, U+2245 ISOtech # almost equal to = asymptotic to, # U+2248 ISOamsr # not equal to, U+2260 ISOtech # identical to, U+2261 ISOtech # less-than or equal to, U+2264 ISOtech # greater-than or equal to, # U+2265 ISOtech # subset of, U+2282 ISOtech # superset of, U+2283 ISOtech # note that nsup, 'not a superset of, U+2283' is not covered by the Symbol # font encoding and is not included. Should it be, for symmetry? # It is in ISOamsn # not a subset of, U+2284 ISOamsn # subset of or equal to, U+2286 ISOtech # superset of or equal to, # U+2287 ISOtech # circled plus = direct sum, # U+2295 ISOamsb # circled times = vector product, # U+2297 ISOamsb # up tack = orthogonal to = perpendicular, # U+22A5 ISOtech # dot operator, U+22C5 ISOamsb # dot operator is NOT the same character as U+00B7 middle dot # Miscellaneous Technical # left ceiling = apl upstile, # U+2308 ISOamsc # right ceiling, U+2309 ISOamsc # left floor = apl downstile, # U+230A ISOamsc # right floor, U+230B ISOamsc # left-pointing angle bracket = bra, # U+2329 ISOtech # lang is NOT the same character as U+003C 'less than' # or U+2039 'single left-pointing angle quotation mark' # right-pointing angle bracket = ket, # U+232A ISOtech # rang is NOT the same character as U+003E 'greater than' # or U+203A 'single right-pointing angle quotation mark' # Geometric Shapes # lozenge, U+25CA ISOpub # Miscellaneous Symbols # black spade suit, U+2660 ISOpub # black here seems to mean filled as opposed to hollow # black club suit = shamrock, # U+2663 ISOpub # black heart suit = valentine, # U+2665 ISOpub # black diamond suit, U+2666 ISOpub # Special characters for HTML # Character entity set. Typical invocation: # # %HTMLspecial; # Portions (C) International Organization for Standardization 1986: # Permission to copy in any form is granted for use with # conforming SGML systems and applications as defined in # ISO 8879, provided this notice is included in all copies. # Relevant ISO entity set is given unless names are newly introduced. # New names (i.e., not in ISO 8879 list) do not clash with any # existing ISO 8879 entity names. ISO 10646 character numbers # are given for each character, in hex. values are decimal # conversions of the ISO 10646 values and refer to the document # character set. Names are Unicode names. # C0 Controls and Basic Latin # quotation mark = APL quote, # U+0022 ISOnum # ampersand, U+0026 ISOnum # less-than sign, U+003C ISOnum # greater-than sign, U+003E ISOnum # apostrophe mark, U+0027 ISOnum # Latin Extended-A # latin capital ligature OE, # U+0152 ISOlat2 # latin small ligature oe, U+0153 ISOlat2 # ligature is a misnomer, this is a separate character in some languages # latin capital letter S with caron, # U+0160 ISOlat2 # latin small letter s with caron, # U+0161 ISOlat2 # latin capital letter Y with diaeresis, # U+0178 ISOlat2 # Spacing Modifier Letters # modifier letter circumflex accent, # U+02C6 ISOpub # small tilde, U+02DC ISOdia # General Punctuation # en space, U+2002 ISOpub # em space, U+2003 ISOpub # thin space, U+2009 ISOpub # zero width non-joiner, # U+200C NEW RFC 2070 # zero width joiner, U+200D NEW RFC 2070 # left-to-right mark, U+200E NEW RFC 2070 # right-to-left mark, U+200F NEW RFC 2070 # en dash, U+2013 ISOpub # em dash, U+2014 ISOpub # left single quotation mark, # U+2018 ISOnum # right single quotation mark, # U+2019 ISOnum # single low-9 quotation mark, U+201A NEW # left double quotation mark, # U+201C ISOnum # right double quotation mark, # U+201D ISOnum # double low-9 quotation mark, U+201E NEW # dagger, U+2020 ISOpub # double dagger, U+2021 ISOpub # per mille sign, U+2030 ISOtech # single left-pointing angle quotation mark, # U+2039 ISO proposed # lsaquo is proposed but not yet ISO standardized # single right-pointing angle quotation mark, # U+203A ISO proposed # rsaquo is proposed but not yet ISO standardized # euro sign, U+20AC NEW # end of xhtml-charent-1.mod # end of xhtml-framework-1.mod # Post-Framework Redeclaration placeholder ................... # this serves as a location to insert markup declarations # into the DTD following the framework declarations. # Text Module (Required) ..................................... # ...................................................................... # XHTML Text Module ................................................... # file: xhtml-text-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod" # # Revisions: # (none) # ....................................................................... # Textual Content # # The Text module includes declarations for all core # text container elements and their attributes. # ...................................................................... # XHTML Inline Structural Module ...................................... # file: xhtml-inlstruct-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstruct-1.mod" # # Revisions: # (none) # ....................................................................... # Inline Structural # # br, span # # This module declares the elements and their attributes # used to support inline-level structural markup. # br: forced line break ............................. br.content = empty br = element br { br.attlist, br.content } # end of br.element br.attlist &= Core.attrib # end of br.attlist # span: generic inline container .................... span.content = (text | Inline.mix)* span = element span { span.attlist, span.content } # end of span.element span.attlist &= Common.attrib # end of span.attlist # end of xhtml-inlstruct-1.mod # ...................................................................... # XHTML Inline Phrasal Module ......................................... # file: xhtml-inlphras-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlphras-1.mod" # # Revisions: # (none) # ....................................................................... # Inline Phrasal # # abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var # # This module declares the elements and their attributes used to # support inline-level phrasal markup. abbr.content = (text | Inline.mix)* abbr = element abbr { abbr.attlist, abbr.content } # end of abbr.element abbr.attlist &= Common.attrib # end of abbr.attlist acronym.content = (text | Inline.mix)* acronym = element acronym { acronym.attlist, acronym.content } # end of acronym.element acronym.attlist &= Common.attrib # end of acronym.attlist cite.content = (text | Inline.mix)* cite = element cite { cite.attlist, cite.content } # end of cite.element cite.attlist &= Common.attrib # end of cite.attlist code.content = (text | Inline.mix)* code = element code { code.attlist, code.content } # end of code.element code.attlist &= Common.attrib # end of code.attlist dfn.content = (text | Inline.mix)* dfn = element dfn { dfn.attlist, dfn.content } # end of dfn.element dfn.attlist &= Common.attrib # end of dfn.attlist em.content = (text | Inline.mix)* em = element em { em.attlist, em.content } # end of em.element em.attlist &= Common.attrib # end of em.attlist kbd.content = (text | Inline.mix)* kbd = element kbd { kbd.attlist, kbd.content } # end of kbd.element kbd.attlist &= Common.attrib # end of kbd.attlist q.content = (text | Inline.mix)* q = element q { q.attlist, q.content } # end of q.element q.attlist &= Common.attrib, attribute cite { URI.datatype }? # end of q.attlist samp.content = (text | Inline.mix)* samp = element samp { samp.attlist, samp.content } # end of samp.element samp.attlist &= Common.attrib # end of samp.attlist strong.content = (text | Inline.mix)* strong = element strong { strong.attlist, strong.content } # end of strong.element strong.attlist &= Common.attrib # end of strong.attlist var.content = (text | Inline.mix)* var = element var { var.attlist, var.content } # end of var.element var.attlist &= Common.attrib # end of var.attlist # end of xhtml-inlphras-1.mod # ...................................................................... # XHTML Block Structural Module ....................................... # file: xhtml-blkstruct-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkstruct-1.mod" # # Revisions: # (none) # ....................................................................... # Block Structural # # div, p # # This module declares the elements and their attributes used to # support block-level structural markup. div.content = (text | Flow.mix)* \div = element div { div.attlist, div.content } # end of div.element div.attlist &= Common.attrib # end of div.attlist p.content = (text | Inline.mix)* p = element p { p.attlist, p.content } # end of p.element p.attlist &= Common.attrib # end of p.attlist # end of xhtml-blkstruct-1.mod # ...................................................................... # XHTML Block Phrasal Module .......................................... # file: xhtml-blkphras-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkphras-1.mod" # # Revisions: # (none) # ....................................................................... # Block Phrasal # # address, blockquote, pre, h1, h2, h3, h4, h5, h6 # # This module declares the elements and their attributes used to # support block-level phrasal markup. address.content = (text | Inline.mix)* address = element address { address.attlist, address.content } # end of address.element address.attlist &= Common.attrib # end of address.attlist blockquote.content = Block.mix+ blockquote = element blockquote { blockquote.attlist, blockquote.content } # end of blockquote.element blockquote.attlist &= Common.attrib, attribute cite { URI.datatype }? # end of blockquote.attlist pre.content = (text | InlStruct.class | InlPhras.class | tt | i | b | I18n.class | Anchor.class | script | map | Inline.extra)* pre = element pre { pre.attlist, pre.content } # end of pre.element pre.attlist &= Common.attrib, [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }? # end of pre.attlist # ................... Heading Elements ................... Heading.content = (text | Inline.mix)* h1 = element h1 { h1.attlist, Heading.content } # end of h1.element h1.attlist &= Common.attrib # end of h1.attlist h2 = element h2 { h2.attlist, Heading.content } # end of h2.element h2.attlist &= Common.attrib # end of h2.attlist h3 = element h3 { h3.attlist, Heading.content } # end of h3.element h3.attlist &= Common.attrib # end of h3.attlist h4 = element h4 { h4.attlist, Heading.content } # end of h4.element h4.attlist &= Common.attrib # end of h4.attlist h5 = element h5 { h5.attlist, Heading.content } # end of h5.element h5.attlist &= Common.attrib # end of h5.attlist h6 = element h6 { h6.attlist, Heading.content } # end of h6.element h6.attlist &= Common.attrib # end of h6.attlist # end of xhtml-blkphras-1.mod # end of xhtml-text-1.mod # Hypertext Module (required) ................................. # ...................................................................... # XHTML Hypertext Module .............................................. # file: xhtml-hypertext-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod" # # Revisions: # (none) # ....................................................................... # Hypertext # # a # # This module declares the anchor ('a') element type, which # defines the source of a hypertext link. The destination # (or link 'target') is identified via its 'id' attribute # rather than the 'name' attribute as was used in HTML. # ............ Anchor Element ............ a.content = (text | InlNoAnchor.mix)* a = element a { a.attlist, a.content } # end of a.element a.attlist &= Common.attrib, attribute href { URI.datatype }?, attribute charset { Charset.datatype }?, attribute type { ContentType.datatype }?, attribute hreflang { LanguageCode.datatype }?, attribute rel { LinkTypes.datatype }?, attribute rev { LinkTypes.datatype }?, attribute accesskey { Character.datatype }?, attribute tabindex { Number.datatype }? # end of a.attlist # end of xhtml-hypertext-1.mod # Lists Module (required) .................................... # ...................................................................... # XHTML Lists Module .................................................. # file: xhtml-list-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod" # # Revisions: # (none) # ....................................................................... # Lists # # dl, dt, dd, ol, ul, li # # This module declares the list-oriented element types # and their attributes. # dl: Definition List ............................... dl.content = (dt | dd)+ dl = element dl { dl.attlist, dl.content } # end of dl.element dl.attlist &= Common.attrib # end of dl.attlist # dt: Definition Term ............................... dt.content = (text | Inline.mix)* dt = element dt { dt.attlist, dt.content } # end of dt.element dt.attlist &= Common.attrib # end of dt.attlist # dd: Definition Description ........................ dd.content = (text | Flow.mix)* dd = element dd { dd.attlist, dd.content } # end of dd.element dd.attlist &= Common.attrib # end of dd.attlist # ol: Ordered List (numbered styles) ................ ol.content = li+ ol = element ol { ol.attlist, ol.content } # end of ol.element ol.attlist &= Common.attrib # end of ol.attlist # ul: Unordered List (bullet styles) ................ ul.content = li+ ul = element ul { ul.attlist, ul.content } # end of ul.element ul.attlist &= Common.attrib # end of ul.attlist # li: List Item ..................................... li.content = (text | Flow.mix)* li = element li { li.attlist, li.content } # end of li.element li.attlist &= Common.attrib # end of li.attlist # end of xhtml-list-1.mod # ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: # Edit Module ................................................ # ...................................................................... # XHTML Editing Elements Module ....................................... # file: xhtml-edit-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Editing Markup 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod" # # Revisions: # (none) # ....................................................................... # Editing Elements # # ins, del # # This module declares element types and attributes used to indicate # inserted and deleted content while editing a document. # ins: Inserted Text ............................... ins.content = (text | Flow.mix)* ins = element ins { ins.attlist, ins.content } # end of ins.element ins.attlist &= Common.attrib, attribute cite { URI.datatype }?, attribute datetime { Datetime.datatype }? # end of ins.attlist # del: Deleted Text ................................ del.content = (text | Flow.mix)* del = element del { del.attlist, del.content } # end of del.element del.attlist &= Common.attrib, attribute cite { URI.datatype }?, attribute datetime { Datetime.datatype }? # end of del.attlist # end of xhtml-edit-1.mod # BIDI Override Module ....................................... # ...................................................................... # XHTML BDO Element Module ............................................. # file: xhtml-bdo-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML BDO Element 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod" # # Revisions: # (none) # ....................................................................... # Bidirectional Override (bdo) Element # # This modules declares the element 'bdo', used to override the # Unicode bidirectional algorithm for selected fragments of text. # # DEPENDENCIES: # Relies on the conditional section keyword %XHTML.bidi; declared # as "INCLUDE". Bidirectional text support includes both the bdo # element and the 'dir' attribute. bdo.content = (text | Inline.mix)* bdo = element bdo { bdo.attlist, bdo.content } # end of bdo.element bdo.attlist &= Core.attrib, attribute xml:lang { LanguageCode.datatype }?, attribute dir { "ltr" | "rtl" } # end of xhtml-bdo-1.mod # Ruby Module ................................................ Ruby.common.attrib = Common.attrib # ...................................................................... # XHTML Ruby Module .................................................... # file: xhtml-ruby-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1999-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ # # This module is based on the W3C Ruby Annotation Specification: # # http://www.w3.org/TR/ruby # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN" # SYSTEM "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" # # ...................................................................... # Ruby Elements # # ruby, rbc, rtc, rb, rt, rp # # This module declares the elements and their attributes used to # support ruby annotation markup. # declare qualified element type names: # rp fallback is included by default. # Complex ruby is included by default; it may be # overridden by other modules to ignore it. # Fragments for the content model of the ruby element Ruby.content.simple = rb, (rt | (rp, rt, rp)) Ruby.content.complex = rbc, rtc, rtc? # Content models of the rb and the rt elements are intended to # allow other inline-level elements of its parent markup language, # but it should not include ruby descendent elements. The following # parameter entity %NoRuby.content; can be used to redefine # those content models with minimum effort. It's defined as # '( #PCDATA )' by default. # one or more digits (NUMBER) # ruby element ...................................... ruby.content = Ruby.content.simple | Ruby.content.complex ruby = element ruby { ruby.attlist, ruby.content } # end of ruby.element # rbc (ruby base component) element ................. rbc.content = rb+ rbc = element rbc { rbc.attlist, rbc.content } # end of rbc.element # rtc (ruby text component) element ................. rtc.content = rt+ rtc = element rtc { rtc.attlist, rtc.content } # end of rtc.element # rb (ruby base) element ............................ # %rb.content; uses %NoRuby.content; as its content model, # which is '( #PCDATA )' by default. It may be overridden # by other modules to allow other inline-level elements # of its parent markup language, but it should not include # ruby descendent elements. rb.content = NoRuby.content rb = element rb { rb.attlist, rb.content } # end of rb.element # rt (ruby text) element ............................ # %rt.content; uses %NoRuby.content; as its content model, # which is '( #PCDATA )' by default. It may be overridden # by other modules to allow other inline-level elements # of its parent markup language, but it should not include # ruby descendent elements. rt.content = NoRuby.content rt = element rt { rt.attlist, rt.content } # end of rt.element # rbspan attribute is used for complex ruby only ...... rt.attlist &= [ a:defaultValue = "1" ] attribute rbspan { Number.datatype }? # end of rt.attlist # rp (ruby parenthesis) element ..................... rp.content = text rp = element rp { rp.attlist, rp.content } # end of rp.element # Ruby Common Attributes # # The following optional ATTLIST declarations provide an easy way # to define common attributes for ruby elements. These declarations # are ignored by default. # # Ruby elements are intended to have common attributes of its # parent markup language. For example, if a markup language defines # common attributes as a parameter entity %attrs;, you may add # those attributes by just declaring the following parameter entities # # # # # before including the Ruby module. # common attributes for ruby ........................ ruby.attlist &= Ruby.common.attrib # end of Ruby.common.attlist # common attributes for rbc ......................... rbc.attlist &= Ruby.common.attrib # end of Rbc.common.attlist # common attributes for rtc ......................... rtc.attlist &= Ruby.common.attrib # end of Rtc.common.attlist # common attributes for rb .......................... rb.attlist &= Ruby.common.attrib # end of Rb.common.attlist # common attributes for rt .......................... rt.attlist &= Ruby.common.attrib # end of Rt.common.attlist # common attributes for rp .......................... rp.attlist &= Ruby.common.attrib # end of Rp.common.attlist # end of xhtml-ruby-1.mod # Presentation Module ........................................ # ...................................................................... # XHTML Presentation Module ............................................ # file: xhtml-pres-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod" # # Revisions: # (none) # ....................................................................... # Presentational Elements # # This module defines elements and their attributes for # simple presentation-related markup. # ...................................................................... # XHTML Inline Presentation Module .................................... # file: xhtml-inlpres-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlpres-1.mod" # # Revisions: # (none) # ....................................................................... # Inline Presentational Elements # # b, big, i, small, sub, sup, tt # # This module declares the elements and their attributes used to # support inline-level presentational markup. b.content = (text | Inline.mix)* b = element b { b.attlist, b.content } # end of b.element b.attlist &= Common.attrib # end of b.attlist big.content = (text | Inline.mix)* big = element big { big.attlist, big.content } # end of big.element big.attlist &= Common.attrib # end of big.attlist i.content = (text | Inline.mix)* i = element i { i.attlist, i.content } # end of i.element i.attlist &= Common.attrib # end of i.attlist small.content = (text | Inline.mix)* small = element small { small.attlist, small.content } # end of small.element small.attlist &= Common.attrib # end of small.attlist sub.content = (text | Inline.mix)* sub = element sub { sub.attlist, sub.content } # end of sub.element sub.attlist &= Common.attrib # end of sub.attlist sup.content = (text | Inline.mix)* sup = element sup { sup.attlist, sup.content } # end of sup.element sup.attlist &= Common.attrib # end of sup.attlist tt.content = (text | Inline.mix)* tt = element tt { tt.attlist, tt.content } # end of tt.element tt.attlist &= Common.attrib # end of tt.attlist # end of xhtml-inlpres-1.mod # ...................................................................... # XHTML Block Presentation Module ..................................... # file: xhtml-blkpres-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkpres-1.mod" # # Revisions: # (none) # ....................................................................... # Block Presentational Elements # # hr # # This module declares the elements and their attributes used to # support block-level presentational markup. hr.content = empty hr = element hr { hr.attlist, hr.content } # end of hr.element hr.attlist &= Common.attrib # end of hr.attlist # end of xhtml-blkpres-1.mod # end of xhtml-pres-1.mod # Link Element Module ........................................ # ...................................................................... # XHTML Link Element Module ........................................... # file: xhtml-link-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod" # # Revisions: # (none) # ....................................................................... # Link element # # link # # This module declares the link element type and its attributes, # which could (in principle) be used to define document-level links # to external resources such as: # # a) for document specific toolbars/menus, e.g. start, contents, # previous, next, index, end, help # b) to link to a separate style sheet (rel="stylesheet") # c) to make a link to a script (rel="script") # d) by stylesheets to control how collections of html nodes are # rendered into printed documents # e) to make a link to a printable version of this document # e.g. a postscript or pdf version (rel="alternate" media="print") # link: Media-Independent Link ...................... link.content = empty link = element link { link.attlist, link.content } # end of link.element link.attlist &= Common.attrib, attribute charset { Charset.datatype }?, attribute href { URI.datatype }?, attribute hreflang { LanguageCode.datatype }?, attribute type { ContentType.datatype }?, attribute rel { LinkTypes.datatype }?, attribute rev { LinkTypes.datatype }?, attribute media { MediaDesc.datatype }? # end of link.attlist # end of xhtml-link-1.mod # Document Metainformation Module ............................ # ...................................................................... # XHTML Document Metainformation Module ............................... # file: xhtml-meta-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod" # # Revisions: # (none) # ....................................................................... # Meta Information # # meta # # This module declares the meta element type and its attributes, # used to provide declarative document metainformation. # meta: Generic Metainformation ..................... meta.content = empty meta = element meta { meta.attlist, meta.content } # end of meta.element meta.attlist &= XHTML.xmlns.attrib, I18n.attrib, attribute http-equiv { xsd:NMTOKEN }?, attribute name { xsd:NMTOKEN }?, attribute content { text }, attribute scheme { text }? # end of meta.attlist # end of xhtml-meta-1.mod # Base Element Module ........................................ # ...................................................................... # XHTML Base Element Module ........................................... # file: xhtml-base-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod" # # Revisions: # (none) # ....................................................................... # Base element # # base # # This module declares the base element type and its attributes, # used to define a base URI against which relative URIs in the # document will be resolved. # # Note that this module also redeclares the content model for # the head element to include the base element. # base: Document Base URI ........................... base.content = empty base = element base { base.attlist, base.content } # end of base.element base.attlist &= XHTML.xmlns.attrib, attribute href { URI.datatype } # end of base.attlist head.content = HeadOpts.mix, ((title, HeadOpts.mix, (base, HeadOpts.mix)?) | (base, HeadOpts.mix, (title, HeadOpts.mix))) # end of xhtml-base-1.mod # Scripting Module ........................................... # ...................................................................... # XHTML Document Scripting Module ..................................... # file: xhtml-script-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod" # # Revisions: # (none) # ....................................................................... # Scripting # # script, noscript # # This module declares element types and attributes used to provide # support for executable scripts as well as an alternate content # container where scripts are not supported. # script: Scripting Statement ....................... script.content = text script = element script { script.attlist, script.content } # end of script.element script.attlist &= XHTML.xmlns.attrib, attribute charset { Charset.datatype }?, attribute type { ContentType.datatype }, attribute src { URI.datatype }?, attribute defer { "defer" }?, [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }? # end of script.attlist # noscript: No-Script Alternate Content ............. noscript.content = Block.mix+ noscript = element noscript { noscript.attlist, noscript.content } # end of noscript.element noscript.attlist &= Common.attrib # end of noscript.attlist # end of xhtml-script-1.mod # Style Sheets Module ......................................... # ...................................................................... # XHTML Document Style Sheet Module .................................... # file: xhtml-style-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//DTD XHTML Style Sheets 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod" # # Revisions: # (none) # ....................................................................... # Style Sheets # # style # # This module declares the style element type and its attributes, # used to embed stylesheet information in the document head element. # style: Style Sheet Information ..................... style.content = text style = element style { style.attlist, style.content } # end of style.element style.attlist &= XHTML.xmlns.attrib, title.attrib, I18n.attrib, attribute type { ContentType.datatype }, attribute media { MediaDesc.datatype }?, [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }? # end of style.attlist # end of xhtml-style-1.mod # Image Module ............................................... # ...................................................................... # XHTML Images Module ................................................. # file: xhtml-image-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Rovision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod" # # Revisions: # (none) # ....................................................................... # Images # # img # # This module provides markup to support basic image embedding. # To avoid problems with text-only UAs as well as to make # image content understandable and navigable to users of # non-visual UAs, you need to provide a description with # the 'alt' attribute, and avoid server-side image maps. img.content = empty img = element img { img.attlist, img.content } # end of img.element img.attlist &= Common.attrib, attribute src { URI.datatype }, attribute alt { Text.datatype }, attribute longdesc { URI.datatype }?, attribute height { Length.datatype }?, attribute width { Length.datatype }? # end of img.attlist # end of xhtml-image-1.mod # Client-side Image Map Module ............................... # ...................................................................... # XHTML Client-side Image Map Module .................................. # file: xhtml-csismap-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod" # # Revisions: # (none) # ....................................................................... # Client-side Image Maps # # area, map # # This module declares elements and attributes to support client-side # image maps. This requires that the Image Module (or a module # declaring the img element type) be included in the DTD. # # These can be placed in the same document or grouped in a # separate document, although the latter isn't widely supported area.content = empty area = element area { area.attlist, area.content } # end of area.element Shape.datatype = "rect" | "circle" | "poly" | "default" Coords.datatype = string area.attlist &= Common.attrib, attribute href { URI.datatype }?, [ a:defaultValue = "rect" ] attribute shape { Shape.datatype }?, attribute coords { Coords.datatype }?, attribute nohref { "nohref" }?, attribute alt { Text.datatype }, attribute tabindex { Number.datatype }?, attribute accesskey { Character.datatype }? # end of area.attlist # modify anchor attribute definition list # to allow for client-side image maps a.attlist &= [ a:defaultValue = "rect" ] attribute shape { Shape.datatype }?, attribute coords { Coords.datatype }? # modify img attribute definition list # to allow for client-side image maps img.attlist &= attribute usemap { xsd:IDREF }? # modify form input attribute definition list # to allow for client-side image maps input.attlist &= attribute usemap { xsd:IDREF }? # modify object attribute definition list # to allow for client-side image maps object.attlist &= attribute usemap { xsd:IDREF }? # 'usemap' points to the 'id' attribute of a element, # which must be in the same document; support for external # document maps was not widely supported in HTML and is # eliminated in XHTML. # # It is considered an error for the element pointed to by # a usemap IDREF to occur in anything but a element. map.content = (Block.mix | area)+ map = element map { map.attlist, map.content } # end of map.element map.attlist &= XHTML.xmlns.attrib, attribute id { xsd:ID }, class.attrib, title.attrib, Core.extra.attrib, I18n.attrib, Events.attrib # end of map.attlist # end of xhtml-csismap-1.mod # Server-side Image Map Module ............................... # ...................................................................... # XHTML Server-side Image Map Module .................................. # file: xhtml-ssismap-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod" # # Revisions: # #2000-10-22: added declaration for 'ismap' on # ....................................................................... # Server-side Image Maps # # This adds the 'ismap' attribute to the img and input elements # to support server-side processing of a user selection. img.attlist &= attribute ismap { "ismap" }? input.attlist &= attribute ismap { "ismap" }? # end of xhtml-ssismap-1.mod # Param Element Module ....................................... # ...................................................................... # XHTML Param Element Module ..................................... # file: xhtml-param-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod" # # Revisions: # (none) # ....................................................................... # Parameters for Java Applets and Embedded Objects # # param # # This module provides declarations for the param element, # used to provide named property values for the applet # and object elements. # param: Named Property Value ....................... param.content = empty param = element param { param.attlist, param.content } # end of param.element param.attlist &= XHTML.xmlns.attrib, id.attrib, attribute name { text }, attribute value { text }?, [ a:defaultValue = "data" ] attribute valuetype { "data" | "ref" | "object" }?, attribute type { ContentType.datatype }? # end of param.attlist # end of xhtml-param-1.mod # Embedded Object Module ..................................... # ...................................................................... # XHTML Embedded Object Module ........................................ # file: xhtml-object-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod" # # Revisions: # (none) # ....................................................................... # Embedded Objects # # object # # This module declares the object element type and its attributes, used # to embed external objects as part of XHTML pages. In the document, # place param elements prior to other content within the object element. # # Note that use of this module requires instantiation of the Param # Element Module. # object: Generic Embedded Object ................... object.content = (text | Flow.mix | param)* object = element object { object.attlist, object.content } # end of object.element object.attlist &= Common.attrib, attribute declare { "declare" }?, attribute classid { URI.datatype }?, attribute codebase { URI.datatype }?, attribute data { URI.datatype }?, attribute type { ContentType.datatype }?, attribute codetype { ContentType.datatype }?, attribute archive { URIs.datatype }?, attribute standby { Text.datatype }?, attribute height { Length.datatype }?, attribute width { Length.datatype }?, attribute name { text }?, attribute tabindex { Number.datatype }? # end of object.attlist # end of xhtml-object-1.mod # Tables Module ............................................... # ...................................................................... # XHTML Table Module .................................................. # file: xhtml-table-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod" # # Revisions: # (none) # ....................................................................... # Tables # # table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td # # This module declares element types and attributes used to provide # table markup similar to HTML 4.0, including features that enable # better accessibility for non-visual user agents. # declare qualified element type names: # The frame attribute specifies which parts of the frame around # the table should be rendered. The values are not the same as # CALS to avoid a name clash with the valign attribute. frame.attrib = attribute frame { "void" | "above" | "below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border" }? # The rules attribute defines which rules to draw between cells: # # If rules is absent then assume: # # "none" if border is absent or border="0" otherwise "all" rules.attrib = attribute rules { "none" | "groups" | "rows" | "cols" | "all" }? # horizontal alignment attributes for cell contents CellHAlign.attrib = attribute align { "left" | "center" | "right" | "justify" | "char" }?, attribute char { Character.datatype }?, attribute charoff { Length.datatype }? # vertical alignment attribute for cell contents CellVAlign.attrib = attribute valign { "top" | "middle" | "bottom" | "baseline" }? # scope is simpler than axes attribute for common tables scope.attrib = attribute scope { "row" | "col" | "rowgroup" | "colgroup" }? # table: Table Element .............................. table.content = caption?, (col* | colgroup*), ((thead?, tfoot?, tbody+) | tr+) table = element table { table.attlist, table.content } # end of table.element table.attlist &= Common.attrib, attribute summary { Text.datatype }?, attribute width { Length.datatype }?, attribute border { Pixels.datatype }?, frame.attrib, rules.attrib, attribute cellspacing { Length.datatype }?, attribute cellpadding { Length.datatype }? # end of table.attlist # caption: Table Caption ............................ caption.content = (text | Inline.mix)* caption = element caption { caption.attlist, caption.content } # end of caption.element caption.attlist &= Common.attrib # end of caption.attlist # thead: Table Header ............................... # Use thead to duplicate headers when breaking table # across page boundaries, or for static headers when # tbody sections are rendered in scrolling panel. thead.content = tr+ thead = element thead { thead.attlist, thead.content } # end of thead.element thead.attlist &= Common.attrib, CellHAlign.attrib, CellVAlign.attrib # end of thead.attlist # tfoot: Table Footer ............................... # Use tfoot to duplicate footers when breaking table # across page boundaries, or for static footers when # tbody sections are rendered in scrolling panel. tfoot.content = tr+ tfoot = element tfoot { tfoot.attlist, tfoot.content } # end of tfoot.element tfoot.attlist &= Common.attrib, CellHAlign.attrib, CellVAlign.attrib # end of tfoot.attlist # tbody: Table Body ................................. # Use multiple tbody sections when rules are needed # between groups of table rows. tbody.content = tr+ tbody = element tbody { tbody.attlist, tbody.content } # end of tbody.element tbody.attlist &= Common.attrib, CellHAlign.attrib, CellVAlign.attrib # end of tbody.attlist # colgroup: Table Column Group ...................... # colgroup groups a set of col elements. It allows you # to group several semantically-related columns together. colgroup.content = col* colgroup = element colgroup { colgroup.attlist, colgroup.content } # end of colgroup.element colgroup.attlist &= Common.attrib, [ a:defaultValue = "1" ] attribute span { Number.datatype }?, attribute width { MultiLength.datatype }?, CellHAlign.attrib, CellVAlign.attrib # end of colgroup.attlist # col: Table Column ................................. # col elements define the alignment properties for # cells in one or more columns. # # The width attribute specifies the width of the # columns, e.g. # # width="64" width in screen pixels # width="0.5*" relative width of 0.5 # # The span attribute causes the attributes of one # col element to apply to more than one column. col.content = empty col = element col { col.attlist, col.content } # end of col.element col.attlist &= Common.attrib, [ a:defaultValue = "1" ] attribute span { Number.datatype }?, attribute width { MultiLength.datatype }?, CellHAlign.attrib, CellVAlign.attrib # end of col.attlist # tr: Table Row ..................................... tr.content = (th | td)+ tr = element tr { tr.attlist, tr.content } # end of tr.element tr.attlist &= Common.attrib, CellHAlign.attrib, CellVAlign.attrib # end of tr.attlist # th: Table Header Cell ............................. # th is for header cells, td for data, # but for cells acting as both use td th.content = (text | Flow.mix)* th = element th { th.attlist, th.content } # end of th.element th.attlist &= Common.attrib, attribute abbr { Text.datatype }?, attribute axis { text }?, attribute headers { xsd:IDREFS }?, scope.attrib, [ a:defaultValue = "1" ] attribute rowspan { Number.datatype }?, [ a:defaultValue = "1" ] attribute colspan { Number.datatype }?, CellHAlign.attrib, CellVAlign.attrib # end of th.attlist # td: Table Data Cell ............................... td.content = (text | Flow.mix)* td = element td { td.attlist, td.content } # end of td.element td.attlist &= Common.attrib, attribute abbr { Text.datatype }?, attribute axis { text }?, attribute headers { xsd:IDREFS }?, scope.attrib, [ a:defaultValue = "1" ] attribute rowspan { Number.datatype }?, [ a:defaultValue = "1" ] attribute colspan { Number.datatype }?, CellHAlign.attrib, CellVAlign.attrib # end of td.attlist # end of xhtml-table-1.mod # Forms Module ............................................... # ...................................................................... # XHTML Forms Module .................................................. # file: xhtml-form-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod" # # Revisions: # (none) # ....................................................................... # Forms # # form, label, input, select, optgroup, option, # textarea, fieldset, legend, button # # This module declares markup to provide support for online # forms, based on the features found in HTML 4.0 forms. # declare qualified element type names: # %BlkNoForm.mix; includes all non-form block elements, # plus %Misc.class; BlkNoForm.mix = Heading.class | List.class | BlkStruct.class | BlkPhras.class | BlkPres.class | Table.class | Block.extra | Misc.class # form: Form Element ................................ form.content = (BlkNoForm.mix | fieldset)+ form = element form { form.attlist, form.content } # end of form.element form.attlist &= Common.attrib, attribute action { URI.datatype }, [ a:defaultValue = "get" ] attribute method { "get" | "post" }?, [ a:defaultValue = "application/x-www-form-urlencoded" ] attribute enctype { ContentType.datatype }?, attribute accept-charset { Charsets.datatype }?, attribute accept { ContentTypes.datatype }? # end of form.attlist # label: Form Field Label Text ...................... # Each label must not contain more than ONE field label.content = (text | input | select | textarea | button | InlStruct.class | InlPhras.class | I18n.class | InlPres.class | Anchor.class | InlSpecial.class | Inline.extra | Misc.class)* label = element label { label.attlist, label.content } # end of label.element label.attlist &= Common.attrib, attribute for { xsd:IDREF }?, attribute accesskey { Character.datatype }? # end of label.attlist # input: Form Control ............................... input.content = empty input = element input { input.attlist, input.content } # end of input.element InputType.class = "text" | "password" | "checkbox" | "radio" | "submit" | "reset" | "file" | "hidden" | "image" | "button" # attribute 'name' required for all but submit & reset input.attlist &= Common.attrib, [ a:defaultValue = "text" ] attribute type { InputType.class }?, attribute name { text }?, attribute value { text }?, attribute checked { "checked" }?, attribute disabled { "disabled" }?, attribute readonly { "readonly" }?, attribute size { Number.datatype }?, attribute maxlength { Number.datatype }?, attribute src { URI.datatype }?, attribute alt { Text.datatype }?, attribute tabindex { Number.datatype }?, attribute accesskey { Character.datatype }?, attribute accept { ContentTypes.datatype }? # end of input.attlist # select: Option Selector ........................... select.content = (optgroup | option)+ select = element select { select.attlist, select.content } # end of select.element select.attlist &= Common.attrib, attribute name { text }?, attribute size { Number.datatype }?, attribute multiple { "multiple" }?, attribute disabled { "disabled" }?, attribute tabindex { Number.datatype }? # end of select.attlist # optgroup: Option Group ............................ optgroup.content = option+ optgroup = element optgroup { optgroup.attlist, optgroup.content } # end of optgroup.element optgroup.attlist &= Common.attrib, attribute disabled { "disabled" }?, attribute label { Text.datatype } # end of optgroup.attlist # option: Selectable Choice ......................... option.content = text option = element option { option.attlist, option.content } # end of option.element option.attlist &= Common.attrib, attribute selected { "selected" }?, attribute disabled { "disabled" }?, attribute label { Text.datatype }?, attribute value { text }? # end of option.attlist # textarea: Multi-Line Text Field ................... textarea.content = text textarea = element textarea { textarea.attlist, textarea.content } # end of textarea.element textarea.attlist &= Common.attrib, attribute name { text }?, attribute rows { Number.datatype }, attribute cols { Number.datatype }, attribute disabled { "disabled" }?, attribute readonly { "readonly" }?, attribute tabindex { Number.datatype }?, attribute accesskey { Character.datatype }? # end of textarea.attlist # fieldset: Form Control Group ...................... # #PCDATA is to solve the mixed content problem, # per specification only whitespace is allowed fieldset.content = (text | legend | Flow.mix)* fieldset = element fieldset { fieldset.attlist, fieldset.content } # end of fieldset.element fieldset.attlist &= Common.attrib # end of fieldset.attlist # legend: Fieldset Legend ........................... legend.content = (text | Inline.mix)* legend = element legend { legend.attlist, legend.content } # end of legend.element legend.attlist &= Common.attrib, attribute accesskey { Character.datatype }? # end of legend.attlist # button: Push Button ............................... button.content = (text | BlkNoForm.mix | InlStruct.class | InlPhras.class | InlPres.class | I18n.class | InlSpecial.class | Inline.extra)* button = element button { button.attlist, button.content } # end of button.element button.attlist &= Common.attrib, attribute name { text }?, attribute value { text }?, [ a:defaultValue = "submit" ] attribute type { "button" | "submit" | "reset" }?, attribute disabled { "disabled" }?, attribute tabindex { Number.datatype }?, attribute accesskey { Character.datatype }? # end of button.attlist # end of xhtml-form-1.mod # Legacy Markup ............................................... # Document Structure Module (required) ....................... # ...................................................................... # XHTML Structure Module .............................................. # file: xhtml-struct-1.mod # # This is XHTML, a reformulation of HTML as a modular XML application. # Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. # Revision: $Id$ SMI # # This DTD module is identified by the PUBLIC and SYSTEM identifiers: # # PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" # SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod" # # Revisions: # (none) # ....................................................................... # Document Structure # # title, head, body, html # # The Structure Module defines the major structural elements and # their attributes. # # Note that the content model of the head element type is redeclared # when the Base Module is included in the DTD. # # The parameter entity containing the XML namespace URI value used # for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module. # title: Document Title ............................. # The title element is not considered part of the flow of text. # It should be displayed, for example as the page header or # window title. Exactly one title is required per document. title.content = text title = element title { title.attlist, title.content } # end of title.element title.attlist &= XHTML.xmlns.attrib, I18n.attrib # end of title.attlist # head: Document Head ............................... head = element head { head.attlist, head.content } # end of head.element # reserved for future use with document profiles profile.attrib = [ a:defaultValue = "" ] attribute profile { URI.datatype }? head.attlist &= XHTML.xmlns.attrib, I18n.attrib, profile.attrib # end of head.attlist # body: Document Body ............................... body.content = Block.mix+ body = element body { body.attlist, body.content } # end of body.element body.attlist &= Common.attrib # end of body.attlist # html: XHTML Document Element ...................... html.content = head, body html = element html { html.attlist, html.content } # end of html.element # version attribute value defined in driver XHTML.version.attrib = [ a:defaultValue = "-//W3C//DTD XHTML 1.1//EN" ] attribute version { string "-//W3C//DTD XHTML 1.1//EN" }? # see the Qualified Names module for information # on how to extend XHTML using XML namespaces html.attlist &= XHTML.xmlns.attrib, XHTML.version.attrib, I18n.attrib start = html # end of html.attlist # end of xhtml-struct-1.mod # end of XHTML 1.1 DTD ................................................. # .......................................................................