%xhtml-lat1; %xhtml-symbol; %xhtml-special; ]> XHTML Basic 1.0, reformulated in XML Schema Author: Masayasu Ishikawa (mimasa@w3.org) $Id: xhtml-basic10-f.xsd,v 1.9 2000/07/11 14:25:01 mimasa Exp $ DISCLAIMER: This schema is at the moment merely an author's personal experiment. Author doesn't guarantee at all whether this schema properly reformulate XHTML Basic 1.0 in XML Schema. This is XHTML Basic, a proper subset of XHTML. Original copyright of DTD: 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 Basic 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. Editors: Murray M. Altheim (mailto:altheim@eng.sun.com) Peter Stark (mailto:Peter.Stark@ecs.ericsson.se) Please use this formal public identifier to identify it: "-//W3C//DTD XHTML Basic 1.0//EN" % XHTML.version "-//W3C//DTD XHTML Basic 1.0//EN" Use this URI to identify the default namespace: "http://www.w3.org/1999/xhtml" Get access to the xml: attribute groups for xml:lang XHTML Datatypes Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" SYSTEM "xhtml-datatypes-1.mod" 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 "CDATA" space-separated list of link types % LinkTypes.datatype "NMTOKENS" single or comma-separated list of media descriptors % MediaDesc.datatype "CDATA" pixel, percentage, or relative % MultiLength.datatype "CDATA" one or more digits (NUMBER) % Number.datatype "CDATA" tabindex attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros. integer representing length in pixels % Pixels.datatype "CDATA" script expression % Script.datatype "CDATA" textual content % Text.datatype "CDATA" Imported Datatypes a single character from [ISO10646] % Character.datatype "CDATA" a character encoding, as per [RFC2045] % Charset.datatype "CDATA" a space separated list of character encodings, as per [RFC2045] % Charsets.datatype "CDATA" media type, as per [RFC2045] % ContentType.datatype "CDATA" comma-separated list of media types, as per [RFC2045] % ContentTypes.datatype "CDATA" date and time information. ISO date format % Datetime.datatype "CDATA" formal public identifier, as per [ISO8879] % FPI.datatype "CDATA" a language code, as per [RFC1766] % LanguageCode.datatype "NMTOKEN" a Uniform Resource Identifier, see [URI] % URI.datatype "CDATA" a space-separated list of Uniform Resource Identifiers, see [URI] % URIs.datatype "CDATA" XHTML Common Attributes Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN" SYSTEM "xhtml-attribs-1.mod" Common Attributes This module declares many of the common attributes for the XHTML DTD. %NS.decl.attrib; is declared in the XHTML Qname module. core attributes common to most elements id document-wide unique id class space separated list of classes title advisory title/amplification internationalization attributes xml:lang language code (as per XML 1.0 spec) Common attribute sets define "Common" type for XHTML XHTML Basic 1.0 Document Model Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN" SYSTEM "xhtml-basic10-model-1.mod" XHTML Basic Document Model This module describes the groupings of elements that make up common content models for XHTML elements. Optional Elements in head "( meta | link | object )*" Miscellaneous Elements (not defined in XHTML Basic) "br | span" "| em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q" (not defined in XHTML Basic) (not defined in XHTML Basic) "| a" "| img | object" "| input | select | textarea | label" (not defined in XHTML Basic) % Inline.class "%InlStruct.class; %InlPhras.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Inline.extra;" % Inline.mix "%Inline.class; %Misc.class;" % InlNoAnchor.class "%InlStruct.class; %InlPhras.class; %InlSpecial.class; %InlForm.class; %Inline.extra;" % InlNoAnchor.mix "%InlNoAnchor.class; %Misc.class;" Block Elements "h1 | h2 | h3 | h4 | h5 | h6" "ul | ol | dl" "| table" "| form" "p | div" "| pre | blockquote | address" (not defined in XHTML Basic) % BlkSpecial.class "%Table.class; %Form.class;" (not defined in XHTML Basic) % Block.class "%BlkStruct.class; %BlkPhras.class; %BlkSpecial.class; %Block.extra;" % Block.mix "%Heading.class; | %List.class; | %Block.class; %Misc.class;" All Content Elements declares all content except tables % FlowNoTable.mix "%Heading.class; | %List.class; | %BlkStruct.class; %BlkPhras.class; %Form.class; %Block.extra; | %Inline.class; %Misc.class;" % Flow.mix "%Heading.class; | %List.class; | %Block.class; | %Inline.class; %Misc.class;" XHTML Character Entities Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN" SYSTEM "xhtml-charent-1.mod" Character Entities for XHTML This module declares the set of character entities for XHTML, including the Latin 1, Symbol and Special character collections. XML Schema doesn't directly support character entities. To use them, use ENTITY declarations (whether in internal or external DTD subsets) XML-compatible ISO Latin 1 Character Entity Set for XHTML PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-lat1.ent" ISO Math, Greek and Symbolic Character Entity Set for XHTML PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-symbol.ent" XML-compatible ISO Special Character Entity Set for XHTML PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-special.ent" XHTML Text Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN" SYSTEM "xhtml-text-1.mod" Textual Content The Text module includes declarations for all core text container elements and their attributes. XHTML Inline Structural Module Inline Structural br, span This module declares the elements and their attributes used to support inline-level structural markup. br: forced line break span: generic inline container XHTML Inline Phrasal Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN" SYSTEM "xhtml-inlphras-1.mod" 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. XHTML Block Structural Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN" SYSTEM "xhtml-blkstruct-1.mod" Block Structural div, p This module declares the elements and their attributes used to support block-level structural markup. XHTML Block Phrasal Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN" SYSTEM "xhtml-blkphras-1.mod" 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. Heading Elements XHTML Hypertext Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN" SYSTEM "xhtml-hypertext-1.mod" 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. XHTML Lists Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN" SYSTEM "xhtml-list-1.mod" Lists dl, dt, dd, ol, ul, li This module declares the list-oriented element types and their attributes. dl: Definition List dt: Definition Term dd: Definition Description define a complexType for lists (suitable for ul and ol) ol: Ordered List (numbered styles) ul: Unordered List (bullet styles) li: List Item Image Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" SYSTEM "xhtml-image-1.mod" 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. XHTML Basic Table Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN" SYSTEM "xhtml-basic-table-1.mod" Basic Tables table, caption, tr, th, td This table module declares elements and attributes defining a table model based fundamentally on features found in the widely-deployed HTML 3.2 table model. While this module mimics the content model and table attributes of HTML 3.2 tables, the element types declared herein also includes all HTML 4.0 common and most of the HTML 4.0 table attributes. horizontal alignment attributes for cell contents vertical alignment attributes for cell contents scope is simpler than axes attribute for common tables table: Table Element caption: Table Caption tr: Table Row define a complexType for table cells (th and td) th is for headers, td for data and for cells acting as both th: Table Header Cell td: Table Data Cell XHTML Simplified Forms Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN" SYSTEM "xhtml-basic-form-1.mod" Basic Forms This forms module is based on the HTML 3.2 forms model, with the WAI-requested addition of the label element. While this module essentially mimics the content model and attributes of HTML 3.2 forms, the element types declared herein also include all HTML 4.0 common attributes. form, label, input, select, option, textarea %BlkNoForm.mix; includes all non-form block elements, plus %Misc.class; % BlkNoForm.mix "%Heading.class; | %List.class; | %BlkStruct.class; %BlkPhras.class; %BlkPres.class; | %table.qname; %Block.extra; %Misc.class;" form: Form Element label: Form Field Label Text Each label must not contain more than ONE field Basic Forms removes 'image' and 'file' input types. % InputType.class "( text | password | checkbox | radio | submit | reset | hidden )" input: Form Control attribute value for maxlength attribute is defined as Number.datatype (= xsd:nonNegativeInteger) in DTD, but it should be xsd:positiveInteger select: Option Selector option: Selectable Choice textarea: Multi-Line Text Field XHTML Link Element Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN" SYSTEM "xhtml-link-1.mod" 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 XHTML Document Metainformation Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" SYSTEM "xhtml-meta-1.mod" Meta Information meta This module declares the meta element type and its attributes, used to provide declarative document metainformation. meta: Generic Metainformation XHTML Base Element Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" SYSTEM "xhtml-base-1.mod" 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 XHTML Param Element Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN" SYSTEM "xhtml-param-1.mod" 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 XHTML Embedded Object Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" SYSTEM "xhtml-object-1.mod" 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 the object elements that require their content. Note that use of this module requires instantiation of the Param Element Module prior to this module. object: Generic Embedded Object content model is "( #PCDATA | %Flow.mix; | param )*" XHTML Structure Module This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" SYSTEM "xhtml-struct-1.mod" 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. 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. head: Document Head Note: profile attribute is defined to have %XHTML.profile; as default value, but for the moment it's defined to be optional body: Document Body html: XHTML Document Element