<?xml version="1.0" encoding="UTF-8"?>

<!-- JBoss, Home of Professional Open Source Copyright ${year}, Red Hat, 
	Inc. and individual contributors by the @authors tag. See the copyright.txt 
	in the distribution for a full listing of individual contributors. This is 
	free software; you can redistribute it and/or modify it under the terms of 
	the GNU Lesser General Public License as published by the Free Software Foundation; 
	either version 2.1 of the License, or (at your option) any later version. 
	This software is distributed in the hope that it will be useful, but WITHOUT 
	ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
	FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 
	details. You should have received a copy of the GNU Lesser General Public 
	License along with this software; if not, write to the Free Software Foundation, 
	Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the 
	FSF site: http://www.fsf.org. -->

<xs:schema version="1.0" xml:lang="en"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://jboss.org/schema/richfaces/cdk/xhtml-el"
	xmlns="http://jboss.org/schema/richfaces/cdk/xhtml-el" xmlns:xml="http://www.w3.org/XML/1998/namespace"
	elementFormDefault="qualified" xmlns:cdk="http://jboss.org/schema/richfaces/cdk/core"
	xmlns:cdk-addinfo="http://jboss.org/schema/richfaces/cdk/additional-attributes-info"
    xmlns:c="http://jboss.org/schema/richfaces/cdk/jstl/core" 
	xmlns:x="http://jboss.org/schema/richfaces/cdk/ext">


	<xs:annotation>
		<xs:documentation>
			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"

			$Id:
			xhtml1-transitional.xsd,v 1.5 2002/08/28 09:53:29 mimasa Exp $
		</xs:documentation>
	</xs:annotation>

	<xs:import namespace="http://www.w3.org/XML/1998/namespace"
		schemaLocation="http://www.w3.org/2001/xml.xsd" />

	<xs:annotation>
		<xs:documentation>
			================ Character mnemonic entities
			=========================

			XHTML entity sets are identified by the
			PUBLIC and SYSTEM identifiers:

			PUBLIC "-//W3C//ENTITIES Latin 1 for
			XHTML//EN"
			SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"

			PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
			SYSTEM
			"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"

			PUBLIC
			"-//W3C//ENTITIES Symbols for XHTML//EN"
			SYSTEM
			"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
		</xs:documentation>
	</xs:annotation>

    <xs:import schemaLocation="cdk-template.xsd" namespace="http://jboss.org/schema/richfaces/cdk/core" />
    <xs:import schemaLocation="cdk-jstl-core.xsd" namespace="http://jboss.org/schema/richfaces/cdk/jstl/core" />
    <xs:import schemaLocation="cdk-extensions.xsd" namespace="http://jboss.org/schema/richfaces/cdk/ext" />

	<xs:annotation>
		<xs:documentation>
			================== Imported Names
			====================================
		</xs:documentation>
	</xs:annotation>

	<xs:simpleType name="ContentType">
		<xs:annotation>
			<xs:documentation>
				media type, as per [RFC2045]
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="ContentTypes">
		<xs:annotation>
			<xs:documentation>
				comma-separated list of media types, as per
				[RFC2045]
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="Charset">
		<xs:annotation>
			<xs:documentation>
				a character encoding, as per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="Charsets">
		<xs:annotation>
			<xs:documentation>
				a space separated list of character encodings, as
				per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="LanguageCode">
		<xs:annotation>
			<xs:documentation>
				a language code, as per [RFC3066]
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:language c:elMixedExpression" />
	</xs:simpleType>

	<xs:simpleType name="Character">
		<xs:annotation>
			<xs:documentation>
				a single character, as per section 2.2 of [XML]
			</xs:documentation>
		</xs:annotation>
		<!-- TODO test -->
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:length value="1" fixed="true" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="simpleType.Number">
		<xs:restriction base="xs:nonNegativeInteger">
			<xs:pattern value="[0-9]+" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="Number">
		<xs:annotation>
			<xs:documentation>
				one or more digits
      </xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="simpleType.Number c:elMixedExpression" />
	</xs:simpleType>

	<xs:simpleType name="tabindexNumber">
		<xs:annotation>
			<xs:documentation>
				tabindex attribute specifies the position of the
				current element
				in the tabbing order for the current document. This
				value must be
				a number between 0 and 32767. User agents should ignore
				leading
				zeros. 
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="simpleType.Number">
					<xs:minInclusive value="0" />
					<xs:maxInclusive value="32767" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elMixedExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="LinkTypes">
		<xs:annotation>
			<xs:documentation>
				space-separated list of link types
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:NMTOKENS c:elMixedExpression" />
	</xs:simpleType>

	<xs:simpleType name="MediaDesc">
		<xs:annotation>
			<xs:documentation>
				single or comma-separated list of media descriptors
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="[^,]+(,\s*[^,]+)*" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="URI">
		<xs:annotation>
			<xs:documentation>
				a Uniform Resource Identifier, see [RFC2396]
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:anyURI c:elMixedExpression" />
	</xs:simpleType>

	<xs:simpleType name="UriList">
		<xs:annotation>
			<xs:documentation>
				a space separated list of Uniform Resource
				Identifiers
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="Datetime">
		<xs:annotation>
			<xs:documentation>
				date and time information. ISO date format
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:dateTime c:elMixedExpression" />
	</xs:simpleType>

	<xs:simpleType name="Script">
		<xs:annotation>
			<xs:documentation>
				script expression
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="StyleSheet">
		<xs:annotation>
			<xs:documentation>
				style sheet data
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="Text">
		<xs:annotation>
			<xs:documentation>
				used for titles etc.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:simpleType name="FrameTarget">
		<xs:annotation>
			<xs:documentation>
				render in this frame
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="Length">
		<xs:annotation>
			<xs:documentation>
				nn for pixels or nn% for percentage length
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="MultiLength">
		<xs:annotation>
			<xs:documentation>
				pixel, percentage, or relative
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="Pixels">
		<xs:annotation>
			<xs:documentation>
				integer representing length in pixels
			</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="xs:nonNegativeInteger c:elMixedExpression" />
	</xs:simpleType>

	<xs:annotation>
		<xs:documentation>
			these are used for image maps
    </xs:documentation>
	</xs:annotation>

	<xs:simpleType name="Shape">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="rect" />
					<xs:enumeration value="circle" />
					<xs:enumeration value="poly" />
					<xs:enumeration value="default" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="Coords">
		<xs:annotation>
			<xs:documentation>
				comma separated list of lengths
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="ImgAlign">
		<xs:annotation>
			<xs:documentation>
				used for object, applet, img, input and iframe
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="top" />
					<xs:enumeration value="middle" />
					<xs:enumeration value="bottom" />
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="Color">
		<xs:annotation>
			<xs:documentation>
				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
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<!-- TODO: add constraints -->
	<xs:simpleType name="ID">
		<xs:union memberTypes="xs:ID c:elMixedExpression" />
	</xs:simpleType>
	<xs:simpleType name="IDREF">
		<xs:union memberTypes="xs:IDREF c:elMixedExpression" />
	</xs:simpleType>
	<xs:simpleType name="IDREFS">
		<xs:union memberTypes="xs:IDREFS c:elMixedExpression" />
	</xs:simpleType>
	<xs:simpleType name="NMTOKEN">
		<xs:union memberTypes="xs:NMTOKEN c:elMixedExpression" />
	</xs:simpleType>
	<xs:simpleType name="NMTOKENS">
		<xs:union memberTypes="xs:NMTOKENS c:elMixedExpression" />
	</xs:simpleType>

	<xs:annotation>
		<xs:documentation>
			=================== Generic Attributes
			===============================
		</xs:documentation>
	</xs:annotation>

	<xs:attributeGroup name="classGroup">
		<xs:attribute name="class" type="NMTOKENS">
			<xs:annotation>
				<xs:appinfo>
					<cdk-addinfo:component-attribute-name>styleClass
					</cdk-addinfo:component-attribute-name>
				</xs:appinfo>
			</xs:annotation>
		</xs:attribute>
        <xs:attribute ref="x:class"/>
	</xs:attributeGroup>

	<xs:attributeGroup name="coreattrs">
		<xs:annotation>
			<xs:documentation>
				core attributes common to most elements
				id
				document-wide unique id
				class space separated list of classes
				style
				associated style info
				title advisory title/amplification
			</xs:documentation>
		</xs:annotation>
		<xs:attributeGroup ref="classGroup" />
		<xs:attribute name="id" type="ID" />
		<xs:attribute name="style" type="StyleSheet" />
		<xs:attribute name="title" type="Text" />
        <xs:attributeGroup ref="x:coreattrs" />
	</xs:attributeGroup>

	<xs:simpleType name="simpleType.dir">
		<xs:restriction base="xs:token">
			<xs:enumeration value="ltr" />
			<xs:enumeration value="rtl" />
		</xs:restriction>
	</xs:simpleType>

	<xs:attributeGroup name="i18n">
		<xs:annotation>
			<xs:documentation>
				internationalization attributes
				lang language code
				(backwards compatible)
				xml:lang language code (as per XML 1.0 spec)
				dir direction for weak/neutral text
      </xs:documentation>
		</xs:annotation>
		<xs:attribute name="lang" type="LanguageCode" />

		<!-- TODO: xml:lang can be made EL -->
		<xs:attribute ref="xml:lang" />
		<xs:attribute name="dir">
			<xs:simpleType>
				<xs:union memberTypes="simpleType.dir c:elMixedExpression" />
			</xs:simpleType>
		</xs:attribute>
        <xs:attributeGroup ref="x:i18n" />
	</xs:attributeGroup>

	<xs:attributeGroup name="events">
		<xs:annotation>
			<xs:documentation>
				attributes for common UI events
				onclick a pointer
				button was clicked
				ondblclick a pointer button was double clicked
				onmousedown a pointer button was pressed down
				onmouseup a pointer
				button was released
				onmousemove a pointer was moved onto the element
				onmouseout a pointer was moved away from the element
				onkeypress a key
				was pressed and released
				onkeydown a key was pressed down
				onkeyup a
				key was released
      </xs:documentation>
		</xs:annotation>
		<xs:attribute name="onclick" type="Script" />
		<xs:attribute name="ondblclick" type="Script" />
		<xs:attribute name="onmousedown" type="Script" />
		<xs:attribute name="onmouseup" type="Script" />
		<xs:attribute name="onmouseover" type="Script" />
		<xs:attribute name="onmousemove" type="Script" />
		<xs:attribute name="onmouseout" type="Script" />
		<xs:attribute name="onkeypress" type="Script" />
		<xs:attribute name="onkeydown" type="Script" />
		<xs:attribute name="onkeyup" type="Script" />
        <xs:attributeGroup ref="x:events" />
	</xs:attributeGroup>

	<xs:attributeGroup name="focus">
		<xs:annotation>
			<xs:documentation>
				attributes for elements that can get the focus
				accesskey accessibility key character
				tabindex position in tabbing
				order
				onfocus the element got the focus
				onblur the element lost the
				focus
      </xs:documentation>
		</xs:annotation>
		<xs:attribute name="accesskey" type="Character" />
		<xs:attribute name="tabindex" type="tabindexNumber" />
		<xs:attribute name="onfocus" type="Script" />
		<xs:attribute name="onblur" type="Script" />
        <xs:attributeGroup ref="x:focus" />
	</xs:attributeGroup>

	<xs:attributeGroup name="attrs">
		<xs:attributeGroup ref="coreattrs" />
		<xs:attributeGroup ref="i18n" />
		<xs:attributeGroup ref="events" />
	</xs:attributeGroup>

	<xs:attributeGroup name="TextAlign">
		<xs:annotation>
			<xs:documentation>
				text alignment for p, div, h1-h6. The default is
				align="left" for ltr headings, "right" for rtl
      </xs:documentation>
		</xs:annotation>
		<xs:attribute name="align">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="left" />
							<xs:enumeration value="center" />
							<xs:enumeration value="right" />
							<xs:enumeration value="justify" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute ref="x:align"/>
	</xs:attributeGroup>

	<xs:annotation>
		<xs:documentation>
			=================== Text Elements
			====================================
		</xs:documentation>
	</xs:annotation>

	<xs:group name="special.extra">
		<xs:choice>
			<xs:element ref="object" />
			<xs:element ref="applet" />
			<xs:element ref="img" />
			<xs:element ref="map" />
			<xs:element ref="iframe" />
		</xs:choice>
	</xs:group>

	<xs:group name="special.basic">
		<xs:choice>
			<xs:element ref="br" />
			<xs:element ref="span" />
			<xs:element ref="bdo" />
		</xs:choice>
	</xs:group>

	<xs:group name="special">
		<xs:choice>
			<xs:group ref="special.basic" />
			<xs:group ref="special.extra" />
		</xs:choice>
	</xs:group>

	<xs:group name="fontstyle.extra">
		<xs:choice>
			<xs:element ref="big" />
			<xs:element ref="small" />
			<xs:element ref="font" />
			<xs:element ref="basefont" />
		</xs:choice>
	</xs:group>

	<xs:group name="fontstyle.basic">
		<xs:choice>
			<xs:element ref="tt" />
			<xs:element ref="i" />
			<xs:element ref="b" />
			<xs:element ref="u" />
			<xs:element ref="s" />
			<xs:element ref="strike" />
		</xs:choice>
	</xs:group>

	<xs:group name="fontstyle">
		<xs:choice>
			<xs:group ref="fontstyle.basic" />
			<xs:group ref="fontstyle.extra" />
		</xs:choice>
	</xs:group>

	<xs:group name="phrase.extra">
		<xs:choice>
			<xs:element ref="sub" />
			<xs:element ref="sup" />
		</xs:choice>
	</xs:group>

	<xs:group name="phrase.basic">
		<xs:choice>
			<xs:element ref="em" />
			<xs:element ref="strong" />
			<xs:element ref="dfn" />
			<xs:element ref="code" />
			<xs:element ref="q" />
			<xs:element ref="samp" />
			<xs:element ref="kbd" />
			<xs:element ref="var" />
			<xs:element ref="cite" />
			<xs:element ref="abbr" />
			<xs:element ref="acronym" />
		</xs:choice>
	</xs:group>

	<xs:group name="phrase">
		<xs:choice>
			<xs:group ref="phrase.basic" />
			<xs:group ref="phrase.extra" />
		</xs:choice>
	</xs:group>

	<xs:group name="inline.forms">
		<xs:choice>
			<xs:element ref="input" />
			<xs:element ref="select" />
			<xs:element ref="textarea" />
			<xs:element ref="label" />
			<xs:element ref="button" />
		</xs:choice>
	</xs:group>

	<xs:group name="misc.inline">
		<xs:annotation>
			<xs:documentation>
				these can only occur at block level
			</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="cdk:structural" />
			<xs:element ref="ins" />
			<xs:element ref="del" />
			<xs:element ref="script" />
		</xs:choice>
	</xs:group>

	<xs:group name="misc">
		<xs:annotation>
			<xs:documentation>
				these can only occur at block level
			</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:group ref="misc.elements" />
			<xs:group ref="misc.inline" />
		</xs:choice>
	</xs:group>

	<xs:group name="misc.elements">
		<xs:choice>
			<xs:element ref="noscript" />
		</xs:choice>
	</xs:group>

	<xs:group name="inline">
		<xs:choice>
			<xs:group ref="inline.elements" />
			<xs:group ref="special" />
			<xs:group ref="fontstyle" />
			<xs:group ref="phrase" />
			<xs:group ref="inline.forms" />
		</xs:choice>
	</xs:group>

	<xs:group name="inline.elements">
		<xs:choice>
			<xs:element ref="a" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="Inline" mixed="true">
		<xs:annotation>
			<xs:documentation>
				"Inline" covers inline or "text-level" element
			</xs:documentation>
		</xs:annotation>
		<xs:group ref="Inline.content" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="Inline.content">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="inline" />
				<xs:group ref="misc.inline" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:annotation>
		<xs:documentation>
			================== Block level elements
			==============================
		</xs:documentation>
	</xs:annotation>

	<xs:group name="heading">
		<xs:choice>
			<xs:element ref="h1" />
			<xs:element ref="h2" />
			<xs:element ref="h3" />
			<xs:element ref="h4" />
			<xs:element ref="h5" />
			<xs:element ref="h6" />
		</xs:choice>
	</xs:group>

	<xs:group name="lists">
		<xs:choice>
			<xs:element ref="ul" />
			<xs:element ref="ol" />
			<xs:element ref="dl" />
			<xs:element ref="menu" />
			<xs:element ref="dir" />
		</xs:choice>
	</xs:group>

	<xs:group name="blocktext">
		<xs:choice>
			<xs:element ref="pre" />
			<xs:element ref="hr" />
			<xs:element ref="blockquote" />
			<xs:element ref="address" />
			<xs:element ref="center" />
			<xs:element ref="noframes" />
		</xs:choice>
	</xs:group>

	<xs:group name="block">
		<xs:choice>
			<xs:group ref="block.children" />
			<xs:group ref="heading" />
			<xs:group ref="lists" />
			<xs:group ref="blocktext" />
		</xs:choice>
	</xs:group>

	<xs:group name="block.children">
		<xs:choice>
			<xs:element ref="p" />
			<xs:element ref="div" />
			<xs:element ref="isindex" />
			<xs:element ref="fieldset" />
			<xs:element ref="table" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="Flow" mixed="true">
		<xs:annotation>
			<xs:documentation>
				"Flow" mixes block and inline and is used for list
				items etc.
			</xs:documentation>
		</xs:annotation>
		<xs:group ref="Flow.children" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="Flow.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="block" />
				<xs:group ref="form.element.group" />
				<xs:group ref="inline" />
				<xs:group ref="misc" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="form.element.group">
		<xs:choice>
			<xs:element ref="form" />
		</xs:choice>
	</xs:group>

	<xs:annotation>
		<xs:documentation>
			================== Content models for exclusions
			=====================
		</xs:documentation>
	</xs:annotation>

	<xs:complexType name="a.content" mixed="true">
		<xs:group ref="a.children" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="focus"></xs:attributeGroup>
		<xs:attribute name="charset" type="Charset"></xs:attribute>
		<xs:attribute name="type" type="ContentType"></xs:attribute>
		<xs:attribute name="name" type="NMTOKEN"></xs:attribute>
		<xs:attribute name="href" type="URI"></xs:attribute>
		<xs:attribute name="hreflang" type="LanguageCode"></xs:attribute>
		<xs:attribute name="rel" type="LinkTypes"></xs:attribute>
		<xs:attribute name="rev" type="LinkTypes"></xs:attribute>
		<xs:attribute default="rect" name="shape" type="Shape"></xs:attribute>
		<xs:attribute name="coords" type="Coords"></xs:attribute>
		<xs:attribute name="target" type="FrameTarget"></xs:attribute>
        
        <xs:attribute ref="x:charset" ></xs:attribute>
        <xs:attribute ref="x:type" ></xs:attribute>
        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:href" ></xs:attribute>
        <xs:attribute ref="x:hreflang" ></xs:attribute>
        <xs:attribute ref="x:rel" ></xs:attribute>
        <xs:attribute ref="x:rev" ></xs:attribute>
        <xs:attribute ref="x:shape" ></xs:attribute>
        <xs:attribute ref="x:coords" ></xs:attribute>
        <xs:attribute ref="x:target" ></xs:attribute>
        
        <xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="a.children">
		<xs:choice>
			<xs:group ref="special"></xs:group>
			<xs:group ref="fontstyle"></xs:group>
			<xs:group ref="phrase"></xs:group>
			<xs:group ref="inline.forms"></xs:group>
			<xs:group ref="misc.inline"></xs:group>
		</xs:choice>
	</xs:group>

	<xs:complexType name="pre.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				pre uses "Inline" excluding img, object, applet,
				big, small,
				font, or basefont
      </xs:documentation>
		</xs:annotation>
		<xs:group ref="pre.children" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="pre.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="a.element.group" />
				<xs:group ref="special.basic" />
				<xs:group ref="fontstyle.basic" />
				<xs:group ref="phrase.basic" />
				<xs:group ref="inline.forms" />
				<xs:group ref="misc.inline" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="a.element.group">
		<xs:choice>
			<xs:element ref="a" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="form.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				form uses "Flow" excluding form
      </xs:documentation>
		</xs:annotation>
		<xs:group ref="form.children" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="form.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="block" />
				<xs:group ref="inline" />
				<xs:group ref="misc" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="button.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				button uses "Flow" but excludes a, form, form
				controls, iframe
			</xs:documentation>
		</xs:annotation>
		<xs:group ref="button.children" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="button.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="button.children.elements" />
				<xs:group ref="heading" />
				<xs:group ref="lists" />
				<xs:group ref="blocktext" />
				<xs:group ref="fontstyle" />
				<xs:group ref="phrase" />
				<xs:group ref="misc" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="button.children.elements">
		<xs:choice>
			<xs:element ref="p" />
			<xs:element ref="div" />
			<xs:element ref="table" />
			<xs:element ref="br" />
			<xs:element ref="span" />
			<xs:element ref="bdo" />
			<xs:element ref="object" />
			<xs:element ref="applet" />
			<xs:element ref="img" />
			<xs:element ref="map" />
		</xs:choice>
	</xs:group>

	<xs:annotation>
		<xs:documentation>
			================ Document Structure
			==================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="html" type="html.content">
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			================ Document Head
			=======================================
		</xs:documentation>
	</xs:annotation>

	<xs:group name="head.misc">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
				<xs:element ref="script" />
				<xs:element ref="style" />
				<xs:element ref="meta" />
				<xs:element ref="link" />
				<xs:element ref="object" />
				<xs:element ref="isindex" />
			</xs:choice>
		</xs:sequence>
	</xs:group>

	<xs:element name="head" type="head.content">
		<xs:annotation>
			<xs:documentation>
				content model is "head.misc" combined with a single
				title and an optional base element in any order
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="title" type="title.content">
		<xs:annotation>
			<xs:documentation>
				The title element is not considered part of the
				flow of text.
				It should be displayed, for example as the page header
				or
				window title. Exactly one title is required per document.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="base" type="base.content">
		<xs:annotation>
			<xs:documentation>
				document base URI
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="meta" type="meta.content">
		<xs:annotation>
			<xs:documentation>
				generic metainformation
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="link" type="link.content">
		<xs:annotation>
			<xs:documentation>
				Relationship values can be used in principle:

				a) for
				document specific toolbars/menus when used
				with the link element in
				document head e.g.
				start, contents, previous, next, index, end, help
				b) to link to a separate style sheet (rel="stylesheet")
				c) to make a
				link to a script (rel="script")
				d) by stylesheets to control how
				collections of
				html nodes are rendered into printed documents
				e) to
				make a link to a printable version of this document
				e.g. a PostScript
				or PDF version (rel="alternate" media="print")
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="style" type="style.content">
		<xs:annotation>
			<xs:documentation>
				style info, which may include CDATA sections
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="script" type="script.content">
		<xs:annotation>
			<xs:documentation>
				script statements, which may include CDATA sections
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="noscript">
		<xs:annotation>
			<xs:documentation>
				alternate content container for non script-based
				rendering
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			======================= Frames
			=======================================
    </xs:documentation>
	</xs:annotation>

	<xs:element name="iframe">
		<xs:annotation>
			<xs:documentation>
				inline subwindow
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="coreattrs" />
					<xs:attribute name="longdesc" type="URI" />
					<xs:attribute name="name" type="NMTOKEN" />
					<xs:attribute name="src" type="URI" />
					<xs:attribute name="frameborder" default="1">
						<xs:simpleType>
							<xs:union>
								<xs:simpleType>
									<xs:restriction base="xs:token">
										<xs:enumeration value="1" />
										<xs:enumeration value="0" />
									</xs:restriction>
								</xs:simpleType>
								<xs:simpleType>
									<xs:restriction base="c:elFreeformExpression" />
								</xs:simpleType>
							</xs:union>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="marginwidth" type="Pixels" />
					<xs:attribute name="marginheight" type="Pixels" />
					<xs:attribute name="scrolling" default="auto">
						<xs:simpleType>
							<xs:union>
								<xs:simpleType>
									<xs:restriction base="xs:token">
										<xs:enumeration value="yes" />
										<xs:enumeration value="no" />
										<xs:enumeration value="auto" />
									</xs:restriction>
								</xs:simpleType>
								<xs:simpleType>
									<xs:restriction base="c:elFreeformExpression" />
								</xs:simpleType>
							</xs:union>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="align" type="ImgAlign" />
					<xs:attribute name="height" type="Length" />
					<xs:attribute name="width" type="Length" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="noframes">
		<xs:annotation>
			<xs:documentation>
				alternate content container for non frame-based
				rendering
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Document Body
			====================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="body">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="onload" type="Script" />
					<xs:attribute name="onunload" type="Script" />
					<xs:attribute name="background" type="URI" />
					<xs:attribute name="bgcolor" type="Color" />
					<xs:attribute name="text" type="Color" />
					<xs:attribute name="link" type="Color" />
					<xs:attribute name="vlink" type="Color" />
					<xs:attribute name="alink" type="Color" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="div">
		<xs:annotation>
			<xs:documentation>
				generic language/style container      
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Paragraphs
			=======================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="p">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Headings
			=========================================

			There are six levels of
			headings from h1 (the most important)
			to h6 (the least important).
		</xs:documentation>
	</xs:annotation>

	<xs:element name="h1">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="h2">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="h3">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="h4">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="h5">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="h6">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="TextAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Lists
			============================================
		</xs:documentation>
	</xs:annotation>

	<xs:simpleType name="ULStyle">
		<xs:annotation>
			<xs:documentation>
				Unordered list bullet styles
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="disc" />
					<xs:enumeration value="square" />
					<xs:enumeration value="circle" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:attributeGroup name="compactGroup">
		<xs:attribute name="compact">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="compact" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:compact" />
	</xs:attributeGroup>

	<xs:element name="ul" type="ul.content">
		<xs:annotation>
			<xs:documentation>
				Unordered list
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:simpleType name="OLStyle">
		<xs:annotation>
			<xs:documentation>
				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.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:element name="ol" type="ol.content">
		<xs:annotation>
			<xs:documentation>
				Ordered (numbered) list
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="menu" type="menu.content">
		<xs:annotation>
			<xs:documentation>
				single column list (DEPRECATED)
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="dir" type="dir.content">
		<xs:annotation>
			<xs:documentation>
				multiple column list (DEPRECATED)
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:simpleType name="LIStyle">
		<xs:annotation>
			<xs:documentation>
				LIStyle is constrained to: "(ULStyle|OLStyle)"
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="c:elFreeformExpression" />
	</xs:simpleType>

	<xs:element name="li">
		<xs:annotation>
			<xs:documentation>
				list item
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="type" type="LIStyle" />
					<xs:attribute name="value" type="Number" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			definition lists - dt for term, dd for its
			definition
    </xs:documentation>
	</xs:annotation>

	<xs:element name="dl" type="dl.content" />

	<xs:element name="dt">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="dd">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Address
			==========================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="address" type="address.content">
		<xs:annotation>
			<xs:documentation>
				information on author
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Horizontal Rule
			==================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="hr" type="hr.content">
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Preformatted Text
			================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="pre">
		<xs:annotation>
			<xs:documentation>
				content is "Inline" excluding
				"img|object|applet|big|small|sub|sup|font|basefont"
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="pre.content">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="width" type="Number" />
					<xs:attribute ref="xml:space" fixed="preserve" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Block-like Quotes
			================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="blockquote">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="cite" type="URI" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Text alignment
			===================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="center">
		<xs:annotation>
			<xs:documentation>
				center content
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Inserted/Deleted Text
			============================

			ins/del are allowed in block and inline
			content, but its
			inappropriate to include block content within an ins
			element
			occurring in inline content.
    </xs:documentation>
	</xs:annotation>

	<xs:element name="ins">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="cite" type="URI" />
					<xs:attribute name="datetime" type="Datetime" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="del">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="cite" type="URI" />
					<xs:attribute name="datetime" type="Datetime" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			================== The Anchor Element
			================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="a" type="a.content">
		<xs:annotation>
			<xs:documentation>
				content is "Inline" except that anchors shouldn't
				be nested
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			===================== Inline Elements
			================================
    </xs:documentation>
	</xs:annotation>

	<xs:element name="span">
		<xs:annotation>
			<xs:documentation>
				generic language/style container
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="bdo">
		<xs:annotation>
			<xs:documentation>
				I18N BiDi over-ride
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="coreattrs" />
					<xs:attributeGroup ref="events" />
					<xs:attribute name="lang" type="LanguageCode" />
					<xs:attribute ref="xml:lang" />
					<xs:attribute name="dir" use="optional">
						<xs:annotation>
							<xs:appinfo>
								<cdk-addinfo:default-value>ltr</cdk-addinfo:default-value>
							</xs:appinfo>
						</xs:annotation>
						<xs:simpleType>
							<xs:union memberTypes="simpleType.dir c:elMixedExpression" />
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="br" type="br.content">
		<xs:annotation>
			<xs:documentation>
				forced line break
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="em">
		<xs:annotation>
			<xs:documentation>
				emphasis
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="strong">
		<xs:annotation>
			<xs:documentation>
				strong emphasis
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="dfn">
		<xs:annotation>
			<xs:documentation>
				definitional
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="code">
		<xs:annotation>
			<xs:documentation>
				program code
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="samp">
		<xs:annotation>
			<xs:documentation>
				sample
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="kbd">
		<xs:annotation>
			<xs:documentation>
				something user would type
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="var">
		<xs:annotation>
			<xs:documentation>
				variable
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="cite">
		<xs:annotation>
			<xs:documentation>
				citation
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="abbr">
		<xs:annotation>
			<xs:documentation>
				abbreviation
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="acronym">
		<xs:annotation>
			<xs:documentation>
				acronym
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="q">
		<xs:annotation>
			<xs:documentation>
				inlined quote
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="cite" type="URI" />
                    <xs:attribute ref="x:cite" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="sub">
		<xs:annotation>
			<xs:documentation>
				subscript
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="sup">
		<xs:annotation>
			<xs:documentation>
				superscript
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="tt">
		<xs:annotation>
			<xs:documentation>
				fixed pitch font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="i">
		<xs:annotation>
			<xs:documentation>
				italic font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="b">
		<xs:annotation>
			<xs:documentation>
				bold font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="big">
		<xs:annotation>
			<xs:documentation>
				bigger font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="small">
		<xs:annotation>
			<xs:documentation>
				smaller font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="u">
		<xs:annotation>
			<xs:documentation>
				underline
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="s">
		<xs:annotation>
			<xs:documentation>
				strike-through
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="strike">
		<xs:annotation>
			<xs:documentation>
				strike-through
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="basefont" type="basefont.content">
		<xs:annotation>
			<xs:documentation>
				base font size
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="font">
		<xs:annotation>
			<xs:documentation>
				local change to font
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="coreattrs" />
					<xs:attributeGroup ref="i18n" />
					<xs:attribute name="size" />
					<xs:attribute name="color" type="Color" />
					<xs:attribute name="face" />
					
                    <xs:attribute ref="x:size" />
                    <xs:attribute ref="x:color" />
                    <xs:attribute ref="x:face" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			==================== Object
			======================================

			object is used to embed objects
			as part of HTML pages.
			param elements should precede other content.
			Parameters
			can also be expressed as attribute/value pairs on the
			object element itself when brevity is desired.
    </xs:documentation>
	</xs:annotation>

	<xs:element name="object" type="object.content" />

	<xs:element name="param" type="param.content">
		<xs:annotation>
			<xs:documentation>
				param is used to supply a named property value.
				In
				XML it would seem natural to follow RDF and support an
				abbreviated
				syntax where the param elements are replaced
				by attribute value pairs
				on the object start tag.
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Java applet
			==================================

			One of code or object attributes
			must be present.
			Place param elements before other content.
		</xs:documentation>
	</xs:annotation>

	<xs:element name="applet" type="applet.content">
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			=================== Images
			===========================================

			To avoid accessibility
			problems for people who aren't
			able to see the image, you should
			provide a text
			description using the alt and longdesc attributes.
			In
			addition, avoid the use of server-side image maps.
		</xs:documentation>
	</xs:annotation>

	<xs:element name="img" type="img.content">
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			================== Client-side image maps
			============================

			These can be placed in the same document
			or grouped in a
			separate document although this isn't yet widely
			supported
    </xs:documentation>
	</xs:annotation>

	<xs:element name="map" type="map.content">
	</xs:element>

	<xs:element name="area" type="area.content">
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			================ Forms
			===============================================
		</xs:documentation>
	</xs:annotation>

	<xs:element name="form">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="form.content">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="action" use="optional" type="URI" />
					<xs:attribute name="method" default="get">
						<xs:simpleType>
							<xs:union>
								<xs:simpleType>
									<xs:restriction base="xs:token">
										<xs:enumeration value="get" />
										<xs:enumeration value="post" />
									</xs:restriction>
								</xs:simpleType>
								<xs:simpleType>
									<xs:restriction base="c:elFreeformExpression" />
								</xs:simpleType>
							</xs:union>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="enctype" type="ContentType"
						default="application/x-www-form-urlencoded" />
					<xs:attribute name="onsubmit" type="Script" />
					<xs:attribute name="onreset" type="Script" />
					<xs:attribute name="accept" type="ContentTypes" />
					<xs:attribute name="accept-charset" type="Charsets" />
					<xs:attribute name="target" type="FrameTarget" />
					
					<xs:attribute ref="x:action"   />
                    <xs:attribute ref="x:method" ></xs:attribute>
                    <xs:attribute ref="x:enctype"  />
                    <xs:attribute ref="x:onsubmit"  />
                    <xs:attribute ref="x:onreset"  />
                    <xs:attribute ref="x:accept"  />
                    <xs:attribute ref="x:accept-charset"  />
                    <xs:attribute ref="x:target"  />
					
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="label">
		<xs:annotation>
			<xs:documentation>
				Each label must not contain more than ONE field
				Label elements shouldn't be nested.
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="for" type="IDREF" />
					<xs:attribute name="accesskey" type="Character" />
					<xs:attribute name="onfocus" type="Script" />
					<xs:attribute name="onblur" type="Script" />

                    <xs:attribute ref="x:for"  />
                    <xs:attribute ref="x:accesskey"  />
                    <xs:attribute ref="x:onfocus"  />
                    <xs:attribute ref="x:onblur"  />

				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:simpleType name="InputType">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="text" />
					<xs:enumeration value="password" />
					<xs:enumeration value="checkbox" />
					<xs:enumeration value="radio" />
					<xs:enumeration value="submit" />
					<xs:enumeration value="reset" />
					<xs:enumeration value="file" />
					<xs:enumeration value="hidden" />
					<xs:enumeration value="image" />
					<xs:enumeration value="button" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:attributeGroup name="checkedGroup">
		<xs:attribute name="checked">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="checked" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:checked" />
	</xs:attributeGroup>

	<xs:attributeGroup name="disabledGroup">
		<xs:attribute name="disabled">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="disabled" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute ref="x:disabled"></xs:attribute>
	</xs:attributeGroup>

	<xs:attributeGroup name="readonlyGroup">
		<xs:attribute name="readonly">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="readonly" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:readonly"></xs:attribute>
	</xs:attributeGroup>

	<xs:element name="input" type="input.content">
		<xs:annotation>
			<xs:documentation>
				form control
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="select" type="select.content">
		<xs:annotation>
			<xs:documentation>
				option selector
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="optgroup" type="optgroup.content">
		<xs:annotation>
			<xs:documentation>
				option group
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="option" type="option.content">
		<xs:annotation>
			<xs:documentation>
				selectable choice
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="textarea" type="textarea.content">
		<xs:annotation>
			<xs:documentation>
				multi-line text field
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="fieldset" type="fieldset.content">
		<xs:annotation>
			<xs:documentation>
				The fieldset element is used to group form fields.
				Only one legend element should occur in the content
				and if present
				should only be preceded by whitespace.

				NOTE: this content model is
				different from the XHTML 1.0 DTD,
				closer to the intended content
				model in HTML4 DTD
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:simpleType name="LAlign">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="top" />
					<xs:enumeration value="bottom" />
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:element name="legend">
		<xs:annotation>
			<xs:documentation>
				fieldset label
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="accesskey" type="Character" />
					<xs:attribute name="align" type="LAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="button">
		<xs:annotation>
			<xs:documentation>
				Content is "Flow" excluding a, form and form
				controls
      </xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="button.content">
					<xs:attributeGroup ref="attrs" />
					<xs:attributeGroup ref="focus" />
					<xs:attributeGroup ref="disabledGroup" />
					<xs:attribute name="name" />
					<xs:attribute name="value" />
					<xs:attribute name="type" default="submit">
						<xs:simpleType>
							<xs:union>
								<xs:simpleType>
									<xs:restriction base="xs:token">
										<xs:enumeration value="button" />
										<xs:enumeration value="submit" />
										<xs:enumeration value="reset" />
									</xs:restriction>
								</xs:simpleType>
								<xs:simpleType>
									<xs:restriction base="c:elFreeformExpression" />
								</xs:simpleType>
							</xs:union>
						</xs:simpleType>
					</xs:attribute>
					
					<xs:attribute ref="x:name" />
                    <xs:attribute ref="x:value" />
                    <xs:attribute ref="x:type"  />
					
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="isindex" type="isindex.content">
		<xs:annotation>
			<xs:documentation>
				single-line text input control (DEPRECATED)
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			======================= Tables
			=======================================

			Derived from IETF HTML table
			standard, see [RFC1942]
    </xs:documentation>
	</xs:annotation>

	<xs:simpleType name="TFrame">
		<xs:annotation>
			<xs:documentation>
				The border attribute sets the thickness of the
				frame around the
				table. The default units are screen pixels.

				The frame
				attribute specifies which parts of the frame around
				the table should
				be rendered. The values are not the same as
				CALS to avoid a name
				clash with the valign attribute.
      </xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="void" />
					<xs:enumeration value="above" />
					<xs:enumeration value="below" />
					<xs:enumeration value="hsides" />
					<xs:enumeration value="lhs" />
					<xs:enumeration value="rhs" />
					<xs:enumeration value="vsides" />
					<xs:enumeration value="box" />
					<xs:enumeration value="border" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="TRules">
		<xs:annotation>
			<xs:documentation>
				The rules attribute defines which rules to draw
				between cells:

				If rules is absent then assume:
				"none" if border is
				absent or border="0" otherwise "all"
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="none" />
					<xs:enumeration value="groups" />
					<xs:enumeration value="rows" />
					<xs:enumeration value="cols" />
					<xs:enumeration value="all" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:simpleType name="TAlign">
		<xs:annotation>
			<xs:documentation>
				horizontal placement of table relative to document
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="left" />
					<xs:enumeration value="center" />
					<xs:enumeration value="right" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:attributeGroup name="cellhalign">
		<xs:annotation>
			<xs:documentation>
				horizontal alignment attributes for cell contents

				char alignment char, e.g. char=':'
				charoff offset for alignment char
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="align">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="left" />
							<xs:enumeration value="center" />
							<xs:enumeration value="right" />
							<xs:enumeration value="justify" />
							<xs:enumeration value="char" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="char" type="Character" />
		<xs:attribute name="charoff" type="Length" />
		
        <xs:attribute ref="x:align"/>
        <xs:attribute ref="x:char"/>
        <xs:attribute ref="x:charoff"/>

	</xs:attributeGroup>

	<xs:attributeGroup name="cellvalign">
		<xs:annotation>
			<xs:documentation>
				vertical alignment attributes for cell contents
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="valign">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="top" />
							<xs:enumeration value="middle" />
							<xs:enumeration value="bottom" />
							<xs:enumeration value="baseline" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elFreeformExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:valign"/>
	</xs:attributeGroup>

	<xs:element name="table" type="table.content">
	</xs:element>

	<xs:simpleType name="CAlign">
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="top" />
					<xs:enumeration value="bottom" />
					<xs:enumeration value="left" />
					<xs:enumeration value="right" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elFreeformExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:element name="caption">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="align" type="CAlign" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:annotation>
		<xs:documentation>
			Use thead to duplicate headers when breaking table
			across page boundaries, or for static headers when
			tbody sections are
			rendered in scrolling panel.

			Use tfoot to duplicate footers when
			breaking table
			across page boundaries, or for static footers when
			tbody sections are rendered in scrolling panel.

			Use multiple tbody
			sections when rules are needed
			between groups of table rows.
		</xs:documentation>
	</xs:annotation>

	<xs:element name="thead" type="thead.content">
	</xs:element>

	<xs:element name="tfoot" type="tfoot.content">
	</xs:element>

	<xs:element name="tbody" type="tbody.content">
	</xs:element>

	<xs:element name="colgroup" type="colgroup.content">
		<xs:annotation>
			<xs:documentation>
				colgroup groups a set of col elements. It allows
				you to group
				several semantically related columns together.
			</xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="col" type="col.content">
		<xs:annotation>
			<xs:documentation>
				col elements define the alignment properties for
				cells in
				one or more columns.

				The width attribute specifies the width
				of the columns, e.g.

				width=64 width in screen pixels
				width=0.5*
				relative width of 0.5

				The span attribute causes the attributes of one
				col element to apply to more than one column.
      </xs:documentation>
		</xs:annotation>
	</xs:element>

	<xs:element name="tr" type="tr.content">
	</xs:element>

	<xs:simpleType name="Scope">
		<xs:annotation>
			<xs:documentation>
				Scope is simpler than headers attribute for common
				tables
			</xs:documentation>
		</xs:annotation>
		<xs:union>
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="row" />
					<xs:enumeration value="col" />
					<xs:enumeration value="rowgroup" />
					<xs:enumeration value="colgroup" />
				</xs:restriction>
			</xs:simpleType>
			<xs:simpleType>
				<xs:restriction base="c:elMixedExpression" />
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>

	<xs:annotation>
		<xs:documentation>
			th is for headers, td for data and for cells acting
			as both
		</xs:documentation>
	</xs:annotation>

	<xs:attributeGroup name="nowrapGroup">
		<xs:attribute name="nowrap">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="nowrap" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:nowrap" />
	</xs:attributeGroup>

	<xs:element name="th">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="abbr" type="Text" />
					<xs:attribute name="axis" />
					<xs:attribute name="headers" type="IDREFS" />
					<xs:attribute name="scope" type="Scope" />
					<xs:attribute name="rowspan" default="1" type="Number" />
					<xs:attribute name="colspan" default="1" type="Number" />
					<xs:attributeGroup ref="cellhalign" />
					<xs:attributeGroup ref="cellvalign" />
					<xs:attributeGroup ref="nowrapGroup" />
					<xs:attribute name="bgcolor" type="Color" />
					<xs:attribute name="width" type="Length" />
					<xs:attribute name="height" type="Length" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:element name="td">
		<xs:complexType mixed="true">
			<xs:complexContent>
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs" />
					<xs:attribute name="abbr" type="Text" />
					<xs:attribute name="axis" />
					<xs:attribute name="headers" type="IDREFS" />
					<xs:attribute name="scope" type="Scope" />
					<xs:attribute name="rowspan" default="1" type="Number" />
					<xs:attribute name="colspan" default="1" type="Number" />
					<xs:attributeGroup ref="cellhalign" />
					<xs:attributeGroup ref="cellvalign" />
					<xs:attributeGroup ref="nowrapGroup" />
					<xs:attribute name="bgcolor" type="Color" />
					<xs:attribute name="width" type="Length" />
					<xs:attribute name="height" type="Length" />
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="address.content" mixed="true">
		<xs:group ref="address.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="address.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="inline"></xs:group>
				<xs:group ref="misc.inline"></xs:group>
				<xs:group ref="address.children.elements" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="address.children.elements">
		<xs:choice>
			<xs:element ref="p" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="applet.content" mixed="true">
		<xs:group ref="applet.children" />
		<xs:attributeGroup ref="coreattrs"></xs:attributeGroup>
		<xs:attribute name="codebase" type="URI"></xs:attribute>
		<xs:attribute name="archive" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="code" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="object" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="alt" type="Text"></xs:attribute>
		<xs:attribute name="name" type="NMTOKEN"></xs:attribute>
		<xs:attribute use="optional" name="width" type="Length"></xs:attribute>
		<xs:attribute use="optional" name="height" type="Length"></xs:attribute>
		<xs:attribute name="align" type="ImgAlign"></xs:attribute>
		<xs:attribute name="hspace" type="Pixels"></xs:attribute>
		<xs:attribute name="vspace" type="Pixels"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />

        <xs:attribute ref="x:codebase" ></xs:attribute>
        <xs:attribute ref="x:archive" ></xs:attribute>
        <xs:attribute ref="x:code" ></xs:attribute>
        <xs:attribute ref="x:object" ></xs:attribute>
        <xs:attribute ref="x:alt" ></xs:attribute>
        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:width" ></xs:attribute>
        <xs:attribute ref="x:height" ></xs:attribute>
        <xs:attribute ref="x:align" ></xs:attribute>
        <xs:attribute ref="x:hspace" ></xs:attribute>
        <xs:attribute ref="x:vspace" ></xs:attribute>
	</xs:complexType>

	<xs:group name="applet.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="param.element.group" />
				<xs:group ref="block"></xs:group>
				<xs:group ref="form.element.group" />
				<xs:group ref="inline"></xs:group>
				<xs:group ref="misc"></xs:group>
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="param.element.group">
		<xs:choice>
			<xs:element ref="param"></xs:element>
		</xs:choice>
	</xs:group>

	<xs:complexType name="area.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="focus"></xs:attributeGroup>
		<xs:attribute default="rect" name="shape" type="Shape"></xs:attribute>
		<xs:attribute name="coords" type="Coords"></xs:attribute>
		<xs:attribute name="href" type="URI"></xs:attribute>
		<xs:attribute name="nohref">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="nohref"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		
		<xs:attribute use="optional" name="alt" type="Text"></xs:attribute>
		<xs:attribute name="target" type="FrameTarget"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />

        <xs:attribute ref="x:alt" ></xs:attribute>
        <xs:attribute ref="x:target" ></xs:attribute>
        <xs:attribute ref="x:shape" ></xs:attribute>
        <xs:attribute ref="x:coords" ></xs:attribute>
        <xs:attribute ref="x:href" ></xs:attribute>
        <xs:attribute ref="x:nohref"></xs:attribute>

	</xs:complexType>
	<xs:complexType name="base.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute name="href" type="URI"></xs:attribute>
		<xs:attribute name="target" type="FrameTarget"></xs:attribute>

        <xs:attribute ref="x:id" ></xs:attribute>
        <xs:attribute ref="x:href" ></xs:attribute>
        <xs:attribute ref="x:target" ></xs:attribute>

		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="basefont.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="id" type="ID" />
		<xs:attribute use="optional" name="size" type="xs:anySimpleType" />
		<xs:attribute name="color" type="Color" />
		<xs:attribute name="face" type="xs:anySimpleType" />

        <xs:attribute ref="x:id"  />
        <xs:attribute ref="x:size"  />
        <xs:attribute ref="x:color"  />
        <xs:attribute ref="x:face"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="br.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="coreattrs"></xs:attributeGroup>
		<xs:attribute default="none" name="clear">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="left"></xs:enumeration>
							<xs:enumeration value="all"></xs:enumeration>
							<xs:enumeration value="right"></xs:enumeration>
							<xs:enumeration value="none"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
        <xs:attribute ref="x:clear"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="col.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute default="1" name="span" type="Number"></xs:attribute>
		<xs:attribute name="width" type="MultiLength"></xs:attribute>
		<xs:attributeGroup ref="cellhalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cellvalign"></xs:attributeGroup>
		
		<xs:attribute ref="x:span"  />
		<xs:attribute ref="x:width"  />
		
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="colgroup.content">
		<xs:group ref="colgroup.children" />
		<xs:attributeGroup ref="attrs" />
		<xs:attribute default="1" name="span" type="Number" />
		<xs:attribute name="width" type="MultiLength" />
		<xs:attributeGroup ref="cellhalign" />
		<xs:attributeGroup ref="cellvalign" />

        <xs:attribute ref="x:span"  />
        <xs:attribute ref="x:width"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:group name="colgroup.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="col" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>
	<xs:complexType name="dir.content">
		<xs:group ref="dir.children" />
		<xs:attributeGroup ref="attrs" />
		<xs:attributeGroup ref="compactGroup" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:group name="dir.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="li" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>
	<xs:complexType name="dl.content">
		<xs:group ref="dl.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="compactGroup" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="dl.children">
		<xs:choice>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="dt" />
				<xs:element ref="dd" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="fieldset.content" mixed="true">
		<xs:group ref="fieldset.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="fieldset.children">
		<xs:sequence>
			<xs:group ref="legend.element.group" />
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="block"></xs:group>
				<xs:group ref="form.element.group" />
				<xs:group ref="inline"></xs:group>
				<xs:group ref="misc"></xs:group>
			</xs:choice>
		</xs:sequence>
	</xs:group>

	<xs:group name="legend.element.group">
		<xs:choice>
			<xs:element ref="legend"></xs:element>
		</xs:choice>
	</xs:group>

	<xs:complexType name="head.content">
		<xs:group ref="head.children" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute name="profile" type="URI"></xs:attribute>

        <xs:attribute ref="x:id"  />
        <xs:attribute ref="x:profile"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="head.children">
		<xs:sequence>
			<xs:group ref="head.misc" />
			<xs:choice>
				<xs:sequence minOccurs="0">
					<xs:element ref="title" />
					<xs:group ref="head.misc" />
					<xs:sequence minOccurs="0">
						<xs:element ref="base" />
						<xs:group ref="head.misc" />
					</xs:sequence>
				</xs:sequence>
				<xs:sequence minOccurs="0">
					<xs:element ref="base" />
					<xs:group ref="head.misc" />
					<xs:element ref="title" />
					<xs:group ref="head.misc" />
				</xs:sequence>
			</xs:choice>
		</xs:sequence>
	</xs:group>

	<xs:complexType name="hr.content">
		<xs:attributeGroup ref="attrs" />
		<xs:attribute name="align">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="left"></xs:enumeration>
							<xs:enumeration value="center"></xs:enumeration>
							<xs:enumeration value="right"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="noshade">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="noshade"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="size" type="Pixels"></xs:attribute>
		<xs:attribute name="width" type="Length"></xs:attribute>

        <xs:attribute ref="x:size"  />
        <xs:attribute ref="x:width"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="html.content">
		<xs:group ref="html.children" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="id" type="ID"></xs:attribute>

        <xs:attribute ref="x:id"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:group name="html.children">
		<xs:sequence>
			<xs:element minOccurs="0" ref="head" />
			<xs:group maxOccurs="unbounded" minOccurs="0" ref="cdk:structural" />
			<xs:element minOccurs="0" ref="body" />
		</xs:sequence>
	</xs:group>
	<xs:complexType name="img.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute use="optional" name="src" type="URI"></xs:attribute>
	    <xs:attribute use="optional" name="alt" type="Text">
		  <xs:annotation>
			<xs:appinfo>
				<cdk-addinfo:default-value></cdk-addinfo:default-value>
			</xs:appinfo>
		  </xs:annotation>
	    </xs:attribute>
		<xs:attribute name="name" type="NMTOKEN"></xs:attribute>
		<xs:attribute name="longdesc" type="URI"></xs:attribute>
		<xs:attribute name="height" type="Length"></xs:attribute>
		<xs:attribute name="width" type="Length"></xs:attribute>
		<xs:attribute name="usemap" type="URI">
			<xs:annotation></xs:annotation>
		</xs:attribute>
		<xs:attribute name="ismap">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="ismap"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="align" type="ImgAlign"></xs:attribute>
		<xs:attribute name="border" type="Length"></xs:attribute>
		<xs:attribute name="hspace" type="Pixels"></xs:attribute>
		<xs:attribute name="vspace" type="Pixels"></xs:attribute>

        <xs:attribute ref="x:src" ></xs:attribute>
        <xs:attribute ref="x:alt" ></xs:attribute>
        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:longdesc" ></xs:attribute>
        <xs:attribute ref="x:height" ></xs:attribute>
        <xs:attribute ref="x:width" ></xs:attribute>
        <xs:attribute ref="x:usemap" ></xs:attribute>
        <xs:attribute ref="x:align" ></xs:attribute>
        <xs:attribute ref="x:border" ></xs:attribute>
        <xs:attribute ref="x:hspace" ></xs:attribute>
        <xs:attribute ref="x:vspace" ></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="input.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="focus"></xs:attributeGroup>
		<xs:attributeGroup ref="disabledGroup" />
		<xs:attribute default="text" name="type" type="InputType"></xs:attribute>
		<xs:attribute name="name" type="xs:anySimpleType">
			<xs:annotation></xs:annotation>
		</xs:attribute>
		<xs:attribute name="value" type="xs:anySimpleType"></xs:attribute>
		<xs:attributeGroup ref="checkedGroup" />
		<xs:attributeGroup ref="readonlyGroup" />
		<xs:attribute name="size" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="maxlength" type="Number"></xs:attribute>
		<xs:attribute name="src" type="URI"></xs:attribute>
		<xs:attribute name="alt" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="usemap" type="URI"></xs:attribute>
		<xs:attribute name="onselect" type="Script"></xs:attribute>
		<xs:attribute name="onchange" type="Script"></xs:attribute>
		<xs:attribute name="accept" type="ContentTypes"></xs:attribute>
		<xs:attribute name="align" type="ImgAlign"></xs:attribute>

        <xs:attribute ref="x:type" ></xs:attribute>
        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:value" ></xs:attribute>
        <xs:attribute ref="x:size" ></xs:attribute>
        <xs:attribute ref="x:maxlength" ></xs:attribute>
        <xs:attribute ref="x:src" ></xs:attribute>
        <xs:attribute ref="x:alt" ></xs:attribute>
        <xs:attribute ref="x:usemap" ></xs:attribute>
        <xs:attribute ref="x:onselect" ></xs:attribute>
        <xs:attribute ref="x:onchange" ></xs:attribute>
        <xs:attribute ref="x:accept" ></xs:attribute>
        <xs:attribute ref="x:align" ></xs:attribute>

		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="isindex.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="coreattrs"></xs:attributeGroup>
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="prompt" type="Text"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="link.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute name="charset" type="Charset"></xs:attribute>
		<xs:attribute name="href" type="URI"></xs:attribute>
		<xs:attribute name="hreflang" type="LanguageCode"></xs:attribute>
		<xs:attribute name="type" type="ContentType"></xs:attribute>
		<xs:attribute name="rel" type="LinkTypes"></xs:attribute>
		<xs:attribute name="rev" type="LinkTypes"></xs:attribute>
		<xs:attribute name="media" type="MediaDesc"></xs:attribute>
		<xs:attribute name="target" type="FrameTarget"></xs:attribute>

        <xs:attribute ref="x:charset" ></xs:attribute>
        <xs:attribute ref="x:href" ></xs:attribute>
        <xs:attribute ref="x:hreflang" ></xs:attribute>
        <xs:attribute ref="x:type" ></xs:attribute>
        <xs:attribute ref="x:rel" ></xs:attribute>
        <xs:attribute ref="x:rev" ></xs:attribute>
        <xs:attribute ref="x:media" ></xs:attribute>
        <xs:attribute ref="x:target" ></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="map.content">
		<xs:group ref="map.children" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attributeGroup ref="events"></xs:attributeGroup>
		<xs:attributeGroup ref="classGroup" />
		<xs:attribute use="optional" name="id" type="ID" />
		<xs:attribute name="style" type="StyleSheet" />
		<xs:attribute name="title" type="Text" />
		<xs:attribute name="name" type="xs:anySimpleType" />

        <xs:attribute ref="x:id"  />
        <xs:attribute ref="x:style"  />
        <xs:attribute ref="x:title"  />
        <xs:attribute ref="x:name"  />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="map.children">
		<xs:choice>
			<xs:choice maxOccurs="unbounded">
				<xs:group ref="block"></xs:group>
				<xs:group ref="form.element.group" />
				<xs:group ref="misc"></xs:group>
			</xs:choice>
			<xs:group ref="area.element.group" maxOccurs="unbounded" />
		</xs:choice>
	</xs:group>

	<xs:group name="area.element.group">
		<xs:choice>
			<xs:element ref="area" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="menu.content">
		<xs:group ref="menu.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="compactGroup" />
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="menu.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="li" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="meta.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute name="http-equiv" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="name" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute use="optional" name="content" type="xs:anySimpleType">
		</xs:attribute>
		<xs:attribute name="scheme" type="xs:anySimpleType"></xs:attribute>

        <xs:attribute ref="x:id" ></xs:attribute>
        <xs:attribute ref="x:http-equiv" ></xs:attribute>
        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:content" >
        </xs:attribute>
        <xs:attribute ref="x:scheme" ></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="object.content" mixed="true">
		<xs:group ref="object.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute name="declare">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="declare"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="classid" type="URI"></xs:attribute>
		<xs:attribute name="codebase" type="URI"></xs:attribute>
		<xs:attribute name="data" type="URI"></xs:attribute>
		<xs:attribute name="type" type="ContentType"></xs:attribute>
		<xs:attribute name="codetype" type="ContentType"></xs:attribute>
		<xs:attribute name="archive" type="UriList"></xs:attribute>
		<xs:attribute name="standby" type="Text"></xs:attribute>
		<xs:attribute name="height" type="Length"></xs:attribute>
		<xs:attribute name="width" type="Length"></xs:attribute>
		<xs:attribute name="usemap" type="URI"></xs:attribute>
		<xs:attribute name="name" type="NMTOKEN"></xs:attribute>
		<xs:attribute name="tabindex" type="Number"></xs:attribute>
		<xs:attribute name="align" type="ImgAlign"></xs:attribute>
		<xs:attribute name="border" type="Pixels"></xs:attribute>
		<xs:attribute name="hspace" type="Pixels"></xs:attribute>
		<xs:attribute name="vspace" type="Pixels"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="object.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:group ref="object.children.elements" />
				<xs:group ref="block" />
				<xs:group ref="inline" />
				<xs:group ref="misc" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:group name="object.children.elements">
		<xs:choice>
			<xs:element ref="param" />
			<xs:element ref="form" />
		</xs:choice>
	</xs:group>

	<xs:complexType name="ol.content">
		<xs:group ref="ol.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute name="type" type="OLStyle"></xs:attribute>
		<xs:attributeGroup ref="compactGroup" />
		<xs:attribute name="start" type="Number"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="ol.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="li" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="optgroup.content">
		<xs:group ref="optgroup.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="disabledGroup" />
		<xs:attribute use="optional" name="label" type="Text"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="optgroup.children">
		<xs:sequence>
			<xs:element minOccurs="0" maxOccurs="unbounded" ref="option" />
			<xs:group ref="cdk:structural" />
		</xs:sequence>
	</xs:group>

	<xs:complexType name="option.content" mixed="true">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="disabledGroup" />
		<xs:attribute name="selected">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="selected"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="label" type="Text"></xs:attribute>
		<xs:attribute name="value" type="xs:anySimpleType"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="param.content">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute use="optional" name="name" type="xs:anySimpleType">
		</xs:attribute>
		<xs:attribute name="value" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute default="data" name="valuetype">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="data"></xs:enumeration>
							<xs:enumeration value="ref"></xs:enumeration>
							<xs:enumeration value="object"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="type" type="ContentType"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="script.content" mixed="true">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute name="charset" type="Charset"></xs:attribute>
		<xs:attribute use="optional" name="type" type="ContentType"></xs:attribute>
		<xs:attribute name="language" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="src" type="URI"></xs:attribute>
		<xs:attribute name="defer">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="defer"></xs:enumeration>
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression"></xs:restriction>
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute fixed="preserve" ref="xml:space"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="select.content">
		<xs:group ref="select.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="disabledGroup" />
		<xs:attribute name="name" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute name="size" type="Number"></xs:attribute>
		<xs:attribute name="multiple">
			<xs:simpleType>
				<xs:union>
					<xs:simpleType>
						<xs:restriction base="xs:token">
							<xs:enumeration value="multiple" />
						</xs:restriction>
					</xs:simpleType>
					<xs:simpleType>
						<xs:restriction base="c:elMixedExpression" />
					</xs:simpleType>
				</xs:union>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="tabindex" type="tabindexNumber"></xs:attribute>
		<xs:attribute name="onfocus" type="Script"></xs:attribute>
		<xs:attribute name="onblur" type="Script"></xs:attribute>
		<xs:attribute name="onchange" type="Script"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="select.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="optgroup" />
				<xs:element ref="option" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="style.content" mixed="true">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute use="optional" name="type" type="ContentType"></xs:attribute>
		<xs:attribute name="media" type="MediaDesc"></xs:attribute>
		<xs:attribute name="title" type="Text"></xs:attribute>
		<xs:attribute fixed="preserve" ref="xml:space"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="table.content">
		<xs:group ref="table.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attribute name="summary" type="Text"></xs:attribute>
		<xs:attribute name="width" type="Length"></xs:attribute>
		<xs:attribute name="border" type="Pixels"></xs:attribute>
		<xs:attribute name="frame" type="TFrame"></xs:attribute>
		<xs:attribute name="rules" type="TRules"></xs:attribute>
		<xs:attribute name="cellspacing" type="Length"></xs:attribute>
		<xs:attribute name="cellpadding" type="Length"></xs:attribute>
		<xs:attribute name="align" type="TAlign"></xs:attribute>
		<xs:attribute name="bgcolor" type="Color"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="table.children">
		<xs:sequence>
			<xs:element minOccurs="0" ref="caption" />
			<xs:choice>
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="col" />
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup" />
			</xs:choice>
			<xs:element minOccurs="0" ref="thead" />
			<xs:element minOccurs="0" ref="tfoot" />
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:group ref="cdk:structural" />
					<xs:element minOccurs="0" maxOccurs="unbounded" ref="tbody" />
					<xs:element minOccurs="0" maxOccurs="unbounded" ref="tr" />
				</xs:choice>
			</xs:choice>
		</xs:sequence>
	</xs:group>

	<xs:complexType name="tbody.content">
		<xs:group ref="tbody.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cellhalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cellvalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="tbody.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="tr" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="textarea.content" mixed="true">
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="focus"></xs:attributeGroup>
		<xs:attributeGroup ref="disabledGroup" />
		<xs:attribute name="name" type="xs:anySimpleType"></xs:attribute>
		<xs:attribute use="optional" name="rows" type="Number"></xs:attribute>
		<xs:attribute use="optional" name="cols" type="Number"></xs:attribute>
		<xs:attributeGroup ref="readonlyGroup" />
		<xs:attribute name="onselect" type="Script"></xs:attribute>
		<xs:attribute name="onchange" type="Script"></xs:attribute>

        <xs:attribute ref="x:name" ></xs:attribute>
        <xs:attribute ref="x:rows" ></xs:attribute>
        <xs:attribute ref="x:cols" ></xs:attribute>
        <xs:attribute ref="x:onselect" ></xs:attribute>
        <xs:attribute ref="x:onchange" ></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:complexType name="tfoot.content">
		<xs:group ref="tfoot.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cellhalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cellvalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:group name="tfoot.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="tr" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>
	<xs:complexType name="thead.content">
		<xs:group ref="thead.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cellhalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cellvalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>
	<xs:group name="thead.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="tr" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>
	<xs:complexType name="title.content" mixed="true">
		<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
		<xs:attributeGroup ref="i18n"></xs:attributeGroup>
		<xs:attribute name="id" type="ID"></xs:attribute>
		<xs:attribute ref="x:id"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:complexType name="tr.content">
		<xs:group ref="tr.children" />
		<xs:attributeGroup ref="attrs"></xs:attributeGroup>
		<xs:attributeGroup ref="cellhalign"></xs:attributeGroup>
		<xs:attributeGroup ref="cellvalign"></xs:attributeGroup>
		<xs:attribute name="bgcolor" type="Color"></xs:attribute>

        <xs:attribute ref="x:bgcolor"></xs:attribute>
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="tr.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="th" />
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="td" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>

	<xs:complexType name="ul.content">
		<xs:group ref="ul.children" />
		<xs:attributeGroup ref="attrs" />
		<xs:attribute name="type" type="ULStyle" />
		<xs:attributeGroup ref="compactGroup" />
		
        <xs:attribute ref="x:type"></xs:attribute>		
		<xs:attributeGroup ref="cdk:core.attrs" />
	</xs:complexType>

	<xs:group name="ul.children">
		<xs:choice>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="li" />
				<xs:group ref="cdk:structural" />
			</xs:choice>
		</xs:choice>
	</xs:group>
</xs:schema>
