Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

8333 lines
286 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>XHTML 1.0 in XML Schema</title>
<link rel="stylesheet" type="text/css" href="style/style.css">
<link rel="stylesheet" type="text/css"
href="http://www.w3.org/StyleSheets/TR/W3C-NOTE">
<link rel="copyright" href="#copyright">
<link rel="contents" href="#contents">
<link rel="alternate" type="text/html" title="HTML version"
href="Overview.html">
<link rel="alternate" type="application/xhtml+xml" title="XHTML version"
href="Overview.xhtml">
</head>
<body>
<div class="head">
<p><a href="http://www.w3.org/"><img height="48" width="72" alt="W3C"
src="http://www.w3.org/Icons/w3c_home"></a></p>
<h1 id="title"><abbr
title="Extensible HyperText Markup Language">XHTML</abbr>&#8482; 1.0
in <abbr title="Extensible Markup Language">XML</abbr> Schema</h1>
<h2 id="date"><abbr title="World Wide Web Consortium">W3C</abbr> Note
2 September 2002</h2>
<dl>
<dt id="thisVersion">This version:</dt>
<dd><p><a href="http://www.w3.org/TR/2002/NOTE-xhtml1-schema-20020902/"
>http://www.w3.org/TR/2002/NOTE-xhtml1-schema-20020902</a></p>
<p>(<a type="text/html" title="HTML served as 'text/html'"
href="Overview.html">HTML</a>,
<a type="application/xhtml+xml" title="XHTML served as 'application/xhtml+xml'"
href="Overview.xhtml">XHTML</a>)</p></dd>
<dt id="latestVersion">Latest version:</dt>
<dd><a href="http://www.w3.org/TR/xhtml1-schema/"
>http://www.w3.org/TR/xhtml1-schema</a></dd>
<dt id="editor">Editor:</dt>
<dd><a lang="ja" href="mailto:mimasa@w3.org">石川 雅康
(<span class="familyname">Ishikawa</span> Masayasu)</a>, W3C</dd>
</dl>
<p id="copyright" class="copyright"><a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright"
>Copyright</a> &#169;2002 <a href="http://www.w3.org/"><abbr
title="World Wide Web Consortium">W3C</abbr></a><sup>&#174;</sup>
(<a href="http://www.lcs.mit.edu/"><abbr
title="Massachusetts Institute of Technology">MIT</abbr></a>,
<a href="http://www.inria.fr/"><abbr lang="fr"
title="Institut National de Recherche en Informatique et Automatique"
>INRIA</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights
Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer"
>liability</a>, <a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks"
>trademark</a>, <a
href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405">document
use</a> and <a
href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software
licensing</a> rules apply.</p>
</div>
<hr>
<h2 id="abstract">Abstract</h2>
<p>This document describes XML Schemas for XHTML 1.0.</p>
<h2 id="status">Status of This Document</h2>
<p><em>This section describes the status of this document at the time of its
publication. Other documents may supersede this document. The latest
status of this document series is maintained at the W3C.</em></p>
<p>This document is a
<a href="http://www.w3.org/Consortium/Process-20010719/tr.html#Notes">Note</a>
made available by the World Wide Web Consortium (W3C) for your information.
Publication of this Note by W3C indicates no endorsement by W3C or
the W3C Team, or any W3C Members.</p>
<p>This document provides <em>informative</em> XML Schemas for XHTML 1.0
[<a href="#ref-xhtml1">XHTML1</a>].
These Schemas are still work in progress, and are likely to change in
future updates. This document may be updated, replaced, or obsoleted
by other documents at any time.
This document <em>does not</em> change the normative definition of XHTML 1.0.
Publication of this Note does not imply endorsement by the W3C, and it is
inappropriate to use this Note as reference material or to cite it as
other than "for your information".
A <a href="http://www.w3.org/TR">list of current W3C Recommendations</a>
and other technical documents can be found at http://www.w3.org/TR.</p>
<p>Comments and error reports on this document may be sent to
<a href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</a>
(<a href="http://lists.w3.org/Archives/Public/www-html-editor/">archive</a>).
Public discussion on this document may take place on the mailing list <a
href="mailto:www-html@w3.org"> www-html@w3.org</a> (<a href="
http://lists.w3.org/Archives/Public/www-html/">archive</a>).</p>
<p>This document has been produced as part of the <a
href="http://www.w3.org/MarkUp/Activity">W3C HTML Activity</a>. The goals of
the <a href="http://www.w3.org/MarkUp/Group/">W3C HTML Working Group</a>
<em>(<a href="http://cgi.w3.org/MemberAccess/">members only</a>)</em>
are discussed in the <a href="http://www.w3.org/2002/05/html/charter">HTML
Working Group charter</a>.</p>
<div class="toc">
<h2 id="contents">Table of Contents</h2>
<ul class="toc">
<li>1. <a href="#intro">Introduction</a>
<ul>
<li>1.1. <a href="#purpose">Purpose of this document</a></li>
<li>1.2. <a href="#diffs">Differences with DTD</a></li>
<li>1.3. <a href="#why">Why XML Schema?</a></li>
<li>1.4. <a href="#schema-loc">How to specify an XML Schema</a></li>
<li>1.5. <a href="#together">Using DTD and XML Schema together</a></li>
</ul>
</li>
<li>2. <a href="#schemas">XHTML 1.0 Schemas</a>
<ul>
<li>2.1. <a href="#xhtml1-strict">XHTML 1.0 Strict</a></li>
<li>2.2. <a href="#xhtml1-transitional">XHTML 1.0 Transitional</a></li>
<li>2.3. <a href="#xhtml1-frameset">XHTML 1.0 Frameset</a></li>
</ul>
</li>
<li><a href="#ref">References</a></li>
</ul>
</div>
<h2 id="intro">1. Introduction</h2>
<h2 id="purpose">1.1. Purpose of this document</h2>
<p>XHTML 1.0 [<a href="#ref-xhtml1">XHTML1</a>] reformulated HTML 4
[<a href="#ref-html4">HTML4</a>] as an XML 1.0 [<a href="#ref-xml">XML</a>]
application, and provided three DTDs corresponding to the ones defined
by HTML 4.
This document provides XML Schemas [<a href="#ref-xmlschema">XMLSchema</a>]
corresponding to those DTDs - Strict, Transitional and Frameset,
giving users an opportunity to use XHTML 1.0 where XML Schema
processing is desired.
In most part, these XML Schemas are written to imitate the structure of
the XHTML 1.0 DTDs as much as possible. Differences are summarized in
the following section.</p>
<p>People who wish to extend or subset XHTML should look into
<cite>Modularization of XHTML in XML Schema</cite>
[<a href="#ref-xhtml-m12n-schema">XHTMLM12NSchema</a>] instead.
XML Schemas for XHTML 1.1 [<a href="#ref-xhtml11">XHTML11</a>] and
XHTML Basic [<a href="#ref-xhtml-basic">XHTMLBasic</a>] will also be
provided when <cite>Modularization of XHTML in XML Schema</cite>
becomes stable.</p>
<h2 id="diffs">1.2. Differences with DTD</h2>
<p>There are many differences between DTD and XML Schema, but
major differences that affect the validation of XHTML 1.0 documents are
mentioned here.</p>
<p>Compared to the XHTML 1.0 DTDs, the XML Schema version provides
the following benefits:</p>
<dl class="diff">
<dt id="diff-datatyping">Strong datatyping</dt>
<dd>
<p>The following data types provide better validation than DTD
at least partially: </p>
<ul>
<li>Color</li>
<li>Coords</li>
<li>Character</li>
<li>Datetime</li>
<li>FrameTarget</li>
<li>LanguageCode</li>
<li>Length</li>
<li>MediaDesc</li>
<li>MultiLength</li>
<li>MultiLengths</li>
<li>Number</li>
<li>Pixels</li>
<li><code class="attribute">tabindex</code> attribute value</li>
<li>URI</li>
</ul>
</dd>
<dt id="diff-expressive-power">Better expressive power for describing
content models</dt>
<dd>
<p>The content model of the following element describes the intended
constraints better than DTD:</p>
<ul>
<li><code class="element">fieldset</code></li>
</ul>
</dd>
<dt id="diff-namespaces">Better namespace [<a href="#ref-xmlns">XMLNS</a>]
support</dt>
<dd>
<p>XHTML 1.0 DTDs can only work when element names are not prefixed, while
XML Schemas can work regardless of the prefix.</p>
</dd>
</dl>
<p>On the other hand, XML Schema <em>does not</em> provide the following
feature:</p>
<dl class="diff">
<dt id="diff-entities">Support for entities (e.g.
<code class="entity">&amp;euro;</code>
for the Euro sign)</dt>
<dd>
<p>To use entities, authors have to use the DTD mechanism.
See <a href="#together">section 1.5</a> to use DTD and XML Schema
together.</p>
</dd>
</dl>
<p>For more comparison of DTD and XML Schema, see "2.1.1. DTDs and XML Schema"
of <cite>Modularization of XHTML in XML Schema</cite>
[<a href="#ref-xhtml-m12n-schema">XHTMLM12NSchema</a>].</p>
<h2 id="why">1.3. Why XML Schema?</h2>
<p>There are some constraints in XHTML 1.0 where DTDs cannot verify but
XML Schemas can.</p>
<p>For example, an accesskey must be a single character, so the following
usage is non-conforming:</p>
<pre class="example"
>&lt;p>&lt;a accesskey="<em class="illegal">TOC</em>" rel="contents"
href="http://example.com/contents">Table of Contents&lt;/a>&lt;/p>
</pre>
<p>However, in DTD the attribute value for
the <code class="attribute">accesskey</code> attribute
(<code class="PE">%Character;</code>) is defined as CDATA,
which means any character data in any length, so DTD cannot
verify this error. XML Schema can flag this usage as an error.</p>
<p>Here's an another bogus example:</p>
<pre class="example"
>&lt;fieldset>
Family Name:
&lt;input name="familyname" type="text" tabindex="<em class="illegal">-1</em>" />
Given Name:
&lt;input name="givenname" type="text" tabindex="<em class="illegal">+2</em>" />
Address:
&lt;input name="address" type="text" tabindex="<em class="illegal">three</em>" />
...more personal information...
<em class="illegal">&lt;legend>Personal Information&lt;/legend></em>
&lt;/fieldset>
</pre>
<p>According to the spec, the <code class="attribute">tabindex</code>
attribute value must be a number between 0 and 32767, so the above usage is
non-conforming, but again it's only defined as CDATA in DTD. Also,
the <code class="element">legend</code> element should occur as
the first child of the <code class="element">fieldset</code> element and
only one <code class="element">legend</code> element may be used,
but DTD cannot express this constraint. XML Schema can enforce these
constraints.</p>
<p class="note"><strong>Note:</strong>
Strictly speaking the <code class="element">legend</code> element should
only be preceded by white space, but this constraint cannot be expressed
by XML Schema, either.</p>
<h2 id="schema-loc">1.4. How to specify an XML Schema</h2>
<p>Unlike DTD, which requires the use of the DOCTYPE declaration,
XML Schemas are not required to be specified in the instance itself.
However, when necessary, authors may specify an intended XML Schema
through the <code class="attribute">schemaLocation</code> attribute
in the XML Schema instance namespace, typically added to the root element.</p>
<p>For example, if an author wishes to use
the <a href="#xhtml1-strict">XML Schema for XHTML 1.0 Strict</a> provided
in this Note, the start tag of the <code class="element">html</code>
element might designate the location of the XML Schema like this:</p>
<pre class="example"
>&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
</pre>
<p>The namespace prefix <var class="ns-prefix">xsi</var> may be
changed to an arbitrary string. The attribute value of the
<code><var class="ns-prefix">xsi</var>:schemaLocation</code> attribute
is a pair (or pairs) of URI references, one for the namespace name and
one for a <em>hint</em> as to the location of an XML Schema.
Note that this is only a hint, and different XML Schema processors might
use different XML Schemas identified by other means.
See "4.3.2 How schema definitions are located on the Web" of
XML Schema Part 1 [<a href="#ref-xmlschema">XMLSchema</a>] for details.</p>
<h2 id="together">1.5. Using DTD and XML Schema together</h2>
<p>DTD validation and XML Schema validation are not mutually exclusive.
Sometimes authors might want to use some DTD features (e.g. entities) while
taking advantage of the XML Schema validation.</p>
<p>Authors may include the
<code><var class="ns-prefix">xsi</var>:schemaLocation</code> attribute
as described in the previous section, however, those attributes are not
defined in the XHTML 1.0 DTDs, so if authors wish to use DTD and XML Schema
together, those attributes must be declared in the internal DTD subset
like this:</p>
<pre class="example"
>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"[
<strong>&lt;!ATTLIST html
xmlns:xsi CDATA #FIXED "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation CDATA #IMPLIED
></strong>
]>
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
...
&lt;/html>
</pre>
<p>For authors' convenience, non-normative XHTML 1.0 DTDs that support
those attributes are available at the following
<abbr title="Uniform Resource Identifiers">URIs</abbr>:</p>
<dl class="loc">
<dt>XHTML 1.0 Strict</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd"
>http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd</a></dd>
<dt>XHTML 1.0 Transitional</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-transitional.dtd"
>http://www.w3.org/2002/08/xhtml/xhtml1-transitional.dtd</a></dd>
<dt>XHTML 1.0 Frameset</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-frameset.dtd"
>http://www.w3.org/2002/08/xhtml/xhtml1-frameset.dtd</a></dd>
</dl>
<p>With these DTDs, authors may use these attributes just like this:</p>
<pre class="example"
>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"<strong>http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd</strong>">
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
...
&lt;/html>
</pre>
<p>Or if authors with to use a different prefix for the XML Schema instance
namespace, the prefix can be changed as follows:</p>
<pre class="example"
>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd"[
<strong>&lt;!ENTITY % xsi "n1" ></strong>
]>
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"
xmlns:<strong>n1</strong>="http://www.w3.org/2001/XMLSchema-instance"
<strong>n1</strong>:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd">
...
&lt;/html>
</pre>
<h2 id="schemas">2. XHTML 1.0 Schemas</h2>
<p>This version of XML Schemas for XHTML 1.0 are available
at the following <abbr title="Uniform Resource Identifiers">URIs</abbr>:</p>
<dl class="loc">
<dt>XHTML 1.0 Strict</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd"
>http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd</a></dd>
<dt>XHTML 1.0 Transitional</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd"
>http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd</a></dd>
<dt>XHTML 1.0 Frameset</dt>
<dd><a href="http://www.w3.org/2002/08/xhtml/xhtml1-frameset.xsd"
>http://www.w3.org/2002/08/xhtml/xhtml1-frameset.xsd</a></dd>
</dl>
<h3 id="xhtml1-strict">2.1. XHTML 1.0 Strict</h3>
<pre id="xhtml1-strict.xsd" class="xsd"
>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;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"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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"
&#36;Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp &#36;
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ 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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Imported Names ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="ContentType"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
media type, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="ContentTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma-separated list of media types, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a character encoding, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charsets"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of character encodings, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LanguageCode"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a language code, as per [RFC3066]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:language"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Character"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a single character, as per section 2.2 of [XML]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:length value="1" fixed="true"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Number"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
one or more digits
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"&gt;
&lt;xs:pattern value="[0-9]+"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="tabindexNumber"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="Number"&gt;
&lt;xs:minInclusive value="0"/&gt;
&lt;xs:maxInclusive value="32767"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LinkTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
space-separated list of link types
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:NMTOKENS"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MediaDesc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single or comma-separated list of media descriptors
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[^,]+(,\s*[^,]+)*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a Uniform Resource Identifier, see [RFC2396]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:anyURI"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="UriList"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of Uniform Resource Identifiers
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Datetime"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
date and time information. ISO date format
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:dateTime"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script expression
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="StyleSheet"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style sheet data
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Text"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
used for titles etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Length"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
nn for pixels or nn% for percentage length
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MultiLength"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pixel, percentage, or relative
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Pixels"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
integer representing length in pixels
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these are used for image maps
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="Shape"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="rect"/&gt;
&lt;xs:enumeration value="circle"/&gt;
&lt;xs:enumeration value="poly"/&gt;
&lt;xs:enumeration value="default"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Coords"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma separated list of lengths
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern
value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Generic Attributes ===============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attributeGroup name="coreattrs"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="class" type="xs:NMTOKENS"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="i18n"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
internationalization attributes
lang language code (backwards compatible)
xml:lang language code (as per XML 1.0 spec)
dir direction for weak/neutral text
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="events"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="onclick" type="Script"/&gt;
&lt;xs:attribute name="ondblclick" type="Script"/&gt;
&lt;xs:attribute name="onmousedown" type="Script"/&gt;
&lt;xs:attribute name="onmouseup" type="Script"/&gt;
&lt;xs:attribute name="onmouseover" type="Script"/&gt;
&lt;xs:attribute name="onmousemove" type="Script"/&gt;
&lt;xs:attribute name="onmouseout" type="Script"/&gt;
&lt;xs:attribute name="onkeypress" type="Script"/&gt;
&lt;xs:attribute name="onkeydown" type="Script"/&gt;
&lt;xs:attribute name="onkeyup" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="focus"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="attrs"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Text Elements ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="special.pre"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="br"/&gt;
&lt;xs:element ref="span"/&gt;
&lt;xs:element ref="bdo"/&gt;
&lt;xs:element ref="map"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="special"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="special.pre"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="img"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="tt"/&gt;
&lt;xs:element ref="i"/&gt;
&lt;xs:element ref="b"/&gt;
&lt;xs:element ref="big"/&gt;
&lt;xs:element ref="small"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="em"/&gt;
&lt;xs:element ref="strong"/&gt;
&lt;xs:element ref="dfn"/&gt;
&lt;xs:element ref="code"/&gt;
&lt;xs:element ref="q"/&gt;
&lt;xs:element ref="samp"/&gt;
&lt;xs:element ref="kbd"/&gt;
&lt;xs:element ref="var"/&gt;
&lt;xs:element ref="cite"/&gt;
&lt;xs:element ref="abbr"/&gt;
&lt;xs:element ref="acronym"/&gt;
&lt;xs:element ref="sub"/&gt;
&lt;xs:element ref="sup"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline.forms"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="input"/&gt;
&lt;xs:element ref="select"/&gt;
&lt;xs:element ref="textarea"/&gt;
&lt;xs:element ref="label"/&gt;
&lt;xs:element ref="button"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc.inline"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ins"/&gt;
&lt;xs:element ref="del"/&gt;
&lt;xs:element ref="script"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these can only occur at block level
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="noscript"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Inline" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Inline" covers inline or "text-level" elements
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Block level elements ==============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="heading"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="h1"/&gt;
&lt;xs:element ref="h2"/&gt;
&lt;xs:element ref="h3"/&gt;
&lt;xs:element ref="h4"/&gt;
&lt;xs:element ref="h5"/&gt;
&lt;xs:element ref="h6"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="lists"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ul"/&gt;
&lt;xs:element ref="ol"/&gt;
&lt;xs:element ref="dl"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="blocktext"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="pre"/&gt;
&lt;xs:element ref="hr"/&gt;
&lt;xs:element ref="blockquote"/&gt;
&lt;xs:element ref="address"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="block"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="fieldset"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Block"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="Flow" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Flow" mixes block and inline and is used for list items etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Content models for exclusions =====================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType name="a.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a elements use "Inline" excluding a
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="pre.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pre uses "Inline" excluding big, small, sup or sup
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="special.pre"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="form.content"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form uses "Block" excluding form
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="button.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
button uses "Flow" but excludes a, form and form controls
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Structure ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="html"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="head"/&gt;
&lt;xs:element ref="body"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Head =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="head.misc"&gt;
&lt;xs:sequence&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="script"/&gt;
&lt;xs:element ref="style"/&gt;
&lt;xs:element ref="meta"/&gt;
&lt;xs:element ref="link"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;/xs:group&gt;
&lt;xs:element name="head"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content model is "head.misc" combined with a single
title and an optional base element in any order
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:choice&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:sequence minOccurs="0"&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:sequence&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="profile" type="URI"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="title"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="base"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
document base URI
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="href" use="required" type="URI"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="meta"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic metainformation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="http-equiv"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="content" use="required"/&gt;
&lt;xs:attribute name="scheme"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="link"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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")
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="style"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style info, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script statements, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="defer"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="defer"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="noscript"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non script-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Block"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Document Body ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="body"&gt;
&lt;xs:complexType&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Block"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="onload" type="Script"/&gt;
&lt;xs:attribute name="onunload" type="Script"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="div"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Paragraphs =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="p"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Headings =========================================
There are six levels of headings from h1 (the most important)
to h6 (the least important).
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="h1"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h2"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h3"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h4"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h5"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h6"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Lists ============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="ul"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Unordered list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="ol"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Ordered (numbered) list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="li"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
list item
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definition lists - dt for term, dd for its definition
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="dl"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="dt"/&gt;
&lt;xs:element ref="dd"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dt"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dd"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Address ==========================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="address"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
information on author
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Horizontal Rule ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="hr"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Preformatted Text ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="pre"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" excluding "img|object|big|small|sub|sup"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="pre.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Block-like Quotes ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="blockquote"&gt;
&lt;xs:complexType&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Block"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="ins"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="del"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== The Anchor Element ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="a"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" except that anchors shouldn't be nested
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="a.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
===================== Inline Elements ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="span"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bdo"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
I18N BiDi over-ride
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir" use="required"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="br"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
forced line break
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="em"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="strong"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strong emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dfn"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definitional
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="code"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
program code
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="samp"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
sample
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="kbd"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
something user would type
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="var"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
variable
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="cite"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
citation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="abbr"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
abbreviation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="acronym"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
acronym
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="q"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
inlined quote
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sub"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
subscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
superscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tt"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fixed pitch font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="i"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
italic font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="b"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bold font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="big"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bigger font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="small"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
smaller font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
==================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="object"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="param"/&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="declare"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="declare"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="classid" type="URI"/&gt;
&lt;xs:attribute name="codebase" type="URI"/&gt;
&lt;xs:attribute name="data" type="URI"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="codetype" type="ContentType"/&gt;
&lt;xs:attribute name="archive" type="UriList"/&gt;
&lt;xs:attribute name="standby" type="Text"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="param"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="valuetype" default="data"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="data"/&gt;
&lt;xs:enumeration value="ref"/&gt;
&lt;xs:enumeration value="object"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="img"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="src" use="required" type="URI"/&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
usemap points to a map element which may be in this document
or an external document, although the latter is not widely supported
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="ismap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ismap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== 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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="map"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="area"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="id" use="required" type="xs:ID"/&gt;
&lt;xs:attribute name="class"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="area"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="nohref"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nohref"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Forms ===============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="form"&gt;
&lt;xs:complexType&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="form.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="action" use="required" type="URI"/&gt;
&lt;xs:attribute name="method" default="get"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="get"/&gt;
&lt;xs:enumeration value="post"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="enctype" type="ContentType"
default="application/x-www-form-urlencoded"/&gt;
&lt;xs:attribute name="onsubmit" type="Script"/&gt;
&lt;xs:attribute name="onreset" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;xs:attribute name="accept-charset" type="Charsets"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="label"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Each label must not contain more than ONE field
Label elements shouldn't be nested.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="for" type="xs:IDREF"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="InputType"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="text"/&gt;
&lt;xs:enumeration value="password"/&gt;
&lt;xs:enumeration value="checkbox"/&gt;
&lt;xs:enumeration value="radio"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;xs:enumeration value="file"/&gt;
&lt;xs:enumeration value="hidden"/&gt;
&lt;xs:enumeration value="image"/&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="input"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form control
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="type" default="text" type="InputType"/&gt;
&lt;xs:attribute name="name"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
the name attribute is required for all but submit &amp;amp; reset
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="checked"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="checked"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="size"/&gt;
&lt;xs:attribute name="maxlength" type="Number"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="alt"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="select"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option selector
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="optgroup"/&gt;
&lt;xs:element ref="option"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="size" type="Number"/&gt;
&lt;xs:attribute name="multiple"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="multiple"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="optgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option group
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="option"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" use="required" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="option"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
selectable choice
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="selected"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="selected"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" type="Text"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="textarea"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
multi-line text field
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="rows" use="required" type="Number"/&gt;
&lt;xs:attribute name="cols" use="required" type="Number"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="fieldset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="legend"/&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="legend"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fieldset label
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="button"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Content is "Flow" excluding a, form and form controls
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="button.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="type" default="submit"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
======================= Tables =======================================
Derived from IETF HTML table standard, see [RFC1942]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="TFrame"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="void"/&gt;
&lt;xs:enumeration value="above"/&gt;
&lt;xs:enumeration value="below"/&gt;
&lt;xs:enumeration value="hsides"/&gt;
&lt;xs:enumeration value="lhs"/&gt;
&lt;xs:enumeration value="rhs"/&gt;
&lt;xs:enumeration value="vsides"/&gt;
&lt;xs:enumeration value="box"/&gt;
&lt;xs:enumeration value="border"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="TRules"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="none"/&gt;
&lt;xs:enumeration value="groups"/&gt;
&lt;xs:enumeration value="rows"/&gt;
&lt;xs:enumeration value="cols"/&gt;
&lt;xs:enumeration value="all"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:attributeGroup name="cellhalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
horizontal alignment attributes for cell contents
char alignment char, e.g. char=':'
charoff offset for alignment char
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="justify"/&gt;
&lt;xs:enumeration value="char"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="char" type="Character"/&gt;
&lt;xs:attribute name="charoff" type="Length"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="cellvalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
vertical alignment attributes for cell contents
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="valign"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="middle"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="baseline"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:element name="table"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" ref="caption"/&gt;
&lt;xs:choice&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element minOccurs="0" ref="thead"/&gt;
&lt;xs:element minOccurs="0" ref="tfoot"/&gt;
&lt;xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="tbody"/&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="summary" type="Text"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="border" type="Pixels"/&gt;
&lt;xs:attribute name="frame" type="TFrame"/&gt;
&lt;xs:attribute name="rules" type="TRules"/&gt;
&lt;xs:attribute name="cellspacing" type="Length"/&gt;
&lt;xs:attribute name="cellpadding" type="Length"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="caption"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="thead"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tfoot"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tbody"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="colgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="col"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tr"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="th"/&gt;
&lt;xs:element ref="td"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="Scope"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Scope is simpler than headers attribute for common tables
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="row"/&gt;
&lt;xs:enumeration value="col"/&gt;
&lt;xs:enumeration value="rowgroup"/&gt;
&lt;xs:enumeration value="colgroup"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
th is for headers, td for data and for cells acting as both
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="th"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="td"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h3 id="xhtml1-transitional">2.2. XHTML 1.0 Transitional</h3>
<pre id="xhtml1-transitional.xsd" class="xsd"
>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;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"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
XHTML 1.0 (Second Edition) Transitional in XML Schema
This is the same as HTML 4 Transitional 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 Transitional//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
&#36;Id: xhtml1-transitional.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp &#36;
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ 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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Imported Names ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="ContentType"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
media type, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="ContentTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma-separated list of media types, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a character encoding, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charsets"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of character encodings, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LanguageCode"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a language code, as per [RFC3066]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:language"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Character"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a single character, as per section 2.2 of [XML]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:length value="1" fixed="true"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Number"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
one or more digits
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"&gt;
&lt;xs:pattern value="[0-9]+"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="tabindexNumber"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="Number"&gt;
&lt;xs:minInclusive value="0"/&gt;
&lt;xs:maxInclusive value="32767"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LinkTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
space-separated list of link types
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:NMTOKENS"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MediaDesc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single or comma-separated list of media descriptors
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[^,]+(,\s*[^,]+)*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a Uniform Resource Identifier, see [RFC2396]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:anyURI"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="UriList"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of Uniform Resource Identifiers
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Datetime"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
date and time information. ISO date format
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:dateTime"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script expression
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="StyleSheet"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style sheet data
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Text"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
used for titles etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="FrameTarget"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
render in this frame
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:NMTOKEN"&gt;
&lt;xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Length"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
nn for pixels or nn% for percentage length
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MultiLength"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pixel, percentage, or relative
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Pixels"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
integer representing length in pixels
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these are used for image maps
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="Shape"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="rect"/&gt;
&lt;xs:enumeration value="circle"/&gt;
&lt;xs:enumeration value="poly"/&gt;
&lt;xs:enumeration value="default"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Coords"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma separated list of lengths
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern
value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="ImgAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
used for object, applet, img, input and iframe
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="middle"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Color"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a color using sRGB: #RRGGBB as Hex values
There are also 16 widely known color names with their sRGB values:
Black = #000000 Green = #008000
Silver = #C0C0C0 Lime = #00FF00
Gray = #808080 Olive = #808000
White = #FFFFFF Yellow = #FFFF00
Maroon = #800000 Navy = #000080
Red = #FF0000 Blue = #0000FF
Purple = #800080 Teal = #008080
Fuchsia= #FF00FF Aqua = #00FFFF
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Generic Attributes ===============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attributeGroup name="coreattrs"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="class" type="xs:NMTOKENS"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="i18n"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
internationalization attributes
lang language code (backwards compatible)
xml:lang language code (as per XML 1.0 spec)
dir direction for weak/neutral text
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="events"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="onclick" type="Script"/&gt;
&lt;xs:attribute name="ondblclick" type="Script"/&gt;
&lt;xs:attribute name="onmousedown" type="Script"/&gt;
&lt;xs:attribute name="onmouseup" type="Script"/&gt;
&lt;xs:attribute name="onmouseover" type="Script"/&gt;
&lt;xs:attribute name="onmousemove" type="Script"/&gt;
&lt;xs:attribute name="onmouseout" type="Script"/&gt;
&lt;xs:attribute name="onkeypress" type="Script"/&gt;
&lt;xs:attribute name="onkeydown" type="Script"/&gt;
&lt;xs:attribute name="onkeyup" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="focus"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="attrs"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="TextAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
text alignment for p, div, h1-h6. The default is
align="left" for ltr headings, "right" for rtl
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="justify"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Text Elements ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="special.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="applet"/&gt;
&lt;xs:element ref="img"/&gt;
&lt;xs:element ref="map"/&gt;
&lt;xs:element ref="iframe"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="special.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="br"/&gt;
&lt;xs:element ref="span"/&gt;
&lt;xs:element ref="bdo"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="special"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="special.basic"/&gt;
&lt;xs:group ref="special.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="big"/&gt;
&lt;xs:element ref="small"/&gt;
&lt;xs:element ref="font"/&gt;
&lt;xs:element ref="basefont"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="tt"/&gt;
&lt;xs:element ref="i"/&gt;
&lt;xs:element ref="b"/&gt;
&lt;xs:element ref="u"/&gt;
&lt;xs:element ref="s"/&gt;
&lt;xs:element ref="strike"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="fontstyle.basic"/&gt;
&lt;xs:group ref="fontstyle.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="sub"/&gt;
&lt;xs:element ref="sup"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="em"/&gt;
&lt;xs:element ref="strong"/&gt;
&lt;xs:element ref="dfn"/&gt;
&lt;xs:element ref="code"/&gt;
&lt;xs:element ref="q"/&gt;
&lt;xs:element ref="samp"/&gt;
&lt;xs:element ref="kbd"/&gt;
&lt;xs:element ref="var"/&gt;
&lt;xs:element ref="cite"/&gt;
&lt;xs:element ref="abbr"/&gt;
&lt;xs:element ref="acronym"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="phrase.basic"/&gt;
&lt;xs:group ref="phrase.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline.forms"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="input"/&gt;
&lt;xs:element ref="select"/&gt;
&lt;xs:element ref="textarea"/&gt;
&lt;xs:element ref="label"/&gt;
&lt;xs:element ref="button"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc.inline"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these can only occur at block level
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ins"/&gt;
&lt;xs:element ref="del"/&gt;
&lt;xs:element ref="script"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these can only occur at block level
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="noscript"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Inline" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Inline" covers inline or "text-level" element
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Block level elements ==============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="heading"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="h1"/&gt;
&lt;xs:element ref="h2"/&gt;
&lt;xs:element ref="h3"/&gt;
&lt;xs:element ref="h4"/&gt;
&lt;xs:element ref="h5"/&gt;
&lt;xs:element ref="h6"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="lists"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ul"/&gt;
&lt;xs:element ref="ol"/&gt;
&lt;xs:element ref="dl"/&gt;
&lt;xs:element ref="menu"/&gt;
&lt;xs:element ref="dir"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="blocktext"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="pre"/&gt;
&lt;xs:element ref="hr"/&gt;
&lt;xs:element ref="blockquote"/&gt;
&lt;xs:element ref="address"/&gt;
&lt;xs:element ref="center"/&gt;
&lt;xs:element ref="noframes"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="block"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="isindex"/&gt;
&lt;xs:element ref="fieldset"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Flow" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Flow" mixes block and inline and is used for list items etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Content models for exclusions =====================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType name="a.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a elements use "Inline" excluding a
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="pre.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pre uses "Inline" excluding img, object, applet, big, small,
font, or basefont
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="special.basic"/&gt;
&lt;xs:group ref="fontstyle.basic"/&gt;
&lt;xs:group ref="phrase.basic"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="form.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form uses "Flow" excluding form
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="button.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
button uses "Flow" but excludes a, form, form controls, iframe
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;xs:element ref="br"/&gt;
&lt;xs:element ref="span"/&gt;
&lt;xs:element ref="bdo"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="applet"/&gt;
&lt;xs:element ref="img"/&gt;
&lt;xs:element ref="map"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Structure ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="html"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="head"/&gt;
&lt;xs:element ref="body"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Head =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="head.misc"&gt;
&lt;xs:sequence&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="script"/&gt;
&lt;xs:element ref="style"/&gt;
&lt;xs:element ref="meta"/&gt;
&lt;xs:element ref="link"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="isindex"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;/xs:group&gt;
&lt;xs:element name="head"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content model is "head.misc" combined with a single
title and an optional base element in any order
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:choice&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:sequence minOccurs="0"&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:sequence&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="profile" type="URI"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="title"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="base"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
document base URI
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="meta"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic metainformation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="http-equiv"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="content" use="required"/&gt;
&lt;xs:attribute name="scheme"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="link"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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")
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="style"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style info, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script statements, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="language"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="defer"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="defer"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="noscript"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non script-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
======================= Frames =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="iframe"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
inline subwindow
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="frameborder" default="1"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="1"/&gt;
&lt;xs:enumeration value="0"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="marginwidth" type="Pixels"/&gt;
&lt;xs:attribute name="marginheight" type="Pixels"/&gt;
&lt;xs:attribute name="scrolling" default="auto"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="yes"/&gt;
&lt;xs:enumeration value="no"/&gt;
&lt;xs:enumeration value="auto"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="noframes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non frame-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Document Body ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="body"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="onload" type="Script"/&gt;
&lt;xs:attribute name="onunload" type="Script"/&gt;
&lt;xs:attribute name="background" type="URI"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="text" type="Color"/&gt;
&lt;xs:attribute name="link" type="Color"/&gt;
&lt;xs:attribute name="vlink" type="Color"/&gt;
&lt;xs:attribute name="alink" type="Color"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="div"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Paragraphs =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="p"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Headings =========================================
There are six levels of headings from h1 (the most important)
to h6 (the least important).
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="h1"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h2"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h3"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h4"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h5"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h6"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Lists ============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="ULStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Unordered list bullet styles
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disc"/&gt;
&lt;xs:enumeration value="square"/&gt;
&lt;xs:enumeration value="circle"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="ul"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Unordered list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="ULStyle"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="OLStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Ordered list numbering style
1 arabic numbers 1, 2, 3, ...
a lower alpha a, b, c, ...
A upper alpha A, B, C, ...
i lower roman i, ii, iii, ...
I upper roman I, II, III, ...
The style is applied to the sequence number which by default
is reset to 1 for the first list item in an ordered list.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="ol"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Ordered (numbered) list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="OLStyle"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="start" type="Number"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="menu"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single column list (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dir"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
multiple column list (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="LIStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
LIStyle is constrained to: "(ULStyle|OLStyle)"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="li"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
list item
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="LIStyle"/&gt;
&lt;xs:attribute name="value" type="Number"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definition lists - dt for term, dd for its definition
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="dl"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="dt"/&gt;
&lt;xs:element ref="dd"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dt"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dd"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Address ==========================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="address"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
information on author
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;xs:element ref="p"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Horizontal Rule ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="hr"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="noshade"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="noshade"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="size" type="Pixels"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Preformatted Text ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="pre"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" excluding
"img|object|applet|big|small|sub|sup|font|basefont"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="pre.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="width" type="Number"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Block-like Quotes ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="blockquote"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Text alignment ===================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="center"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
center content
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="ins"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="del"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== The Anchor Element ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="a"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" except that anchors shouldn't be nested
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="a.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
===================== Inline Elements ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="span"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bdo"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
I18N BiDi over-ride
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir" use="required"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="br"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
forced line break
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="clear" default="none"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="all"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="none"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="em"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="strong"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strong emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dfn"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definitional
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="code"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
program code
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="samp"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
sample
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="kbd"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
something user would type
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="var"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
variable
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="cite"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
citation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="abbr"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
abbreviation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="acronym"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
acronym
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="q"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
inlined quote
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sub"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
subscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
superscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tt"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fixed pitch font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="i"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
italic font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="b"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bold font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="big"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bigger font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="small"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
smaller font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="u"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
underline
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="s"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strike-through
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="strike"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strike-through
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="basefont"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
base font size
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="size" use="required"/&gt;
&lt;xs:attribute name="color" type="Color"/&gt;
&lt;xs:attribute name="face"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="font"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
local change to font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="size"/&gt;
&lt;xs:attribute name="color" type="Color"/&gt;
&lt;xs:attribute name="face"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
==================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="object"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="param"/&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="declare"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="declare"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="classid" type="URI"/&gt;
&lt;xs:attribute name="codebase" type="URI"/&gt;
&lt;xs:attribute name="data" type="URI"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="codetype" type="ContentType"/&gt;
&lt;xs:attribute name="archive" type="UriList"/&gt;
&lt;xs:attribute name="standby" type="Text"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="tabindex" type="Number"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="border" type="Pixels"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="param"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="name" use="required"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="valuetype" default="data"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="data"/&gt;
&lt;xs:enumeration value="ref"/&gt;
&lt;xs:enumeration value="object"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Java applet ==================================
One of code or object attributes must be present.
Place param elements before other content.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="applet"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="param"/&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="codebase" type="URI"/&gt;
&lt;xs:attribute name="archive"/&gt;
&lt;xs:attribute name="code"/&gt;
&lt;xs:attribute name="object"/&gt;
&lt;xs:attribute name="alt" type="Text"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="width" use="required" type="Length"/&gt;
&lt;xs:attribute name="height" use="required" type="Length"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="img"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="src" use="required" type="URI"/&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
usemap points to a map element which may be in this document
or an external document, although the latter is not widely supported
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="ismap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ismap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="border" type="Length"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== 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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="map"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="area"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="id" use="required" type="xs:ID"/&gt;
&lt;xs:attribute name="class"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="area"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="nohref"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nohref"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Forms ===============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="form"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="form.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="action" use="required" type="URI"/&gt;
&lt;xs:attribute name="method" default="get"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="get"/&gt;
&lt;xs:enumeration value="post"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="enctype" type="ContentType"
default="application/x-www-form-urlencoded"/&gt;
&lt;xs:attribute name="onsubmit" type="Script"/&gt;
&lt;xs:attribute name="onreset" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;xs:attribute name="accept-charset" type="Charsets"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="label"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Each label must not contain more than ONE field
Label elements shouldn't be nested.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="for" type="xs:IDREF"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="InputType"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="text"/&gt;
&lt;xs:enumeration value="password"/&gt;
&lt;xs:enumeration value="checkbox"/&gt;
&lt;xs:enumeration value="radio"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;xs:enumeration value="file"/&gt;
&lt;xs:enumeration value="hidden"/&gt;
&lt;xs:enumeration value="image"/&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="input"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form control
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="type" default="text" type="InputType"/&gt;
&lt;xs:attribute name="name"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
the name attribute is required for all but submit &amp;amp; reset
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="checked"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="checked"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="size"/&gt;
&lt;xs:attribute name="maxlength" type="Number"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="alt"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="select"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option selector
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="optgroup"/&gt;
&lt;xs:element ref="option"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="size" type="Number"/&gt;
&lt;xs:attribute name="multiple"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="multiple"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="optgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option group
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="option"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" use="required" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="option"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
selectable choice
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="selected"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="selected"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" type="Text"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="textarea"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
multi-line text field
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="rows" use="required" type="Number"/&gt;
&lt;xs:attribute name="cols" use="required" type="Number"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="fieldset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="legend"/&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="LAlign"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="legend"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fieldset label
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="align" type="LAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="button"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Content is "Flow" excluding a, form and form controls
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="button.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="type" default="submit"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="isindex"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single-line text input control (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="prompt" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
======================= Tables =======================================
Derived from IETF HTML table standard, see [RFC1942]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="TFrame"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="void"/&gt;
&lt;xs:enumeration value="above"/&gt;
&lt;xs:enumeration value="below"/&gt;
&lt;xs:enumeration value="hsides"/&gt;
&lt;xs:enumeration value="lhs"/&gt;
&lt;xs:enumeration value="rhs"/&gt;
&lt;xs:enumeration value="vsides"/&gt;
&lt;xs:enumeration value="box"/&gt;
&lt;xs:enumeration value="border"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="TRules"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="none"/&gt;
&lt;xs:enumeration value="groups"/&gt;
&lt;xs:enumeration value="rows"/&gt;
&lt;xs:enumeration value="cols"/&gt;
&lt;xs:enumeration value="all"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="TAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
horizontal placement of table relative to document
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:attributeGroup name="cellhalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
horizontal alignment attributes for cell contents
char alignment char, e.g. char=':'
charoff offset for alignment char
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="justify"/&gt;
&lt;xs:enumeration value="char"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="char" type="Character"/&gt;
&lt;xs:attribute name="charoff" type="Length"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="cellvalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
vertical alignment attributes for cell contents
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="valign"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="middle"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="baseline"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:element name="table"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" ref="caption"/&gt;
&lt;xs:choice&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element minOccurs="0" ref="thead"/&gt;
&lt;xs:element minOccurs="0" ref="tfoot"/&gt;
&lt;xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="tbody"/&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="summary" type="Text"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="border" type="Pixels"/&gt;
&lt;xs:attribute name="frame" type="TFrame"/&gt;
&lt;xs:attribute name="rules" type="TRules"/&gt;
&lt;xs:attribute name="cellspacing" type="Length"/&gt;
&lt;xs:attribute name="cellpadding" type="Length"/&gt;
&lt;xs:attribute name="align" type="TAlign"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="CAlign"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="caption"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="align" type="CAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="thead"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tfoot"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tbody"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="colgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="col"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tr"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="th"/&gt;
&lt;xs:element ref="td"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="Scope"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Scope is simpler than headers attribute for common tables
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="row"/&gt;
&lt;xs:enumeration value="col"/&gt;
&lt;xs:enumeration value="rowgroup"/&gt;
&lt;xs:enumeration value="colgroup"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
th is for headers, td for data and for cells acting as both
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="th"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="nowrap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nowrap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="td"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="nowrap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nowrap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h3 id="xhtml1-frameset">2.3. XHTML 1.0 Frameset</h3>
<pre id="xhtml1-frameset.xsd" class="xsd"
>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;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"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
XHTML 1.0 (Second Edition) Frameset in XML Schema
This is the same as HTML 4 Frameset 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 Frameset//EN"
SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
&#36;Id: xhtml1-frameset.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp &#36;
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ 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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Imported Names ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="ContentType"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
media type, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="ContentTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma-separated list of media types, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a character encoding, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Charsets"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of character encodings, as per [RFC2045]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LanguageCode"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a language code, as per [RFC3066]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:language"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Character"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a single character, as per section 2.2 of [XML]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:length value="1" fixed="true"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Number"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
one or more digits
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"&gt;
&lt;xs:pattern value="[0-9]+"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="tabindexNumber"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="Number"&gt;
&lt;xs:minInclusive value="0"/&gt;
&lt;xs:maxInclusive value="32767"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="LinkTypes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
space-separated list of link types
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:NMTOKENS"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MediaDesc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single or comma-separated list of media descriptors
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[^,]+(,\s*[^,]+)*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a Uniform Resource Identifier, see [RFC2396]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:anyURI"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="UriList"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a space separated list of Uniform Resource Identifiers
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Datetime"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
date and time information. ISO date format
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:dateTime"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script expression
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="StyleSheet"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style sheet data
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Text"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
used for titles etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="FrameTarget"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
render in this frame
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:NMTOKEN"&gt;
&lt;xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Length"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
nn for pixels or nn% for percentage length
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MultiLength"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pixel, percentage, or relative
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="MultiLengths"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma-separated list of MultiLength
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern
value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*(,\s*[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*)*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Pixels"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
integer representing length in pixels
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:nonNegativeInteger"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these are used for image maps
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="Shape"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="rect"/&gt;
&lt;xs:enumeration value="circle"/&gt;
&lt;xs:enumeration value="poly"/&gt;
&lt;xs:enumeration value="default"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Coords"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
comma separated list of lengths
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern
value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="ImgAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
used for object, applet, img, input and iframe
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="middle"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="Color"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a color using sRGB: #RRGGBB as Hex values
There are also 16 widely known color names with their sRGB values:
Black = #000000 Green = #008000
Silver = #C0C0C0 Lime = #00FF00
Gray = #808080 Olive = #808000
White = #FFFFFF Yellow = #FFFF00
Maroon = #800000 Navy = #000080
Red = #FF0000 Blue = #0000FF
Purple = #800080 Teal = #008080
Fuchsia= #FF00FF Aqua = #00FFFF
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"&gt;
&lt;xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Generic Attributes ===============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attributeGroup name="coreattrs"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="class" type="xs:NMTOKENS"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="i18n"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
internationalization attributes
lang language code (backwards compatible)
xml:lang language code (as per XML 1.0 spec)
dir direction for weak/neutral text
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="events"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="onclick" type="Script"/&gt;
&lt;xs:attribute name="ondblclick" type="Script"/&gt;
&lt;xs:attribute name="onmousedown" type="Script"/&gt;
&lt;xs:attribute name="onmouseup" type="Script"/&gt;
&lt;xs:attribute name="onmouseover" type="Script"/&gt;
&lt;xs:attribute name="onmousemove" type="Script"/&gt;
&lt;xs:attribute name="onmouseout" type="Script"/&gt;
&lt;xs:attribute name="onkeypress" type="Script"/&gt;
&lt;xs:attribute name="onkeydown" type="Script"/&gt;
&lt;xs:attribute name="onkeyup" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="focus"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="attrs"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="TextAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
text alignment for p, div, h1-h6. The default is
align="left" for ltr headings, "right" for rtl
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="justify"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Text Elements ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="special.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="applet"/&gt;
&lt;xs:element ref="img"/&gt;
&lt;xs:element ref="map"/&gt;
&lt;xs:element ref="iframe"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="special.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="br"/&gt;
&lt;xs:element ref="span"/&gt;
&lt;xs:element ref="bdo"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="special"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="special.basic"/&gt;
&lt;xs:group ref="special.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="big"/&gt;
&lt;xs:element ref="small"/&gt;
&lt;xs:element ref="font"/&gt;
&lt;xs:element ref="basefont"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="tt"/&gt;
&lt;xs:element ref="i"/&gt;
&lt;xs:element ref="b"/&gt;
&lt;xs:element ref="u"/&gt;
&lt;xs:element ref="s"/&gt;
&lt;xs:element ref="strike"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="fontstyle"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="fontstyle.basic"/&gt;
&lt;xs:group ref="fontstyle.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase.extra"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="sub"/&gt;
&lt;xs:element ref="sup"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase.basic"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="em"/&gt;
&lt;xs:element ref="strong"/&gt;
&lt;xs:element ref="dfn"/&gt;
&lt;xs:element ref="code"/&gt;
&lt;xs:element ref="q"/&gt;
&lt;xs:element ref="samp"/&gt;
&lt;xs:element ref="kbd"/&gt;
&lt;xs:element ref="var"/&gt;
&lt;xs:element ref="cite"/&gt;
&lt;xs:element ref="abbr"/&gt;
&lt;xs:element ref="acronym"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="phrase"&gt;
&lt;xs:choice&gt;
&lt;xs:group ref="phrase.basic"/&gt;
&lt;xs:group ref="phrase.extra"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline.forms"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="input"/&gt;
&lt;xs:element ref="select"/&gt;
&lt;xs:element ref="textarea"/&gt;
&lt;xs:element ref="label"/&gt;
&lt;xs:element ref="button"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc.inline"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these can only occur at block level
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ins"/&gt;
&lt;xs:element ref="del"/&gt;
&lt;xs:element ref="script"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="misc"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
these can only occur at block level
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="noscript"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="inline"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Inline" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Inline" covers inline or "text-level" element
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Block level elements ==============================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="heading"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="h1"/&gt;
&lt;xs:element ref="h2"/&gt;
&lt;xs:element ref="h3"/&gt;
&lt;xs:element ref="h4"/&gt;
&lt;xs:element ref="h5"/&gt;
&lt;xs:element ref="h6"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="lists"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="ul"/&gt;
&lt;xs:element ref="ol"/&gt;
&lt;xs:element ref="dl"/&gt;
&lt;xs:element ref="menu"/&gt;
&lt;xs:element ref="dir"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="blocktext"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="pre"/&gt;
&lt;xs:element ref="hr"/&gt;
&lt;xs:element ref="blockquote"/&gt;
&lt;xs:element ref="address"/&gt;
&lt;xs:element ref="center"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:group name="block"&gt;
&lt;xs:choice&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="isindex"/&gt;
&lt;xs:element ref="fieldset"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:group&gt;
&lt;xs:complexType name="Flow" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
"Flow" mixes block and inline and is used for list items etc.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== Content models for exclusions =====================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType name="a.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
a elements use "Inline" excluding a
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="special"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="pre.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
pre uses "Inline" excluding img, object, applet, big, small,
sub, sup, font, or basefont
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="a"/&gt;
&lt;xs:group ref="special.basic"/&gt;
&lt;xs:group ref="fontstyle.basic"/&gt;
&lt;xs:group ref="phrase.basic"/&gt;
&lt;xs:group ref="inline.forms"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="form.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form uses "Flow" excluding form
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:complexType name="button.content" mixed="true"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
button uses "Flow" but excludes a, form, form controls, iframe
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="p"/&gt;
&lt;xs:group ref="heading"/&gt;
&lt;xs:element ref="div"/&gt;
&lt;xs:group ref="lists"/&gt;
&lt;xs:group ref="blocktext"/&gt;
&lt;xs:element ref="table"/&gt;
&lt;xs:element ref="br"/&gt;
&lt;xs:element ref="span"/&gt;
&lt;xs:element ref="bdo"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="applet"/&gt;
&lt;xs:element ref="img"/&gt;
&lt;xs:element ref="map"/&gt;
&lt;xs:group ref="fontstyle"/&gt;
&lt;xs:group ref="phrase"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:complexType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Structure ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="html"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="head"/&gt;
&lt;xs:element ref="frameset"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Document Head =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:group name="head.misc"&gt;
&lt;xs:sequence&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="script"/&gt;
&lt;xs:element ref="style"/&gt;
&lt;xs:element ref="meta"/&gt;
&lt;xs:element ref="link"/&gt;
&lt;xs:element ref="object"/&gt;
&lt;xs:element ref="isindex"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;/xs:group&gt;
&lt;xs:element name="head"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content model is "head.misc" combined with a single
title and an optional base element in any order
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:choice&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:sequence minOccurs="0"&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:sequence&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="base"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;xs:element ref="title"/&gt;
&lt;xs:group ref="head.misc"/&gt;
&lt;/xs:sequence&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="profile" type="URI"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="title"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="base"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
document base URI
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="meta"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic metainformation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="http-equiv"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="content" use="required"/&gt;
&lt;xs:attribute name="scheme"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="link"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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")
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="style"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
style info, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="media" type="MediaDesc"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="script"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
script statements, which may include CDATA sections
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" use="required" type="ContentType"/&gt;
&lt;xs:attribute name="language"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="defer"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="defer"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="noscript"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non script-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
======================= Frames =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="frameset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
only one noframes element permitted per document
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="frameset"/&gt;
&lt;xs:element ref="frame"/&gt;
&lt;xs:element ref="noframes"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="rows" type="MultiLengths"/&gt;
&lt;xs:attribute name="cols" type="MultiLengths"/&gt;
&lt;xs:attribute name="onload" type="Script"/&gt;
&lt;xs:attribute name="onunload" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
reserved frame names start with "_" otherwise starts with letter
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="frame"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
tiled window within frameset
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="frameborder" default="1"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="1"/&gt;
&lt;xs:enumeration value="0"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="marginwidth" type="Pixels"/&gt;
&lt;xs:attribute name="marginheight" type="Pixels"/&gt;
&lt;xs:attribute name="noresize"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="noresize"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="scrolling" default="auto"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="yes"/&gt;
&lt;xs:enumeration value="no"/&gt;
&lt;xs:enumeration value="auto"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="iframe"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
inline subwindow
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="frameborder" default="1"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="1"/&gt;
&lt;xs:enumeration value="0"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="marginwidth" type="Pixels"/&gt;
&lt;xs:attribute name="marginheight" type="Pixels"/&gt;
&lt;xs:attribute name="scrolling" default="auto"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="yes"/&gt;
&lt;xs:enumeration value="no"/&gt;
&lt;xs:enumeration value="auto"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;!--
&lt;xs:element name="noframes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non frame-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="body"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
--&gt;
&lt;xs:element name="noframes"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
alternate content container for non frame-based rendering
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="body"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Document Body ====================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="body"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="onload" type="Script"/&gt;
&lt;xs:attribute name="onunload" type="Script"/&gt;
&lt;xs:attribute name="background" type="URI"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="text" type="Color"/&gt;
&lt;xs:attribute name="link" type="Color"/&gt;
&lt;xs:attribute name="vlink" type="Color"/&gt;
&lt;xs:attribute name="alink" type="Color"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="div"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Paragraphs =======================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="p"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Headings =========================================
There are six levels of headings from h1 (the most important)
to h6 (the least important).
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="h1"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h2"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h3"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h4"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h5"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="h6"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="TextAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Lists ============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="ULStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Unordered list bullet styles
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disc"/&gt;
&lt;xs:enumeration value="square"/&gt;
&lt;xs:enumeration value="circle"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="ul"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Unordered list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="ULStyle"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="OLStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Ordered list numbering style
1 arabic numbers 1, 2, 3, ...
a lower alpha a, b, c, ...
A upper alpha A, B, C, ...
i lower roman i, ii, iii, ...
I upper roman I, II, III, ...
The style is applied to the sequence number which by default
is reset to 1 for the first list item in an ordered list.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="ol"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Ordered (numbered) list
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="OLStyle"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="start" type="Number"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="menu"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single column list (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dir"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
multiple column list (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="li"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="LIStyle"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
LIStyle is constrained to: "(ULStyle|OLStyle)"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:string"/&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="li"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
list item
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="type" type="LIStyle"/&gt;
&lt;xs:attribute name="value" type="Number"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definition lists - dt for term, dd for its definition
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="dl"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="dt"/&gt;
&lt;xs:element ref="dd"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="compact"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="compact"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dt"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dd"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Address ==========================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="address"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
information on author
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc.inline"/&gt;
&lt;xs:element ref="p"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Horizontal Rule ==================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="hr"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="noshade"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="noshade"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="size" type="Pixels"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Preformatted Text ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="pre"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" excluding
"img|object|applet|big|small|sub|sup|font|basefont"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="pre.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="width" type="Number"/&gt;
&lt;xs:attribute ref="xml:space" fixed="preserve"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Block-like Quotes ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="blockquote"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Text alignment ===================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="center"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
center content
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="ins"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="del"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;xs:attribute name="datetime" type="Datetime"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== The Anchor Element ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="a"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
content is "Inline" except that anchors shouldn't be nested
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="a.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="charset" type="Charset"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="hreflang" type="LanguageCode"/&gt;
&lt;xs:attribute name="rel" type="LinkTypes"/&gt;
&lt;xs:attribute name="rev" type="LinkTypes"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
===================== Inline Elements ================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="span"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
generic language/style container
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="bdo"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
I18N BiDi over-ride
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="lang" type="LanguageCode"/&gt;
&lt;xs:attribute ref="xml:lang"/&gt;
&lt;xs:attribute name="dir" use="required"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ltr"/&gt;
&lt;xs:enumeration value="rtl"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="br"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
forced line break
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="clear" default="none"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="all"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="none"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="em"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="strong"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strong emphasis
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="dfn"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
definitional
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="code"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
program code
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="samp"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
sample
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="kbd"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
something user would type
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="var"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
variable
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="cite"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
citation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="abbr"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
abbreviation
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="acronym"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
acronym
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="q"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
inlined quote
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="cite" type="URI"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sub"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
subscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="sup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
superscript
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tt"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fixed pitch font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="i"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
italic font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="b"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bold font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="big"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
bigger font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="small"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
smaller font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="u"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
underline
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="s"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strike-through
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="strike"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
strike-through
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="basefont"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
base font size
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="size" use="required"/&gt;
&lt;xs:attribute name="color" type="Color"/&gt;
&lt;xs:attribute name="face"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="font"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
local change to font
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="size"/&gt;
&lt;xs:attribute name="color" type="Color"/&gt;
&lt;xs:attribute name="face"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
==================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="object"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="param"/&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="declare"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="declare"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="classid" type="URI"/&gt;
&lt;xs:attribute name="codebase" type="URI"/&gt;
&lt;xs:attribute name="data" type="URI"/&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;xs:attribute name="codetype" type="ContentType"/&gt;
&lt;xs:attribute name="archive" type="UriList"/&gt;
&lt;xs:attribute name="standby" type="Text"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="tabindex" type="Number"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="border" type="Pixels"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="param"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name="id" type="xs:ID"/&gt;
&lt;xs:attribute name="name" use="required"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="valuetype" default="data"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="data"/&gt;
&lt;xs:enumeration value="ref"/&gt;
&lt;xs:enumeration value="object"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="type" type="ContentType"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== Java applet ==================================
One of code or object attributes must be present.
Place param elements before other content.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="applet"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:element ref="param"/&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attribute name="codebase" type="URI"/&gt;
&lt;xs:attribute name="archive"/&gt;
&lt;xs:attribute name="code"/&gt;
&lt;xs:attribute name="object"/&gt;
&lt;xs:attribute name="alt" type="Text"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="width" use="required" type="Length"/&gt;
&lt;xs:attribute name="height" use="required" type="Length"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
=================== 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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="img"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="src" use="required" type="URI"/&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;xs:attribute name="name" type="xs:NMTOKEN"/&gt;
&lt;xs:attribute name="longdesc" type="URI"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="usemap" type="URI"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
usemap points to a map element which may be in this document
or an external document, although the latter is not widely supported
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="ismap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="ismap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;xs:attribute name="border" type="Length"/&gt;
&lt;xs:attribute name="hspace" type="Pixels"/&gt;
&lt;xs:attribute name="vspace" type="Pixels"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================== 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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="map"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="area"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attributeGroup ref="events"/&gt;
&lt;xs:attribute name="id" use="required" type="xs:ID"/&gt;
&lt;xs:attribute name="class"/&gt;
&lt;xs:attribute name="style" type="StyleSheet"/&gt;
&lt;xs:attribute name="title" type="Text"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="area"&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="shape" default="rect" type="Shape"/&gt;
&lt;xs:attribute name="coords" type="Coords"/&gt;
&lt;xs:attribute name="href" type="URI"/&gt;
&lt;xs:attribute name="nohref"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nohref"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="alt" use="required" type="Text"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
================ Forms ===============================================
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="form"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="form.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="action" use="required" type="URI"/&gt;
&lt;xs:attribute name="method" default="get"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="get"/&gt;
&lt;xs:enumeration value="post"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="enctype" type="ContentType"
default="application/x-www-form-urlencoded"/&gt;
&lt;xs:attribute name="onsubmit" type="Script"/&gt;
&lt;xs:attribute name="onreset" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;xs:attribute name="accept-charset" type="Charsets"/&gt;
&lt;xs:attribute name="target" type="FrameTarget"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="label"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Each label must not contain more than ONE field
Label elements shouldn't be nested.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="for" type="xs:IDREF"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="InputType"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="text"/&gt;
&lt;xs:enumeration value="password"/&gt;
&lt;xs:enumeration value="checkbox"/&gt;
&lt;xs:enumeration value="radio"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;xs:enumeration value="file"/&gt;
&lt;xs:enumeration value="hidden"/&gt;
&lt;xs:enumeration value="image"/&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="input"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
form control
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="type" default="text" type="InputType"/&gt;
&lt;xs:attribute name="name"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
the name attribute is required for all but submit &amp;amp; reset
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="checked"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="checked"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="size"/&gt;
&lt;xs:attribute name="maxlength" type="Number"/&gt;
&lt;xs:attribute name="src" type="URI"/&gt;
&lt;xs:attribute name="alt"/&gt;
&lt;xs:attribute name="usemap" type="URI"/&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;xs:attribute name="accept" type="ContentTypes"/&gt;
&lt;xs:attribute name="align" type="ImgAlign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="select"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option selector
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="optgroup"/&gt;
&lt;xs:element ref="option"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="size" type="Number"/&gt;
&lt;xs:attribute name="multiple"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="multiple"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="tabindex" type="tabindexNumber"/&gt;
&lt;xs:attribute name="onfocus" type="Script"/&gt;
&lt;xs:attribute name="onblur" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="optgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
option group
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="option"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" use="required" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="option"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
selectable choice
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="selected"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="selected"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="label" type="Text"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="textarea"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
multi-line text field
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="rows" use="required" type="Number"/&gt;
&lt;xs:attribute name="cols" use="required" type="Number"/&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="readonly"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="readonly"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="onselect" type="Script"/&gt;
&lt;xs:attribute name="onchange" type="Script"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="fieldset"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:sequence&gt;
&lt;xs:element ref="legend"/&gt;
&lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
&lt;xs:group ref="block"/&gt;
&lt;xs:element ref="form"/&gt;
&lt;xs:group ref="inline"/&gt;
&lt;xs:group ref="misc"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="LAlign"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="legend"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
fieldset label
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="accesskey" type="Character"/&gt;
&lt;xs:attribute name="align" type="LAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="button"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Content is "Flow" excluding a, form and form controls
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="button.content"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="focus"/&gt;
&lt;xs:attribute name="name"/&gt;
&lt;xs:attribute name="value"/&gt;
&lt;xs:attribute name="type" default="submit"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="button"/&gt;
&lt;xs:enumeration value="submit"/&gt;
&lt;xs:enumeration value="reset"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="disabled"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="disabled"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="isindex"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
single-line text input control (DEPRECATED)
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="coreattrs"/&gt;
&lt;xs:attributeGroup ref="i18n"/&gt;
&lt;xs:attribute name="prompt" type="Text"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
======================= Tables =======================================
Derived from IETF HTML table standard, see [RFC1942]
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:simpleType name="TFrame"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="void"/&gt;
&lt;xs:enumeration value="above"/&gt;
&lt;xs:enumeration value="below"/&gt;
&lt;xs:enumeration value="hsides"/&gt;
&lt;xs:enumeration value="lhs"/&gt;
&lt;xs:enumeration value="rhs"/&gt;
&lt;xs:enumeration value="vsides"/&gt;
&lt;xs:enumeration value="box"/&gt;
&lt;xs:enumeration value="border"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="TRules"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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"
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="none"/&gt;
&lt;xs:enumeration value="groups"/&gt;
&lt;xs:enumeration value="rows"/&gt;
&lt;xs:enumeration value="cols"/&gt;
&lt;xs:enumeration value="all"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:simpleType name="TAlign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
horizontal placement of table relative to document
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:attributeGroup name="cellhalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
horizontal alignment attributes for cell contents
char alignment char, e.g. char=":"
charoff offset for alignment char
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="align"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="center"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;xs:enumeration value="justify"/&gt;
&lt;xs:enumeration value="char"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="char" type="Character"/&gt;
&lt;xs:attribute name="charoff" type="Length"/&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:attributeGroup name="cellvalign"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
vertical alignment attributes for cell contents
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:attribute name="valign"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="middle"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="baseline"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;/xs:attributeGroup&gt;
&lt;xs:element name="table"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" ref="caption"/&gt;
&lt;xs:choice&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/&gt;
&lt;/xs:choice&gt;
&lt;xs:element minOccurs="0" ref="thead"/&gt;
&lt;xs:element minOccurs="0" ref="tfoot"/&gt;
&lt;xs:choice&gt;
&lt;xs:element maxOccurs="unbounded" ref="tbody"/&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:choice&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="summary" type="Text"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="border" type="Pixels"/&gt;
&lt;xs:attribute name="frame" type="TFrame"/&gt;
&lt;xs:attribute name="rules" type="TRules"/&gt;
&lt;xs:attribute name="cellspacing" type="Length"/&gt;
&lt;xs:attribute name="cellpadding" type="Length"/&gt;
&lt;xs:attribute name="align" type="TAlign"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="CAlign"&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="top"/&gt;
&lt;xs:enumeration value="bottom"/&gt;
&lt;xs:enumeration value="left"/&gt;
&lt;xs:enumeration value="right"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:element name="caption"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Inline"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="align" type="CAlign"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="thead"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tfoot"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tbody"&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element maxOccurs="unbounded" ref="tr"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="colgroup"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence&gt;
&lt;xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/&gt;
&lt;/xs:sequence&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="col"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
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.
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:complexType&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="span" default="1" type="Number"/&gt;
&lt;xs:attribute name="width" type="MultiLength"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="tr"&gt;
&lt;xs:complexType&gt;
&lt;xs:choice maxOccurs="unbounded"&gt;
&lt;xs:element ref="th"/&gt;
&lt;xs:element ref="td"/&gt;
&lt;/xs:choice&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:simpleType name="Scope"&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
Scope is simpler than headers attribute for common tables
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="row"/&gt;
&lt;xs:enumeration value="col"/&gt;
&lt;xs:enumeration value="rowgroup"/&gt;
&lt;xs:enumeration value="colgroup"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;xs:annotation&gt;
&lt;xs:documentation&gt;
th is for headers, td for data and for cells acting as both
&lt;/xs:documentation&gt;
&lt;/xs:annotation&gt;
&lt;xs:element name="th"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="nowrap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nowrap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name="td"&gt;
&lt;xs:complexType mixed="true"&gt;
&lt;xs:complexContent&gt;
&lt;xs:extension base="Flow"&gt;
&lt;xs:attributeGroup ref="attrs"/&gt;
&lt;xs:attribute name="abbr" type="Text"/&gt;
&lt;xs:attribute name="axis"/&gt;
&lt;xs:attribute name="headers" type="xs:IDREFS"/&gt;
&lt;xs:attribute name="scope" type="Scope"/&gt;
&lt;xs:attribute name="rowspan" default="1" type="Number"/&gt;
&lt;xs:attribute name="colspan" default="1" type="Number"/&gt;
&lt;xs:attributeGroup ref="cellhalign"/&gt;
&lt;xs:attributeGroup ref="cellvalign"/&gt;
&lt;xs:attribute name="nowrap"&gt;
&lt;xs:simpleType&gt;
&lt;xs:restriction base="xs:token"&gt;
&lt;xs:enumeration value="nowrap"/&gt;
&lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
&lt;/xs:attribute&gt;
&lt;xs:attribute name="bgcolor" type="Color"/&gt;
&lt;xs:attribute name="width" type="Length"/&gt;
&lt;xs:attribute name="height" type="Length"/&gt;
&lt;/xs:extension&gt;
&lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
</pre>
<h2 id="ref">References</h2>
<dl>
<dt id="ref-html4">[HTML4]</dt>
<dd><p>"<a href="http://www.w3.org/TR/1999/REC-html401-19991224/">HTML 4.01
Specification</a>", W3C Recommendation, D. Raggett, A. Le&#160;Hors,
I. Jacobs, <abbr title="editors">eds.</abbr>, 24 December 1999.
Available at: http://www.w3.org/TR/1999/REC-html401-19991224</p>
<p>The <a href="http://www.w3.org/TR/html401/">latest version of HTML 4.01</a>
is available at: http://www.w3.org/TR/html401</p>
<p>The <a href="http://www.w3.org/TR/html4/">latest version of HTML 4</a>
is available at: http://www.w3.org/TR/html4</p></dd>
<dt id="ref-xhtml1">[XHTML1]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/"
>XHTML&#8482; 1.0 The Extensible HyperText Markup Language (Second Edition):
A Reformulation of HTML 4 in XML 1.0</a>", W3C Recommendation,
S. Pemberton <span lang="lt">et al.</span>, August 2002.
Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801</p>
<p>The <a href="http://www.w3.org/TR/xhtml1">latest version</a> is
available at: http://www.w3.org/TR/xhtml1</p></dd>
<dt id="ref-xhtml11">[XHTML11]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2001/REC-xhtml11-20010531/">XHTML&#8482;
1.1 - Module-based XHTML</a>", W3C Recommendation,
M. Altheim, S. McCarron, <abbr>eds.</abbr>, 31 May 2001.
Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531</p>
<p>The <a href="http://www.w3.org/TR/xhtml11/">latest version</a>
is available at: http://www.w3.org/TR/xhtml11</p></dd>
<dt id="ref-xhtml-basic">[XHTMLBasic]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2000/REC-xhtml-basic-20001219/"
>XHTML&#8482; Basic</a>", W3C Recemmendation,
M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami,
<abbr>eds.</abbr>, 19 December 2000.
Available at: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219</p>
<p>The <a href="http://www.w3.org/TR/xhtml-basic/">latest version</a> is
available at: http://www.w3.org/TR/xhtml-basic</p></dd>
<!--
<dt id="ref-xhtml-m12n">[XHTMLM12N]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/"
>Modularization of XHTML&#8482;</a>", W3C Recommendation,
M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer,
T. Wugofski, <abbr>eds.</abbr>, 10 April 2001.
Available at: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410</p>
<p>The <a href="http://www.w3.org/TR/xhtml-modularization/">latest version</a>
is at: http://www.w3.org/TR/xhtml-modularization</p></dd>
-->
<dt id="ref-xhtml-m12n-schema">[XHTMLM12NSchema]</dt>
<dd><p>"<a
href="http://www.w3.org/TR/2002/WD-xhtml-m12n-schema-20020815/">Modularization
of XHTML&#8482; in XML Schema</a>", W3C Working Draft,
D. Austin, S. P. McCarron, <abbr>eds.</abbr>, 15 August 2002,
<em>work in progress</em>.</p>
<p>Available at: http://www.w3.org/TR/2002/WD-xhtml-m12n-schema-20020815</p>
<p>The <a href="http://www.w3.org/TR/xhtml-m12n-schema/">latest version</a>
is available at: http://www.w3.org/TR/xhtml-m12n-schema</p></dd>
<dt id="ref-xml">[XML]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2000/REC-xml-20001006">Extensible
Markup Language (XML) 1.0 Specification (Second Edition)</a>", W3C
Recommendation, T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler,
<abbr>eds.</abbr>, 6 October 2000.
Available at: http://www.w3.org/TR/2000/REC-xml-20001006</p>
<p>The <a href="http://www.w3.org/TR/REC-xml">latest version</a> is
available at: http://www.w3.org/TR/REC-xml</p></dd>
<dt id="ref-xmlns">[XMLNS]</dt>
<dd><p>"<a href="http://www.w3.org/TR/1999/REC-xml-names-19990114">Namespaces
in XML</a>", T. Bray, D. Hollander, A. Layman, <abbr>eds.</abbr>,
14 January 1999.
Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114</p>
<p>The <a href="http://www.w3.org/TR/REC-xml-names">latest version</a> is
available at: http://www.w3.org/TR/REC-xml-names</p></dd>
<dt id="ref-xmlschema">[XMLSchema]</dt>
<dd><p>"<a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML
Schema Part 1: Structures</a>", W3C Recommendation,
H. S. Thompson, D. Beech, M. Maloney, N. Mendelsohn,
<abbr>eds.</abbr>, 2 May 2001.</p>
<p>Available at: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502</p>
<p>The <a href="http://www.w3.org/TR/xmlschema-1/">latest version</a>
is available at: http://www.w3.org/TR/xmlschema-1</p></dd>
<dd><p>See also "<cite><a
href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">XML Schema Part 2:
Datatypes</a></cite>", available at:
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502</p>
<p>The <a href="http://www.w3.org/TR/xmlschema-2/">latest version</a>
is available at: http://www.w3.org/TR/xmlschema-2</p></dd>
</dl>
</body>
</html>