diff options
Diffstat (limited to '')
-rw-r--r-- | tags/cpp-1.0-incubating-M2-RC1/sdo/runtime/core/test/xhtml1.xsd | 2245 |
1 files changed, 2245 insertions, 0 deletions
diff --git a/tags/cpp-1.0-incubating-M2-RC1/sdo/runtime/core/test/xhtml1.xsd b/tags/cpp-1.0-incubating-M2-RC1/sdo/runtime/core/test/xhtml1.xsd new file mode 100644 index 0000000000..54d78e0366 --- /dev/null +++ b/tags/cpp-1.0-incubating-M2-RC1/sdo/runtime/core/test/xhtml1.xsd @@ -0,0 +1,2245 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema version="1.0" xml:lang="en" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/1999/xhtml" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:xml="http://www.w3.org/XML/1998/namespace" + elementFormDefault="qualified"> + + <xs:annotation> + <xs:documentation> + XHTML 1.0 (Second Edition) Strict in XML Schema + + This is the same as HTML 4 Strict except for + changes due to the differences between XML and SGML. + + Namespace = http://www.w3.org/1999/xhtml + + For further information, see: http://www.w3.org/TR/xhtml1 + + Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio), + All Rights Reserved. + + The DTD version is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + + $Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $ + </xs:documentation> + </xs:annotation> + + <!-- <xs:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="xml.xsd"/> --> + + <xs:annotation> + <xs:documentation> + ================ Character mnemonic entities ========================= + + XHTML entity sets are identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent" + + PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent" + + PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent" + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + ================== Imported Names ==================================== + </xs:documentation> + </xs:annotation> + + <xs:simpleType name="ContentType"> + <xs:annotation> + <xs:documentation> + media type, as per [RFC2045] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="ContentTypes"> + <xs:annotation> + <xs:documentation> + comma-separated list of media types, as per [RFC2045] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="Charset"> + <xs:annotation> + <xs:documentation> + a character encoding, as per [RFC2045] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="Charsets"> + <xs:annotation> + <xs:documentation> + a space separated list of character encodings, as per [RFC2045] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="LanguageCode"> + <xs:annotation> + <xs:documentation> + a language code, as per [RFC3066] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:language"/> + </xs:simpleType> + + <xs:simpleType name="Character"> + <xs:annotation> + <xs:documentation> + a single character, as per section 2.2 of [XML] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:length value="1" fixed="true"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="Number"> + <xs:annotation> + <xs:documentation> + one or more digits + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:nonNegativeInteger"> + <xs:pattern value="[0-9]+"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="tabindexNumber"> + <xs:annotation> + <xs:documentation> + 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. + </xs:documentation> + </xs:annotation> + <xs:restriction base="Number"> + <xs:minInclusive value="0"/> + <xs:maxInclusive value="32767"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="LinkTypes"> + <xs:annotation> + <xs:documentation> + space-separated list of link types + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:NMTOKENS"/> + </xs:simpleType> + + <xs:simpleType name="MediaDesc"> + <xs:annotation> + <xs:documentation> + single or comma-separated list of media descriptors + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern value="[^,]+(,\s*[^,]+)*"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="URI"> + <xs:annotation> + <xs:documentation> + a Uniform Resource Identifier, see [RFC2396] + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:anyURI"/> + </xs:simpleType> + + <xs:simpleType name="UriList"> + <xs:annotation> + <xs:documentation> + a space separated list of Uniform Resource Identifiers + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="Datetime"> + <xs:annotation> + <xs:documentation> + date and time information. ISO date format + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:dateTime"/> + </xs:simpleType> + + <xs:simpleType name="Script"> + <xs:annotation> + <xs:documentation> + script expression + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="StyleSheet"> + <xs:annotation> + <xs:documentation> + style sheet data + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="Text"> + <xs:annotation> + <xs:documentation> + used for titles etc. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"/> + </xs:simpleType> + + <xs:simpleType name="Length"> + <xs:annotation> + <xs:documentation> + nn for pixels or nn% for percentage length + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="MultiLength"> + <xs:annotation> + <xs:documentation> + pixel, percentage, or relative + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="Pixels"> + <xs:annotation> + <xs:documentation> + integer representing length in pixels + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:nonNegativeInteger"/> + </xs:simpleType> + + <xs:annotation> + <xs:documentation> + these are used for image maps + </xs:documentation> + </xs:annotation> + + <xs:simpleType name="Shape"> + <xs:restriction base="xs:token"> + <xs:enumeration value="rect"/> + <xs:enumeration value="circle"/> + <xs:enumeration value="poly"/> + <xs:enumeration value="default"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="Coords"> + <xs:annotation> + <xs:documentation> + comma separated list of lengths + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern + value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/> + </xs:restriction> + </xs:simpleType> + + <xs:annotation> + <xs:documentation> + =================== Generic Attributes =============================== + </xs:documentation> + </xs:annotation> + + <xs:attributeGroup name="coreattrs"> + <xs:annotation> + <xs:documentation> + core attributes common to most elements + id document-wide unique id + class space separated list of classes + style associated style info + title advisory title/amplification + </xs:documentation> + </xs:annotation> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="class" type="xs:NMTOKENS"/> + <xs:attribute name="style" type="StyleSheet"/> + <xs:attribute name="title" type="Text"/> + </xs:attributeGroup> + + <xs:attributeGroup name="i18n"> + <xs:annotation> + <xs:documentation> + internationalization attributes + lang language code (backwards compatible) + xml:lang language code (as per XML 1.0 spec) + dir direction for weak/neutral text + </xs:documentation> + </xs:annotation> + <xs:attribute name="lang" type="LanguageCode"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute name="dir"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="ltr"/> + <xs:enumeration value="rtl"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + + <xs:attributeGroup name="events"> + <xs:annotation> + <xs:documentation> + attributes for common UI events + onclick a pointer button was clicked + ondblclick a pointer button was double clicked + onmousedown a pointer button was pressed down + onmouseup a pointer button was released + onmousemove a pointer was moved onto the element + onmouseout a pointer was moved away from the element + onkeypress a key was pressed and released + onkeydown a key was pressed down + onkeyup a key was released + </xs:documentation> + </xs:annotation> + <xs:attribute name="onclick" type="Script"/> + <xs:attribute name="ondblclick" type="Script"/> + <xs:attribute name="onmousedown" type="Script"/> + <xs:attribute name="onmouseup" type="Script"/> + <xs:attribute name="onmouseover" type="Script"/> + <xs:attribute name="onmousemove" type="Script"/> + <xs:attribute name="onmouseout" type="Script"/> + <xs:attribute name="onkeypress" type="Script"/> + <xs:attribute name="onkeydown" type="Script"/> + <xs:attribute name="onkeyup" type="Script"/> + </xs:attributeGroup> + + <xs:attributeGroup name="focus"> + <xs:annotation> + <xs:documentation> + attributes for elements that can get the focus + accesskey accessibility key character + tabindex position in tabbing order + onfocus the element got the focus + onblur the element lost the focus + </xs:documentation> + </xs:annotation> + <xs:attribute name="accesskey" type="Character"/> + <xs:attribute name="tabindex" type="tabindexNumber"/> + <xs:attribute name="onfocus" type="Script"/> + <xs:attribute name="onblur" type="Script"/> + </xs:attributeGroup> +<!-- + <xs:attributeGroup name="attrs"> + <xs:attributeGroup ref="coreattrs"/> + <xs:attributeGroup ref="i18n"/> + <xs:attributeGroup ref="events"/> + </xs:attributeGroup> +--> + <xs:attributeGroup name="attrs"> + + <!-- coreattrs attribute group --> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="class" type="xs:NMTOKENS"/> + <xs:attribute name="style" type="StyleSheet"/> + <xs:attribute name="title" type="Text"/> + + <!-- i18n attribute group --> + <xs:attribute name="lang" type="LanguageCode"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute name="dir"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="ltr"/> + <xs:enumeration value="rtl"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <!-- events attribute group --> + <xs:attribute name="onclick" type="Script"/> + <xs:attribute name="ondblclick" type="Script"/> + <xs:attribute name="onmousedown" type="Script"/> + <xs:attribute name="onmouseup" type="Script"/> + <xs:attribute name="onmouseover" type="Script"/> + <xs:attribute name="onmousemove" type="Script"/> + <xs:attribute name="onmouseout" type="Script"/> + <xs:attribute name="onkeypress" type="Script"/> + <xs:attribute name="onkeydown" type="Script"/> + <xs:attribute name="onkeyup" type="Script"/> + </xs:attributeGroup> + + + <xs:annotation> + <xs:documentation> + =================== Text Elements ==================================== + </xs:documentation> + </xs:annotation> + + <xs:group name="special.pre"> + <xs:choice> + <xs:element ref="br"/> + <xs:element ref="span"/> + <xs:element ref="bdo"/> + <xs:element ref="map"/> + </xs:choice> + </xs:group> + + <xs:group name="special"> + <xs:choice> + <xs:group ref="special.pre"/> + <xs:element ref="object"/> + <xs:element ref="img"/> + </xs:choice> + </xs:group> + + <xs:group name="fontstyle"> + <xs:choice> + <xs:element ref="tt"/> + <xs:element ref="i"/> + <xs:element ref="b"/> + <xs:element ref="big"/> + <xs:element ref="small"/> + </xs:choice> + </xs:group> + + <xs:group name="phrase"> + <xs:choice> + <xs:element ref="em"/> + <xs:element ref="strong"/> + <xs:element ref="dfn"/> + <xs:element ref="code"/> + <xs:element ref="q"/> + <xs:element ref="samp"/> + <xs:element ref="kbd"/> + <xs:element ref="var"/> + <xs:element ref="cite"/> + <xs:element ref="abbr"/> + <xs:element ref="acronym"/> + <xs:element ref="sub"/> + <xs:element ref="sup"/> + </xs:choice> + </xs:group> + + <xs:group name="inline.forms"> + <xs:choice> + <xs:element ref="input"/> + <xs:element ref="select"/> + <xs:element ref="textarea"/> + <xs:element ref="label"/> + <xs:element ref="button"/> + </xs:choice> + </xs:group> + + <xs:group name="misc.inline"> + <xs:choice> + <xs:element ref="ins"/> + <xs:element ref="del"/> + <xs:element ref="script"/> + </xs:choice> + </xs:group> + + <xs:group name="misc"> + <xs:annotation> + <xs:documentation> + these can only occur at block level + </xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element ref="noscript"/> + <xs:group ref="misc.inline"/> + </xs:choice> + </xs:group> + + <xs:group name="inline"> + <xs:choice> + <xs:element ref="a"/> + <xs:group ref="special"/> + <xs:group ref="fontstyle"/> + <xs:group ref="phrase"/> + <xs:group ref="inline.forms"/> + </xs:choice> + </xs:group> + + <xs:complexType name="Inline" mixed="true"> + <xs:annotation> + <xs:documentation> + "Inline" covers inline or "text-level" elements + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="inline"/> + <xs:group ref="misc.inline"/> + </xs:choice> + </xs:complexType> + + <xs:annotation> + <xs:documentation> + ================== Block level elements ============================== + </xs:documentation> + </xs:annotation> + + <xs:group name="heading"> + <xs:choice> + <xs:element ref="h1"/> + <xs:element ref="h2"/> + <xs:element ref="h3"/> + <xs:element ref="h4"/> + <xs:element ref="h5"/> + <xs:element ref="h6"/> + </xs:choice> + </xs:group> + + <xs:group name="lists"> + <xs:choice> + <xs:element ref="ul"/> + <xs:element ref="ol"/> + <xs:element ref="dl"/> + </xs:choice> + </xs:group> + + <xs:group name="blocktext"> + <xs:choice> + <xs:element ref="pre"/> + <xs:element ref="hr"/> + <xs:element ref="blockquote"/> + <xs:element ref="address"/> + </xs:choice> + </xs:group> + + <xs:group name="block"> + <xs:choice> + <xs:element ref="p"/> + <xs:group ref="heading"/> + <xs:element ref="div"/> + <xs:group ref="lists"/> + <xs:group ref="blocktext"/> + <xs:element ref="fieldset"/> + <xs:element ref="table"/> + </xs:choice> + </xs:group> + + <xs:complexType name="Block"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="block"/> + <xs:element ref="form"/> + <xs:group ref="misc"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="Flow" mixed="true"> + <xs:annotation> + <xs:documentation> + "Flow" mixes block and inline and is used for list items etc. + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="block"/> + <xs:element ref="form"/> + <xs:group ref="inline"/> + <xs:group ref="misc"/> + </xs:choice> + </xs:complexType> + + <xs:annotation> + <xs:documentation> + ================== Content models for exclusions ===================== + </xs:documentation> + </xs:annotation> + + <xs:complexType name="a.content" mixed="true"> + <xs:annotation> + <xs:documentation> + a elements use "Inline" excluding a + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="special"/> + <xs:group ref="fontstyle"/> + <xs:group ref="phrase"/> + <xs:group ref="inline.forms"/> + <xs:group ref="misc.inline"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="pre.content" mixed="true"> + <xs:annotation> + <xs:documentation> + pre uses "Inline" excluding big, small, sup or sup + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="a"/> + <xs:group ref="fontstyle"/> + <xs:group ref="phrase"/> + <xs:group ref="special.pre"/> + <xs:group ref="misc.inline"/> + <xs:group ref="inline.forms"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="form.content"> + <xs:annotation> + <xs:documentation> + form uses "Block" excluding form + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="block"/> + <xs:group ref="misc"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="button.content" mixed="true"> + <xs:annotation> + <xs:documentation> + button uses "Flow" but excludes a, form and form controls + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="p"/> + <xs:group ref="heading"/> + <xs:element ref="div"/> + <xs:group ref="lists"/> + <xs:group ref="blocktext"/> + <xs:element ref="table"/> + <xs:group ref="special"/> + <xs:group ref="fontstyle"/> + <xs:group ref="phrase"/> + <xs:group ref="misc"/> + </xs:choice> + </xs:complexType> + + <xs:annotation> + <xs:documentation> + ================ Document Structure ================================== + </xs:documentation> + </xs:annotation> + + <xs:element name="html"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + <xs:attributeGroup ref="i18n"/> + <xs:attribute name="id" type="xs:ID"/> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ================ Document Head ======================================= + </xs:documentation> + </xs:annotation> + + <xs:group name="head.misc"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="script"/> + <xs:element ref="style"/> + <xs:element ref="meta"/> + <xs:element ref="link"/> + <xs:element ref="object"/> + </xs:choice> + </xs:sequence> + </xs:group> + + <xs:element name="head"> + <xs:annotation> + <xs:documentation> + content model is "head.misc" combined with a single + title and an optional base element in any order + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:group ref="head.misc"/> + <xs:choice> + <xs:sequence> + <xs:element ref="title"/> + <xs:group ref="head.misc"/> + <xs:sequence minOccurs="0"> + <xs:element ref="base"/> + <xs:group ref="head.misc"/> + </xs:sequence> + </xs:sequence> + <xs:sequence> + <xs:element ref="base"/> + <xs:group ref="head.misc"/> + <xs:element ref="title"/> + <xs:group ref="head.misc"/> + </xs:sequence> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="i18n"/> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="profile" type="URI"/> + </xs:complexType> + </xs:element> + + <xs:element name="title"> + <xs:annotation> + <xs:documentation> + 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. + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:attributeGroup ref="i18n"/> + <xs:attribute name="id" type="xs:ID"/> + </xs:complexType> + </xs:element> + + <xs:element name="base"> + <xs:annotation> + <xs:documentation> + document base URI + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="href" use="required" type="URI"/> + <xs:attribute name="id" type="xs:ID"/> + </xs:complexType> + </xs:element> + + <xs:element name="meta"> + <xs:annotation> + <xs:documentation> + generic metainformation + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="i18n"/> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="http-equiv"/> + <xs:attribute name="name"/> + <xs:attribute name="content" use="required"/> + <xs:attribute name="scheme"/> + </xs:complexType> + </xs:element> + + <xs:element name="link"> + <xs:annotation> + <xs:documentation> + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the link element in document head 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") + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="charset" type="Charset"/> + <xs:attribute name="href" type="URI"/> + <xs:attribute name="hreflang" type="LanguageCode"/> + <xs:attribute name="type" type="ContentType"/> + <xs:attribute name="rel" type="LinkTypes"/> + <xs:attribute name="rev" type="LinkTypes"/> + <xs:attribute name="media" type="MediaDesc"/> + </xs:complexType> + </xs:element> + + <xs:element name="style"> + <xs:annotation> + <xs:documentation> + style info, which may include CDATA sections + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:attributeGroup ref="i18n"/> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="type" use="required" type="ContentType"/> + <xs:attribute name="media" type="MediaDesc"/> + <xs:attribute name="title" type="Text"/> + <xs:attribute ref="xml:space" fixed="preserve"/> + </xs:complexType> + </xs:element> + + <xs:element name="script"> + <xs:annotation> + <xs:documentation> + script statements, which may include CDATA sections + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="charset" type="Charset"/> + <xs:attribute name="type" use="required" type="ContentType"/> + <xs:attribute name="src" type="URI"/> + <xs:attribute name="defer"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="defer"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute ref="xml:space" fixed="preserve"/> + </xs:complexType> + </xs:element> + + <xs:element name="noscript"> + <xs:annotation> + <xs:documentation> + alternate content container for non script-based rendering + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:complexContent> + <xs:extension base="Block"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Document Body ==================================== + </xs:documentation> + </xs:annotation> + + <xs:element name="body"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="Block"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="onload" type="Script"/> + <xs:attribute name="onunload" type="Script"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="div"> + <xs:annotation> + <xs:documentation> + generic language/style container + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Paragraphs ======================================= + </xs:documentation> + </xs:annotation> + + <xs:element name="p"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Headings ========================================= + + There are six levels of headings from h1 (the most important) + to h6 (the least important). + </xs:documentation> + </xs:annotation> + + <xs:element name="h1"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="h2"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="h3"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="h4"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="h5"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="h6"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Lists ============================================ + </xs:documentation> + </xs:annotation> + + <xs:element name="ul"> + <xs:annotation> + <xs:documentation> + Unordered list + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="li"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + </xs:complexType> + </xs:element> + + <xs:element name="ol"> + <xs:annotation> + <xs:documentation> + Ordered (numbered) list + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="li"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + </xs:complexType> + </xs:element> + + <xs:element name="li"> + <xs:annotation> + <xs:documentation> + list item + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + definition lists - dt for term, dd for its definition + </xs:documentation> + </xs:annotation> + + <xs:element name="dl"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="dt"/> + <xs:element ref="dd"/> + </xs:choice> + <xs:attributeGroup ref="attrs"/> + </xs:complexType> + </xs:element> + + <xs:element name="dt"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="dd"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Address ========================================== + </xs:documentation> + </xs:annotation> + + <xs:element name="address"> + <xs:annotation> + <xs:documentation> + information on author + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Horizontal Rule ================================== + </xs:documentation> + </xs:annotation> + + <xs:element name="hr"> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Preformatted Text ================================ + </xs:documentation> + </xs:annotation> + + <xs:element name="pre"> + <xs:annotation> + <xs:documentation> + content is "Inline" excluding "img|object|big|small|sub|sup" + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="pre.content"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute ref="xml:space" fixed="preserve"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Block-like Quotes ================================ + </xs:documentation> + </xs:annotation> + + <xs:element name="blockquote"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="Block"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="cite" type="URI"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Inserted/Deleted Text ============================ + + ins/del are allowed in block and inline content, but its + inappropriate to include block content within an ins element + occurring in inline content. + </xs:documentation> + </xs:annotation> + + <xs:element name="ins"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="cite" type="URI"/> + <xs:attribute name="datetime" type="Datetime"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="del"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="cite" type="URI"/> + <xs:attribute name="datetime" type="Datetime"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ================== The Anchor Element ================================ + </xs:documentation> + </xs:annotation> + + <xs:element name="a"> + <xs:annotation> + <xs:documentation> + content is "Inline" except that anchors shouldn't be nested + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="a.content"> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="focus"/> + <xs:attribute name="charset" type="Charset"/> + <xs:attribute name="type" type="ContentType"/> + <xs:attribute name="name" type="xs:NMTOKEN"/> + <xs:attribute name="href" type="URI"/> + <xs:attribute name="hreflang" type="LanguageCode"/> + <xs:attribute name="rel" type="LinkTypes"/> + <xs:attribute name="rev" type="LinkTypes"/> + <xs:attribute name="shape" default="rect" type="Shape"/> + <xs:attribute name="coords" type="Coords"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ===================== Inline Elements ================================ + </xs:documentation> + </xs:annotation> + + <xs:element name="span"> + <xs:annotation> + <xs:documentation> + generic language/style container + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="bdo"> + <xs:annotation> + <xs:documentation> + I18N BiDi over-ride + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="coreattrs"/> + <xs:attributeGroup ref="events"/> + <xs:attribute name="lang" type="LanguageCode"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute name="dir" use="required"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="ltr"/> + <xs:enumeration value="rtl"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="br"> + <xs:annotation> + <xs:documentation> + forced line break + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="coreattrs"/> + </xs:complexType> + </xs:element> + + <xs:element name="em"> + <xs:annotation> + <xs:documentation> + emphasis + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="strong"> + <xs:annotation> + <xs:documentation> + strong emphasis + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="dfn"> + <xs:annotation> + <xs:documentation> + definitional + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="code"> + <xs:annotation> + <xs:documentation> + program code + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="samp"> + <xs:annotation> + <xs:documentation> + sample + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="kbd"> + <xs:annotation> + <xs:documentation> + something user would type + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="var"> + <xs:annotation> + <xs:documentation> + variable + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="cite"> + <xs:annotation> + <xs:documentation> + citation + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="abbr"> + <xs:annotation> + <xs:documentation> + abbreviation + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="acronym"> + <xs:annotation> + <xs:documentation> + acronym + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="q"> + <xs:annotation> + <xs:documentation> + inlined quote + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="cite" type="URI"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="sub"> + <xs:annotation> + <xs:documentation> + subscript + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="sup"> + <xs:annotation> + <xs:documentation> + superscript + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="tt"> + <xs:annotation> + <xs:documentation> + fixed pitch font + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="i"> + <xs:annotation> + <xs:documentation> + italic font + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="b"> + <xs:annotation> + <xs:documentation> + bold font + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="big"> + <xs:annotation> + <xs:documentation> + bigger font + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="small"> + <xs:annotation> + <xs:documentation> + smaller font + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ==================== Object ====================================== + + object is used to embed objects as part of HTML pages. + param elements should precede other content. Parameters + can also be expressed as attribute/value pairs on the + object element itself when brevity is desired. + </xs:documentation> + </xs:annotation> + + <xs:element name="object"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="param"/> + <xs:group ref="block"/> + <xs:element ref="form"/> + <xs:group ref="inline"/> + <xs:group ref="misc"/> + </xs:choice> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="declare"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="declare"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="classid" type="URI"/> + <xs:attribute name="codebase" type="URI"/> + <xs:attribute name="data" type="URI"/> + <xs:attribute name="type" type="ContentType"/> + <xs:attribute name="codetype" type="ContentType"/> + <xs:attribute name="archive" type="UriList"/> + <xs:attribute name="standby" type="Text"/> + <xs:attribute name="height" type="Length"/> + <xs:attribute name="width" type="Length"/> + <xs:attribute name="usemap" type="URI"/> + <xs:attribute name="name" type="xs:NMTOKEN"/> + <xs:attribute name="tabindex" type="tabindexNumber"/> + </xs:complexType> + </xs:element> + + <xs:element name="param"> + <xs:annotation> + <xs:documentation> + param is used to supply a named property value. + In XML it would seem natural to follow RDF and support an + abbreviated syntax where the param elements are replaced + by attribute value pairs on the object start tag. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="id" type="xs:ID"/> + <xs:attribute name="name"/> + <xs:attribute name="value"/> + <xs:attribute name="valuetype" default="data"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="data"/> + <xs:enumeration value="ref"/> + <xs:enumeration value="object"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="type" type="ContentType"/> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + =================== Images =========================================== + + To avoid accessibility problems for people who aren't + able to see the image, you should provide a text + description using the alt and longdesc attributes. + In addition, avoid the use of server-side image maps. + Note that in this DTD there is no name attribute. That + is only available in the transitional and frameset DTD. + </xs:documentation> + </xs:annotation> + + <xs:element name="img"> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="src" use="required" type="URI"/> + <xs:attribute name="alt" use="required" type="Text"/> + <xs:attribute name="longdesc" type="URI"/> + <xs:attribute name="height" type="Length"/> + <xs:attribute name="width" type="Length"/> + <xs:attribute name="usemap" type="URI"> + <xs:annotation> + <xs:documentation> + usemap points to a map element which may be in this document + or an external document, although the latter is not widely supported + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="ismap"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="ismap"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ================== Client-side image maps ============================ + + These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported + </xs:documentation> + </xs:annotation> + + <xs:element name="map"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:group ref="block"/> + <xs:element ref="form"/> + <xs:group ref="misc"/> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="area"/> + </xs:choice> + <xs:attributeGroup ref="i18n"/> + <xs:attributeGroup ref="events"/> + <xs:attribute name="id" use="required" type="xs:ID"/> + <xs:attribute name="class"/> + <xs:attribute name="style" type="StyleSheet"/> + <xs:attribute name="title" type="Text"/> + <xs:attribute name="name" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + + <xs:element name="area"> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="focus"/> + <xs:attribute name="shape" default="rect" type="Shape"/> + <xs:attribute name="coords" type="Coords"/> + <xs:attribute name="href" type="URI"/> + <xs:attribute name="nohref"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="nohref"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="alt" use="required" type="Text"/> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ================ Forms =============================================== + </xs:documentation> + </xs:annotation> + + <xs:element name="form"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="form.content"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="action" use="required" type="URI"/> + <xs:attribute name="method" default="get"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="get"/> + <xs:enumeration value="post"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="enctype" type="ContentType" + default="application/x-www-form-urlencoded"/> + <xs:attribute name="onsubmit" type="Script"/> + <xs:attribute name="onreset" type="Script"/> + <xs:attribute name="accept" type="ContentTypes"/> + <xs:attribute name="accept-charset" type="Charsets"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="label"> + <xs:annotation> + <xs:documentation> + Each label must not contain more than ONE field + Label elements shouldn't be nested. + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="for" type="xs:IDREF"/> + <xs:attribute name="accesskey" type="Character"/> + <xs:attribute name="onfocus" type="Script"/> + <xs:attribute name="onblur" type="Script"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:simpleType name="InputType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="text"/> + <xs:enumeration value="password"/> + <xs:enumeration value="checkbox"/> + <xs:enumeration value="radio"/> + <xs:enumeration value="submit"/> + <xs:enumeration value="reset"/> + <xs:enumeration value="file"/> + <xs:enumeration value="hidden"/> + <xs:enumeration value="image"/> + <xs:enumeration value="button"/> + </xs:restriction> + </xs:simpleType> + + <xs:element name="input"> + <xs:annotation> + <xs:documentation> + form control + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="focus"/> + <xs:attribute name="type" default="text" type="InputType"/> + <xs:attribute name="name"> + <xs:annotation> + <xs:documentation> + the name attribute is required for all but submit & reset + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="value"/> + <xs:attribute name="checked"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="checked"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="readonly"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="readonly"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="size"/> + <xs:attribute name="maxlength" type="Number"/> + <xs:attribute name="src" type="URI"/> + <xs:attribute name="alt"/> + <xs:attribute name="usemap" type="URI"/> + <xs:attribute name="onselect" type="Script"/> + <xs:attribute name="onchange" type="Script"/> + <xs:attribute name="accept" type="ContentTypes"/> + </xs:complexType> + </xs:element> + + <xs:element name="select"> + <xs:annotation> + <xs:documentation> + option selector + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="optgroup"/> + <xs:element ref="option"/> + </xs:choice> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="name"/> + <xs:attribute name="size" type="Number"/> + <xs:attribute name="multiple"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="multiple"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="tabindex" type="tabindexNumber"/> + <xs:attribute name="onfocus" type="Script"/> + <xs:attribute name="onblur" type="Script"/> + <xs:attribute name="onchange" type="Script"/> + </xs:complexType> + </xs:element> + + <xs:element name="optgroup"> + <xs:annotation> + <xs:documentation> + option group + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="option"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="label" use="required" type="Text"/> + </xs:complexType> + </xs:element> + + <xs:element name="option"> + <xs:annotation> + <xs:documentation> + selectable choice + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="selected"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="selected"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="label" type="Text"/> + <xs:attribute name="value"/> + </xs:complexType> + </xs:element> + + <xs:element name="textarea"> + <xs:annotation> + <xs:documentation> + multi-line text field + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="focus"/> + <xs:attribute name="name"/> + <xs:attribute name="rows" use="required" type="Number"/> + <xs:attribute name="cols" use="required" type="Number"/> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="readonly"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="readonly"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="onselect" type="Script"/> + <xs:attribute name="onchange" type="Script"/> + </xs:complexType> + </xs:element> + + <xs:element name="fieldset"> + <xs:annotation> + <xs:documentation> + The fieldset element is used to group form fields. + Only one legend element should occur in the content + and if present should only be preceded by whitespace. + + NOTE: this content model is different from the XHTML 1.0 DTD, + closer to the intended content model in HTML4 DTD + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element ref="legend"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="block"/> + <xs:element ref="form"/> + <xs:group ref="inline"/> + <xs:group ref="misc"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + </xs:complexType> + </xs:element> + + <xs:element name="legend"> + <xs:annotation> + <xs:documentation> + fieldset label + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="accesskey" type="Character"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="button"> + <xs:annotation> + <xs:documentation> + Content is "Flow" excluding a, form and form controls + </xs:documentation> + </xs:annotation> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="button.content"> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="focus"/> + <xs:attribute name="name"/> + <xs:attribute name="value"/> + <xs:attribute name="type" default="submit"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="button"/> + <xs:enumeration value="submit"/> + <xs:enumeration value="reset"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="disabled"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="disabled"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + ======================= Tables ======================================= + + Derived from IETF HTML table standard, see [RFC1942] + </xs:documentation> + </xs:annotation> + + <xs:simpleType name="TFrame"> + <xs:annotation> + <xs:documentation> + The border attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + 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. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:token"> + <xs:enumeration value="void"/> + <xs:enumeration value="above"/> + <xs:enumeration value="below"/> + <xs:enumeration value="hsides"/> + <xs:enumeration value="lhs"/> + <xs:enumeration value="rhs"/> + <xs:enumeration value="vsides"/> + <xs:enumeration value="box"/> + <xs:enumeration value="border"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="TRules"> + <xs:annotation> + <xs:documentation> + 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" + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:token"> + <xs:enumeration value="none"/> + <xs:enumeration value="groups"/> + <xs:enumeration value="rows"/> + <xs:enumeration value="cols"/> + <xs:enumeration value="all"/> + </xs:restriction> + </xs:simpleType> + + <xs:attributeGroup name="cellhalign"> + <xs:annotation> + <xs:documentation> + horizontal alignment attributes for cell contents + + char alignment char, e.g. char=':' + charoff offset for alignment char + </xs:documentation> + </xs:annotation> + <xs:attribute name="align"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="left"/> + <xs:enumeration value="center"/> + <xs:enumeration value="right"/> + <xs:enumeration value="justify"/> + <xs:enumeration value="char"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="char" type="Character"/> + <xs:attribute name="charoff" type="Length"/> + </xs:attributeGroup> + + <xs:attributeGroup name="cellvalign"> + <xs:annotation> + <xs:documentation> + vertical alignment attributes for cell contents + </xs:documentation> + </xs:annotation> + <xs:attribute name="valign"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="top"/> + <xs:enumeration value="middle"/> + <xs:enumeration value="bottom"/> + <xs:enumeration value="baseline"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + + <xs:element name="table"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="caption"/> + <xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/> + </xs:choice> + <xs:element minOccurs="0" ref="thead"/> + <xs:element minOccurs="0" ref="tfoot"/> + <xs:choice> + <xs:element maxOccurs="unbounded" ref="tbody"/> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="summary" type="Text"/> + <xs:attribute name="width" type="Length"/> + <xs:attribute name="border" type="Pixels"/> + <xs:attribute name="frame" type="TFrame"/> + <xs:attribute name="rules" type="TRules"/> + <xs:attribute name="cellspacing" type="Length"/> + <xs:attribute name="cellpadding" type="Length"/> + </xs:complexType> + </xs:element> + + <xs:element name="caption"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Inline"> + <xs:attributeGroup ref="attrs"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:annotation> + <xs:documentation> + Use thead to duplicate headers when breaking table + across page boundaries, or for static headers when + tbody sections are rendered in scrolling panel. + + Use tfoot to duplicate footers when breaking table + across page boundaries, or for static footers when + tbody sections are rendered in scrolling panel. + + Use multiple tbody sections when rules are needed + between groups of table rows. + </xs:documentation> + </xs:annotation> + + <xs:element name="thead"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:element name="tfoot"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:element name="tbody"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:element name="colgroup"> + <xs:annotation> + <xs:documentation> + colgroup groups a set of col elements. It allows you to group + several semantically related columns together. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + </xs:sequence> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="span" default="1" type="Number"/> + <xs:attribute name="width" type="MultiLength"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:element name="col"> + <xs:annotation> + <xs:documentation> + 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. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="span" default="1" type="Number"/> + <xs:attribute name="width" type="MultiLength"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:element name="tr"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="th"/> + <xs:element ref="td"/> + </xs:choice> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:complexType> + </xs:element> + + <xs:simpleType name="Scope"> + <xs:annotation> + <xs:documentation> + Scope is simpler than headers attribute for common tables + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:token"> + <xs:enumeration value="row"/> + <xs:enumeration value="col"/> + <xs:enumeration value="rowgroup"/> + <xs:enumeration value="colgroup"/> + </xs:restriction> + </xs:simpleType> + + <xs:annotation> + <xs:documentation> + th is for headers, td for data and for cells acting as both + </xs:documentation> + </xs:annotation> + + <xs:element name="th"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="abbr" type="Text"/> + <xs:attribute name="axis"/> + <xs:attribute name="headers" type="xs:IDREFS"/> + <xs:attribute name="scope" type="Scope"/> + <xs:attribute name="rowspan" default="1" type="Number"/> + <xs:attribute name="colspan" default="1" type="Number"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:complexContent> + <xs:extension base="Flow"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="abbr" type="Text"/> + <xs:attribute name="axis"/> + <xs:attribute name="headers" type="xs:IDREFS"/> + <xs:attribute name="scope" type="Scope"/> + <xs:attribute name="rowspan" default="1" type="Number"/> + <xs:attribute name="colspan" default="1" type="Number"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + +</xs:schema> |