<?xml version="1.0" encoding="utf-8"?>
<!--
  XHTML schema
  
  This schema is based on the XHTML schema published by W3C,
  with modifications by Paschi and HL7.
  
  Copyright
    - Copyright (c) 1998-2014 W3C (MIT, INRIA, Keio), All Rights Reserved
    - Copyright (c) 2007-2014 Paschi - Research and Development Inc. All Rights Reserved.
    
  W3C:
    XHTML 1.0 (Second Edition) Strict in XML Schema. This is the same as 
    HTML 4 Strict except for changes due to the differences between XML and SGML.
    
    License: http://www.w3.org/Consortium/Legal/copyright-software-19980720

  Paschi:
    XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)
    The schema has been modified in order to make it acceptable for the DotNet Schema import tool xsd.exe
    
    License:
      This document and translations of it may be copied and furnished to others, 
      and derivative works that comment on or otherwise explain it or assist 
      in its implementation may be prepared, copied, published and distributed, 
      in whole or in part, without restriction of any kind, provided that the 
      above copyright notice and this paragraph are included on all such copies 
      and derivative works. However, this document itself may not be modified in 
      any way, such as by removing the copyright notice or references to 
      Paschi, except as required to translate it into languages other than English.

      The limited permissions granted above are perpetual and will not be revoked 
      by Paschi or its successors or assigns.

      This document and the information contained herein is provided on an "AS IS"
      basis and Paschi DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 
      BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL 
      NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR 
      FITNESS FOR A PARTICULAR PURPOSE.
    
  HL7:
    The schema has been modified to remove the definitions of elements that 
    are not allowed to be used in FHIR's restricted XHTML set. All modifications
    are labeled with "fhir-remove"
    
    If the existence of a different schema with the same namespace is a problem,
    you can drop in the standard W3C schema (http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd)

-->
<xs:schema xmlns="http://www.w3.org/1999/xhtml" elementFormDefault="qualified" targetNamespace="http://www.w3.org/1999/xhtml" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
	<xs:annotation>
		<xs:documentation>Generated from "XHTML Refactored (no xsd:groups)" under "XHTML"</xs:documentation>
		<xs:documentation>
			This schema is the patched equivalent of the original published as
			[xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44].
			Fixes in this XSD are workarounds for limitations
			present in some .NET APIs.
		</xs:documentation>		
	</xs:annotation>
	<xs:annotation>
		<xs:documentation>
			XHTML 1.0 (Second Edition) Strict in XML Schema

			This is the same as HTML 4 Strict except for
			changes due to the differences between XML and SGML.

			Namespace = http://www.w3.org/1999/xhtml

			For further information, see: http://www.w3.org/TR/xhtml1

			Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
			All Rights Reserved.

			The DTD version is identified by the PUBLIC and SYSTEM identifiers:

			PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
			SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

			$Id: xhtml1-strict.xsd,v 1.2 2002/08/28 08:05:44 mimasa Exp $
		</xs:documentation>
	</xs:annotation>
	<xs:annotation>
		<xs:documentation>
			================ Character mnemonic entities =========================

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

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

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

			PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
			SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"
		</xs:documentation>
	</xs:annotation>
	<xs:annotation>
		<xs:documentation>
			================== Imported Names ====================================
		</xs:documentation>
	</xs:annotation>
	<xs:simpleType name="ContentType">
		<xs:annotation>
			<xs:documentation>
				media type, as per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ContentTypes">
		<xs:annotation>
			<xs:documentation>
				comma-separated list of media types, as per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="Charset">
		<xs:annotation>
			<xs:documentation>
				a character encoding, as per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="Charsets">
		<xs:annotation>
			<xs:documentation>
				a space separated list of character encodings, as per [RFC2045]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LanguageCode">
		<xs:annotation>
			<xs:documentation>
				a language code, as per [RFC3066]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:language"/>
	</xs:simpleType>
	<xs:simpleType name="Character">
		<xs:annotation>
			<xs:documentation>
				a single character, as per section 2.2 of [XML]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="1" fixed="true"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Number">
		<xs:annotation>
			<xs:documentation>
				one or more digits
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:nonNegativeInteger">
			<xs:pattern value="[0-9]+"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tabindexNumber">
		<xs:annotation>
			<xs:documentation>
				tabindex attribute specifies the position of the current element
				in the tabbing order for the current document. This value must be
				a number between 0 and 32767. User agents should ignore leading zeros.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="Number">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="32767"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LinkTypes">
		<xs:annotation>
			<xs:documentation>
				space-separated list of link types
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKENS"/>
	</xs:simpleType>
	<xs:simpleType name="MediaDesc">
		<xs:annotation>
			<xs:documentation>
				single or comma-separated list of media descriptors
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[^,]+(,\s*[^,]+)*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="URI">
		<xs:annotation>
			<xs:documentation>
				a Uniform Resource Identifier, see [RFC2396]
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:anyURI"/>
	</xs:simpleType>
	<xs:simpleType name="UriList">
		<xs:annotation>
			<xs:documentation>
				a space separated list of Uniform Resource Identifiers
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="Datetime">
		<xs:annotation>
			<xs:documentation>
				date and time information. ISO date format
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<xs:simpleType name="Script">
		<xs:annotation>
			<xs:documentation>
				script expression
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="StyleSheet">
		<xs:annotation>
			<xs:documentation>
				style sheet data
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="Text">
		<xs:annotation>
			<xs:documentation>
				used for titles etc.
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="Length">
		<xs:annotation>
			<xs:documentation>
				nn for pixels or nn% for percentage length
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="MultiLength">
		<xs:annotation>
			<xs:documentation>
				pixel, percentage, or relative
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Pixels">
		<xs:annotation>
			<xs:documentation>
				integer representing length in pixels
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:nonNegativeInteger"/>
	</xs:simpleType>
	<xs:annotation>
		<xs:documentation>
			these are used for image maps
		</xs:documentation>
	</xs:annotation>
	<xs:simpleType name="Shape">
		<xs:restriction base="xs:token">
			<xs:enumeration value="rect"/>
			<xs:enumeration value="circle"/>
			<xs:enumeration value="poly"/>
			<xs:enumeration value="default"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Coords">
		<xs:annotation>
			<xs:documentation>
				comma separated list of lengths
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:annotation>
		<xs:documentation>
			=================== Generic Attributes ===============================
		</xs:documentation>
	</xs:annotation>
	<xs:attributeGroup name="coreattrs">
		<xs:annotation>
			<xs:documentation>
				core attributes common to most elements
				id       document-wide unique id
				class    space separated list of classes
				style    associated style info
				title    advisory title/amplification
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="id" type="xs:ID"/>
		<xs:attribute name="class" type="xs:NMTOKENS"/>
		<xs:attribute name="style" type="StyleSheet"/>
		<xs:attribute name="title" type="Text"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="i18n">
		<xs:annotation>
			<xs:documentation>
				internationalization attributes
				lang        language code (backwards compatible)
				xml:lang    language code (as per XML 1.0 spec)
				dir         direction for weak/neutral text
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="lang" type="LanguageCode"/>
		<xs:attribute ref="xml:lang"/>
		<xs:attribute name="dir">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="ltr"/>
					<xs:enumeration value="rtl"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:attributeGroup>
<!--fhir-remove-   
	<xs:attributeGroup name="events">
		<xs:annotation>
			<xs:documentation>
				attributes for common UI events
				onclick     a pointer button was clicked
				ondblclick  a pointer button was double clicked
				onmousedown a pointer button was pressed down
				onmouseup   a pointer button was released
				onmousemove a pointer was moved onto the element
				onmouseout  a pointer was moved away from the element
				onkeypress  a key was pressed and released
				onkeydown   a key was pressed down
				onkeyup     a key was released
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="onclick" type="Script"/>
		<xs:attribute name="ondblclick" type="Script"/>
		<xs:attribute name="onmousedown" type="Script"/>
		<xs:attribute name="onmouseup" type="Script"/>
		<xs:attribute name="onmouseover" type="Script"/>
		<xs:attribute name="onmousemove" type="Script"/>
		<xs:attribute name="onmouseout" type="Script"/>
		<xs:attribute name="onkeypress" type="Script"/>
		<xs:attribute name="onkeydown" type="Script"/>
		<xs:attribute name="onkeyup" type="Script"/>
	</xs:attributeGroup>
-->
	<xs:attributeGroup name="focus">
		<xs:annotation>
			<xs:documentation>
				attributes for elements that can get the focus
				accesskey   accessibility key character
				tabindex    position in tabbing order
				onfocus     the element got the focus
				onblur      the element lost the focus
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="accesskey" type="Character"/>
		<xs:attribute name="tabindex" type="tabindexNumber"/>
<!--fhir-remove-   
		<xs:attribute name="onfocus" type="Script"/>
		<xs:attribute name="onblur" type="Script"/>
-->
	</xs:attributeGroup>
	<xs:attributeGroup name="attrs">
		<xs:attributeGroup ref="coreattrs"/>
		<xs:attributeGroup ref="i18n"/>
<!--fhir-remove-   
		<xs:attributeGroup ref="events"/>
-->
	</xs:attributeGroup>
	<xs:annotation>
		<xs:documentation>
			=================== Text Elements ====================================
		</xs:documentation>
	</xs:annotation>
	<xs:complexType name="Inline" mixed="true">
		<xs:annotation>
			<xs:documentation>
				"Inline" covers inline or "text-level" elements
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:element ref="a"/>
					<xs:choice>
						<xs:choice>
							<xs:element ref="br"/>
							<xs:element ref="span"/>
							<xs:element ref="bdo"/>
							<xs:element ref="map"/>
						</xs:choice>
<!--fhir-remove-   
					<xs:element ref="object"/>
-->
						<xs:element ref="img"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="tt"/>
						<xs:element ref="i"/>
						<xs:element ref="b"/>
						<xs:element ref="big"/>
						<xs:element ref="small"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="em"/>
						<xs:element ref="strong"/>
						<xs:element ref="dfn"/>
						<xs:element ref="code"/>
						<xs:element ref="q"/>
						<xs:element ref="samp"/>
						<xs:element ref="kbd"/>
						<xs:element ref="var"/>
						<xs:element ref="cite"/>
						<xs:element ref="abbr"/>
						<xs:element ref="acronym"/>
						<xs:element ref="sub"/>
						<xs:element ref="sup"/>
					</xs:choice>
<!--fhir-remove-   
					<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:choice>
<!--fhir-remove-   
				<xs:choice>
					<xs:element ref="ins"/>
					<xs:element ref="del"/>
					<xs:element ref="script"/>
				</xs:choice>
-->
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:annotation>
		<xs:documentation>
			================== Block level elements ==============================
		</xs:documentation>
	</xs:annotation>
	<xs:complexType name="Block">
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:element ref="p"/>
					<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:element ref="div"/>
					<xs:choice>
						<xs:element ref="ul"/>
						<xs:element ref="ol"/>
						<xs:element ref="dl"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="pre"/>
						<xs:element ref="hr"/>
						<xs:element ref="blockquote"/>
<!--fhir-remove-   
						<xs:element ref="address"/>
-->
					</xs:choice>
<!--fhir-remove-   
					<xs:element ref="fieldset"/>
-->
					<xs:element ref="table"/>
				</xs:choice>
<!--fhir-remove-   
				<xs:element ref="form"/>
				<xs:choice>
					<xs:element ref="noscript"/>
					<xs:choice>
						<xs:element ref="ins"/>
						<xs:element ref="del"/>
						<xs:element ref="script"/>
					</xs:choice>
				</xs:choice>
-->        
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="Flow" mixed="true">
		<xs:annotation>
			<xs:documentation>
				"Flow" mixes block and inline and is used for list items etc.
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:element ref="p"/>
					<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:element ref="div"/>
					<xs:choice>
						<xs:element ref="ul"/>
						<xs:element ref="ol"/>
						<xs:element ref="dl"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="pre"/>
						<xs:element ref="hr"/>
						<xs:element ref="blockquote"/>
<!--fhir-remove-   
						<xs:element ref="address"/>
-->
					</xs:choice>
<!--fhir-remove-   
					<xs:element ref="fieldset"/>
-->          
					<xs:element ref="table"/>
				</xs:choice>
<!--fhir-remove-   
				<xs:element ref="form"/>
-->
				<xs:choice>
					<xs:element ref="a"/>
					<xs:choice>
						<xs:choice>
							<xs:element ref="br"/>
							<xs:element ref="span"/>
							<xs:element ref="bdo"/>
							<xs:element ref="map"/>
						</xs:choice>
<!--fhir-remove-   
						<xs:element ref="object"/>
-->            
						<xs:element ref="img"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="tt"/>
						<xs:element ref="i"/>
						<xs:element ref="b"/>
						<xs:element ref="big"/>
						<xs:element ref="small"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="em"/>
						<xs:element ref="strong"/>
						<xs:element ref="dfn"/>
						<xs:element ref="code"/>
						<xs:element ref="q"/>
						<xs:element ref="samp"/>
						<xs:element ref="kbd"/>
						<xs:element ref="var"/>
						<xs:element ref="cite"/>
						<xs:element ref="abbr"/>
						<xs:element ref="acronym"/>
						<xs:element ref="sub"/>
						<xs:element ref="sup"/>
					</xs:choice>
<!--fhir-remove-   
					<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:choice>
<!--fhir-remove-   
				<xs:choice>
					<xs:element ref="noscript"/>
					<xs:choice>
						<xs:element ref="ins"/>
						<xs:element ref="del"/>
						<xs:element ref="script"/>
					</xs:choice>
				</xs:choice>
-->        
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:annotation>
		<xs:documentation>
			================== Content models for exclusions =====================
		</xs:documentation>
	</xs:annotation>
	<xs:complexType name="a.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				a elements use "Inline" excluding a
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:choice>
						<xs:element ref="br"/>
						<xs:element ref="span"/>
						<xs:element ref="bdo"/>
						<xs:element ref="map"/>
					</xs:choice>
<!--fhir-remove-   
					<xs:element ref="object"/>
-->          
					<xs:element ref="img"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="tt"/>
					<xs:element ref="i"/>
					<xs:element ref="b"/>
					<xs:element ref="big"/>
					<xs:element ref="small"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="em"/>
					<xs:element ref="strong"/>
					<xs:element ref="dfn"/>
					<xs:element ref="code"/>
					<xs:element ref="q"/>
					<xs:element ref="samp"/>
					<xs:element ref="kbd"/>
					<xs:element ref="var"/>
					<xs:element ref="cite"/>
					<xs:element ref="abbr"/>
					<xs:element ref="acronym"/>
					<xs:element ref="sub"/>
					<xs:element ref="sup"/>
				</xs:choice>
<!--fhir-remove-   
				<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:choice>
					<xs:element ref="ins"/>
					<xs:element ref="del"/>
					<xs:element ref="script"/>
				</xs:choice>
-->        
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="pre.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				pre uses "Inline" excluding big, small, sup or sup
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="a"/>
				<xs:choice>
					<xs:element ref="tt"/>
					<xs:element ref="i"/>
					<xs:element ref="b"/>
					<xs:element ref="big"/>
					<xs:element ref="small"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="em"/>
					<xs:element ref="strong"/>
					<xs:element ref="dfn"/>
					<xs:element ref="code"/>
					<xs:element ref="q"/>
					<xs:element ref="samp"/>
					<xs:element ref="kbd"/>
					<xs:element ref="var"/>
					<xs:element ref="cite"/>
					<xs:element ref="abbr"/>
					<xs:element ref="acronym"/>
					<xs:element ref="sub"/>
					<xs:element ref="sup"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="br"/>
					<xs:element ref="span"/>
					<xs:element ref="bdo"/>
					<xs:element ref="map"/>
				</xs:choice>
<!--fhir-remove-   
				<xs:choice>
					<xs:element ref="ins"/>
					<xs:element ref="del"/>
					<xs:element ref="script"/>
				</xs:choice>
				<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:choice>
		</xs:sequence>
	</xs:complexType>
<!--fhir-remove-   
	<xs:complexType name="form.content">
		<xs:annotation>
			<xs:documentation>
				form uses "Block" excluding form
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:choice>
					<xs:element ref="p"/>
					<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:element ref="div"/>
					<xs:choice>
						<xs:element ref="ul"/>
						<xs:element ref="ol"/>
						<xs:element ref="dl"/>
					</xs:choice>
					<xs:choice>
						<xs:element ref="pre"/>
						<xs:element ref="hr"/>
						<xs:element ref="blockquote"/>
						<xs:element ref="address"/>
					</xs:choice>
					<xs:element ref="fieldset"/>
					<xs:element ref="table"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="noscript"/>
					<xs:choice>
						<xs:element ref="ins"/>
						<xs:element ref="del"/>
						<xs:element ref="script"/>
					</xs:choice>
				</xs:choice>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="button.content" mixed="true">
		<xs:annotation>
			<xs:documentation>
				button uses "Flow" but excludes a, form and form controls
			</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="p"/>
				<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:element ref="div"/>
				<xs:choice>
					<xs:element ref="ul"/>
					<xs:element ref="ol"/>
					<xs:element ref="dl"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="pre"/>
					<xs:element ref="hr"/>
					<xs:element ref="blockquote"/>
					<xs:element ref="address"/>
				</xs:choice>
				<xs:element ref="table"/>
				<xs:choice>
					<xs:choice>
						<xs:element ref="br"/>
						<xs:element ref="span"/>
						<xs:element ref="bdo"/>
						<xs:element ref="map"/>
					</xs:choice>
					<xs:element ref="object"/>
					<xs:element ref="img"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="tt"/>
					<xs:element ref="i"/>
					<xs:element ref="b"/>
					<xs:element ref="big"/>
					<xs:element ref="small"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="em"/>
					<xs:element ref="strong"/>
					<xs:element ref="dfn"/>
					<xs:element ref="code"/>
					<xs:element ref="q"/>
					<xs:element ref="samp"/>
					<xs:element ref="kbd"/>
					<xs:element ref="var"/>
					<xs:element ref="cite"/>
					<xs:element ref="abbr"/>
					<xs:element ref="acronym"/>
					<xs:element ref="sub"/>
					<xs:element ref="sup"/>
				</xs:choice>
				<xs:choice>
					<xs:element ref="noscript"/>
					<xs:choice>
						<xs:element ref="ins"/>
						<xs:element ref="del"/>
						<xs:element ref="script"/>
					</xs:choice>
				</xs:choice>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
-->  
	<xs:annotation>
		<xs:documentation>
			================ Document Structure ==================================
		</xs:documentation>
	</xs:annotation>
<!--fhir-remove-   
	<xs:element name="html">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="head"/>
				<xs:element ref="body"/>
			</xs:sequence>
			<xs:attributeGroup ref="i18n"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			================ Document Head =======================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="head">
		<xs:annotation>
			<xs:documentation>
				content model is "head.misc" combined with a single
				title and an optional base element in any order
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:sequence>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element ref="script"/>
						<xs:element ref="style"/>
						<xs:element ref="meta"/>
						<xs:element ref="link"/>
						<xs:element ref="object"/>
					</xs:choice>
				</xs:sequence>
				<xs:choice>
					<xs:sequence>
						<xs:element ref="title"/>
						<xs:sequence>
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:element ref="script"/>
								<xs:element ref="style"/>
								<xs:element ref="meta"/>
								<xs:element ref="link"/>
								<xs:element ref="object"/>
							</xs:choice>
						</xs:sequence>
						<xs:sequence minOccurs="0">
							<xs:element ref="base"/>
							<xs:sequence>
								<xs:choice minOccurs="0" maxOccurs="unbounded">
									<xs:element ref="script"/>
									<xs:element ref="style"/>
									<xs:element ref="meta"/>
									<xs:element ref="link"/>
									<xs:element ref="object"/>
								</xs:choice>
							</xs:sequence>
						</xs:sequence>
					</xs:sequence>
					<xs:sequence>
						<xs:element ref="base"/>
						<xs:sequence>
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:element ref="script"/>
								<xs:element ref="style"/>
								<xs:element ref="meta"/>
								<xs:element ref="link"/>
								<xs:element ref="object"/>
							</xs:choice>
						</xs:sequence>
						<xs:element ref="title"/>
						<xs:sequence>
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:element ref="script"/>
								<xs:element ref="style"/>
								<xs:element ref="meta"/>
								<xs:element ref="link"/>
								<xs:element ref="object"/>
							</xs:choice>
						</xs:sequence>
					</xs:sequence>
				</xs:choice>
			</xs:sequence>
			<xs:attributeGroup ref="i18n"/>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="profile" type="URI"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="title">
		<xs:annotation>
			<xs:documentation>
				The title element is not considered part of the flow of text.
				It should be displayed, for example as the page header or
				window title. Exactly one title is required per document.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:attributeGroup ref="i18n"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="base">
		<xs:annotation>
			<xs:documentation>
				document base URI
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="href" type="URI" use="required"/>
			<xs:attribute name="id" type="xs:ID"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="meta">
		<xs:annotation>
			<xs:documentation>
				generic metainformation
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="i18n"/>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="http-equiv"/>
			<xs:attribute name="name"/>
			<xs:attribute name="content" use="required"/>
			<xs:attribute name="scheme"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="link">
		<xs:annotation>
			<xs:documentation>
				Relationship values can be used in principle:

				a) for document specific toolbars/menus when used
				with the link element in document head e.g.
				start, contents, previous, next, index, end, help
				b) to link to a separate style sheet (rel="stylesheet")
				c) to make a link to a script (rel="script")
				d) by stylesheets to control how collections of
				html nodes are rendered into printed documents
				e) to make a link to a printable version of this document
				e.g. a PostScript or PDF version (rel="alternate" media="print")
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="charset" type="Charset"/>
			<xs:attribute name="href" type="URI"/>
			<xs:attribute name="hreflang" type="LanguageCode"/>
			<xs:attribute name="type" type="ContentType"/>
			<xs:attribute name="rel" type="LinkTypes"/>
			<xs:attribute name="rev" type="LinkTypes"/>
			<xs:attribute name="media" type="MediaDesc"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="style">
		<xs:annotation>
			<xs:documentation>
				style info, which may include CDATA sections
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:attributeGroup ref="i18n"/>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="type" type="ContentType" use="required"/>
			<xs:attribute name="media" type="MediaDesc"/>
			<xs:attribute name="title" type="Text"/>
			<xs:attribute fixed="preserve" ref="xml:space"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="script">
		<xs:annotation>
			<xs:documentation>
				script statements, which may include CDATA sections
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="charset" type="Charset"/>
			<xs:attribute name="type" type="ContentType" use="required"/>
			<xs:attribute name="src" type="URI"/>
			<xs:attribute name="defer">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="defer"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute fixed="preserve" ref="xml:space"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="noscript">
		<xs:annotation>
			<xs:documentation>
				alternate content container for non script-based rendering
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="Block">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
-->
	<xs:annotation>
		<xs:documentation>
			=================== Document Body ====================================
		</xs:documentation>
	</xs:annotation>
<!--fhir-remove-   
	<xs:element name="body">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="Block">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="onload" type="Script"/>
					<xs:attribute name="onunload" type="Script"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
-->  
	<xs:element name="div">
		<xs:annotation>
			<xs:documentation>
				generic language/style container
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			=================== Paragraphs =======================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="p">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			=================== Headings =========================================

			There are six levels of headings from h1 (the most important)
			to h6 (the least important).
		</xs:documentation>
	</xs:annotation>
	<xs:element name="h1">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="h2">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="h3">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="h4">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="h5">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="h6">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			=================== Lists ============================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="ul">
		<xs:annotation>
			<xs:documentation>
				Unordered list
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="li"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="ol">
		<xs:annotation>
			<xs:documentation>
				Ordered (numbered) list
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="li"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="li">
		<xs:annotation>
			<xs:documentation>
				list item
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			definition lists - dt for term, dd for its definition
		</xs:documentation>
	</xs:annotation>
	<xs:element name="dl">
		<xs:complexType>
			<xs:sequence>
				<xs:choice maxOccurs="unbounded">
					<xs:element ref="dt"/>
					<xs:element ref="dd"/>
				</xs:choice>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="dt">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<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 mixed="true">
				<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>
<!--fhir-remove-   
	<xs:element name="address">
		<xs:annotation>
			<xs:documentation>
				information on author
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
-->
	<xs:annotation>
		<xs:documentation>
			=================== Horizontal Rule ==================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="hr">
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			=================== Preformatted Text ================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="pre">
		<xs:annotation>
			<xs:documentation>
				content is "Inline" excluding "img|object|big|small|sub|sup"
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="pre.content">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute fixed="preserve" ref="xml:space"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			=================== Block-like Quotes ================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="blockquote">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="Block">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="cite" type="URI"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
<!--fhir-remove-   
	<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 mixed="true">
				<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 mixed="true">
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="cite" type="URI"/>
					<xs:attribute name="datetime" type="Datetime"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
-->
	<xs:annotation>
		<xs:documentation>
			================== The Anchor Element ================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="a">
		<xs:annotation>
			<xs:documentation>
				content is "Inline" except that anchors shouldn't be nested
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="a.content">
					<xs:attributeGroup ref="attrs"/>
					<xs:attributeGroup ref="focus"/>
					<xs:attribute name="charset" type="Charset"/>
					<xs:attribute name="type" type="ContentType"/>
					<xs:attribute name="name" type="xs:NMTOKEN"/>
					<xs:attribute name="href" type="URI"/>
					<xs:attribute name="hreflang" type="LanguageCode"/>
					<xs:attribute name="rel" type="LinkTypes"/>
					<xs:attribute name="rev" type="LinkTypes"/>
					<xs:attribute default="rect" name="shape" type="Shape"/>
					<xs:attribute name="coords" type="Coords"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			===================== Inline Elements ================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="span">
		<xs:annotation>
			<xs:documentation>
				generic language/style container
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<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 mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="coreattrs"/>
<!--fhir-remove-   
					<xs:attributeGroup ref="events"/>
-->          
					<xs:attribute name="lang" type="LanguageCode"/>
					<xs:attribute ref="xml:lang"/>
					<xs:attribute name="dir" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="ltr"/>
								<xs:enumeration value="rtl"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="br">
		<xs:annotation>
			<xs:documentation>
				forced line break
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="coreattrs"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="em">
		<xs:annotation>
			<xs:documentation>
				emphasis
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="cite" type="URI"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="sub">
		<xs:annotation>
			<xs:documentation>
				subscript
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<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 mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
<!--fhir-remove-   
	<xs:annotation>
		<xs:documentation>
			==================== Object ======================================

			object is used to embed objects as part of HTML pages.
			param elements should precede other content. Parameters
			can also be expressed as attribute/value pairs on the
			object element itself when brevity is desired.
		</xs:documentation>
	</xs:annotation>
	<xs:element name="object">
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="param"/>
					<xs:choice>
						<xs:element ref="p"/>
						<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:element ref="div"/>
						<xs:choice>
							<xs:element ref="ul"/>
							<xs:element ref="ol"/>
							<xs:element ref="dl"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="pre"/>
							<xs:element ref="hr"/>
							<xs:element ref="blockquote"/>
							<xs:element ref="address"/>
						</xs:choice>
						<xs:element ref="fieldset"/>
						<xs:element ref="table"/>
					</xs:choice>
					<xs:element ref="form"/>
					<xs:choice>
						<xs:element ref="a"/>
						<xs:choice>
							<xs:choice>
								<xs:element ref="br"/>
								<xs:element ref="span"/>
								<xs:element ref="bdo"/>
								<xs:element ref="map"/>
							</xs:choice>
							<xs:element ref="object"/>
							<xs:element ref="img"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="tt"/>
							<xs:element ref="i"/>
							<xs:element ref="b"/>
							<xs:element ref="big"/>
							<xs:element ref="small"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="em"/>
							<xs:element ref="strong"/>
							<xs:element ref="dfn"/>
							<xs:element ref="code"/>
							<xs:element ref="q"/>
							<xs:element ref="samp"/>
							<xs:element ref="kbd"/>
							<xs:element ref="var"/>
							<xs:element ref="cite"/>
							<xs:element ref="abbr"/>
							<xs:element ref="acronym"/>
							<xs:element ref="sub"/>
							<xs:element ref="sup"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="input"/>
							<xs:element ref="select"/>
							<xs:element ref="textarea"/>
							<xs:element ref="label"/>
							<xs:element ref="button"/>
						</xs:choice>
					</xs:choice>
					<xs:choice>
						<xs:element ref="noscript"/>
						<xs:choice>
							<xs:element ref="ins"/>
							<xs:element ref="del"/>
							<xs:element ref="script"/>
						</xs:choice>
					</xs:choice>
				</xs:choice>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="declare">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="declare"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="classid" type="URI"/>
			<xs:attribute name="codebase" type="URI"/>
			<xs:attribute name="data" type="URI"/>
			<xs:attribute name="type" type="ContentType"/>
			<xs:attribute name="codetype" type="ContentType"/>
			<xs:attribute name="archive" type="UriList"/>
			<xs:attribute name="standby" type="Text"/>
			<xs:attribute name="height" type="Length"/>
			<xs:attribute name="width" type="Length"/>
			<xs:attribute name="usemap" type="URI"/>
			<xs:attribute name="name" type="xs:NMTOKEN"/>
			<xs:attribute name="tabindex" type="tabindexNumber"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="param">
		<xs:annotation>
			<xs:documentation>
				param is used to supply a named property value.
				In XML it would seem natural to follow RDF and support an
				abbreviated syntax where the param elements are replaced
				by attribute value pairs on the object start tag.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="id" type="xs:ID"/>
			<xs:attribute name="name"/>
			<xs:attribute name="value"/>
			<xs:attribute default="data" name="valuetype">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="data"/>
						<xs:enumeration value="ref"/>
						<xs:enumeration value="object"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="type" type="ContentType"/>
		</xs:complexType>
	</xs:element>
-->
	<xs:annotation>
		<xs:documentation>
			=================== Images ===========================================

			To avoid accessibility problems for people who aren't
			able to see the image, you should provide a text
			description using the alt and longdesc attributes.
			In addition, avoid the use of server-side image maps.
			Note that in this DTD there is no name attribute. That
			is only available in the transitional and frameset DTD.
		</xs:documentation>
	</xs:annotation>
	<xs:element name="img">
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="src" type="URI" use="required"/>
			<xs:attribute name="alt" type="Text" use="required"/>
			<xs:attribute name="longdesc" type="URI"/>
			<xs:attribute name="height" type="Length"/>
			<xs:attribute name="width" type="Length"/>
			<xs:attribute name="usemap" type="URI">
				<xs:annotation>
					<xs:documentation>
						usemap points to a map element which may be in this document
						or an external document, although the latter is not widely supported
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="ismap">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="ismap"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			================== Client-side image maps ============================

			These can be placed in the same document or grouped in a
			separate document although this isn't yet widely supported
		</xs:documentation>
	</xs:annotation>
	<xs:element name="map">
		<xs:complexType>
			<xs:choice>
				<xs:sequence>
					<xs:choice maxOccurs="unbounded">
						<xs:choice>
							<xs:element ref="p"/>
							<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:element ref="div"/>
							<xs:choice>
								<xs:element ref="ul"/>
								<xs:element ref="ol"/>
								<xs:element ref="dl"/>
							</xs:choice>
							<xs:choice>
								<xs:element ref="pre"/>
								<xs:element ref="hr"/>
								<xs:element ref="blockquote"/>
<!--fhir-remove-   
								<xs:element ref="address"/>
-->							</xs:choice>
<!--fhir-remove-   
							<xs:element ref="fieldset"/>
-->              
							<xs:element ref="table"/>
						</xs:choice>
<!--fhir-remove-   
						<xs:element ref="form"/>
						<xs:choice>
							<xs:element ref="noscript"/>
							<xs:choice>
								<xs:element ref="ins"/>
								<xs:element ref="del"/>
								<xs:element ref="script"/>
							</xs:choice>
						</xs:choice>
-->            
					</xs:choice>
				</xs:sequence>
				<xs:element maxOccurs="unbounded" ref="area"/>
			</xs:choice>
			<xs:attributeGroup ref="i18n"/>
<!--fhir-remove-   
			<xs:attributeGroup ref="events"/>
-->      
			<xs:attribute name="id" type="xs:ID" use="required"/>
			<xs:attribute name="class"/>
			<xs:attribute name="style" type="StyleSheet"/>
			<xs:attribute name="title" type="Text"/>
			<xs:attribute name="name" type="xs:NMTOKEN"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="area">
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="focus"/>
			<xs:attribute default="rect" name="shape" type="Shape"/>
			<xs:attribute name="coords" type="Coords"/>
			<xs:attribute name="href" type="URI"/>
			<xs:attribute name="nohref">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="nohref"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="alt" type="Text" use="required"/>
		</xs:complexType>
	</xs:element>
<!--fhir-remove-   
	<xs:annotation>
		<xs:documentation>
			================ Forms ===============================================
		</xs:documentation>
	</xs:annotation>
	<xs:element name="form">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="form.content">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="action" type="URI" use="required"/>
					<xs:attribute default="get" name="method">
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="get"/>
								<xs:enumeration value="post"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute default="application/x-www-form-urlencoded" name="enctype" type="ContentType"/>
					<xs:attribute name="onsubmit" type="Script"/>
					<xs:attribute name="onreset" type="Script"/>
					<xs:attribute name="accept" type="ContentTypes"/>
					<xs:attribute name="accept-charset" type="Charsets"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="label">
		<xs:annotation>
			<xs:documentation>
				Each label must not contain more than ONE field
				Label elements shouldn't be nested.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="for" type="xs:IDREF"/>
					<xs:attribute name="accesskey" type="Character"/>
					<xs:attribute name="onfocus" type="Script"/>
					<xs:attribute name="onblur" type="Script"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="InputType">
		<xs:restriction base="xs:token">
			<xs:enumeration value="text"/>
			<xs:enumeration value="password"/>
			<xs:enumeration value="checkbox"/>
			<xs:enumeration value="radio"/>
			<xs:enumeration value="submit"/>
			<xs:enumeration value="reset"/>
			<xs:enumeration value="file"/>
			<xs:enumeration value="hidden"/>
			<xs:enumeration value="image"/>
			<xs:enumeration value="button"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="input">
		<xs:annotation>
			<xs:documentation>
				form control
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="focus"/>
			<xs:attribute default="text" name="type" type="InputType"/>
			<xs:attribute name="name">
				<xs:annotation>
					<xs:documentation>
						the name attribute is required for all but submit &amp; reset
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="value"/>
			<xs:attribute name="checked">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="checked"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="disabled">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="disabled"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="readonly">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="readonly"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="size"/>
			<xs:attribute name="maxlength" type="Number"/>
			<xs:attribute name="src" type="URI"/>
			<xs:attribute name="alt"/>
			<xs:attribute name="usemap" type="URI"/>
			<xs:attribute name="onselect" type="Script"/>
			<xs:attribute name="onchange" type="Script"/>
			<xs:attribute name="accept" type="ContentTypes"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="select">
		<xs:annotation>
			<xs:documentation>
				option selector
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="optgroup"/>
				<xs:element ref="option"/>
			</xs:choice>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="name"/>
			<xs:attribute name="size" type="Number"/>
			<xs:attribute name="multiple">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="multiple"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="disabled">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="disabled"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="tabindex" type="tabindexNumber"/>
			<xs:attribute name="onfocus" type="Script"/>
			<xs:attribute name="onblur" type="Script"/>
			<xs:attribute name="onchange" type="Script"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="optgroup">
		<xs:annotation>
			<xs:documentation>
				option group
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="option"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="disabled">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="disabled"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="label" type="Text" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="option">
		<xs:annotation>
			<xs:documentation>
				selectable choice
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="selected">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="selected"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="disabled">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="disabled"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="label" type="Text"/>
			<xs:attribute name="value"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="textarea">
		<xs:annotation>
			<xs:documentation>
				multi-line text field
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="focus"/>
			<xs:attribute name="name"/>
			<xs:attribute name="rows" type="Number" use="required"/>
			<xs:attribute name="cols" type="Number" use="required"/>
			<xs:attribute name="disabled">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="disabled"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="readonly">
				<xs:simpleType>
					<xs:restriction base="xs:token">
						<xs:enumeration value="readonly"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="onselect" type="Script"/>
			<xs:attribute name="onchange" type="Script"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="fieldset">
		<xs:annotation>
			<xs:documentation>
				The fieldset element is used to group form fields.
				Only one legend element should occur in the content
				and if present should only be preceded by whitespace.

				NOTE: this content model is different from the XHTML 1.0 DTD,
				closer to the intended content model in HTML4 DTD
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:element ref="legend"/>
				<xs:choice minOccurs="0" maxOccurs="unbounded">
					<xs:choice>
						<xs:element ref="p"/>
						<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:element ref="div"/>
						<xs:choice>
							<xs:element ref="ul"/>
							<xs:element ref="ol"/>
							<xs:element ref="dl"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="pre"/>
							<xs:element ref="hr"/>
							<xs:element ref="blockquote"/>
							<xs:element ref="address"/>
						</xs:choice>
						<xs:element ref="fieldset"/>
						<xs:element ref="table"/>
					</xs:choice>
					<xs:element ref="form"/>
					<xs:choice>
						<xs:element ref="a"/>
						<xs:choice>
							<xs:choice>
								<xs:element ref="br"/>
								<xs:element ref="span"/>
								<xs:element ref="bdo"/>
								<xs:element ref="map"/>
							</xs:choice>
							<xs:element ref="object"/>
							<xs:element ref="img"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="tt"/>
							<xs:element ref="i"/>
							<xs:element ref="b"/>
							<xs:element ref="big"/>
							<xs:element ref="small"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="em"/>
							<xs:element ref="strong"/>
							<xs:element ref="dfn"/>
							<xs:element ref="code"/>
							<xs:element ref="q"/>
							<xs:element ref="samp"/>
							<xs:element ref="kbd"/>
							<xs:element ref="var"/>
							<xs:element ref="cite"/>
							<xs:element ref="abbr"/>
							<xs:element ref="acronym"/>
							<xs:element ref="sub"/>
							<xs:element ref="sup"/>
						</xs:choice>
						<xs:choice>
							<xs:element ref="input"/>
							<xs:element ref="select"/>
							<xs:element ref="textarea"/>
							<xs:element ref="label"/>
							<xs:element ref="button"/>
						</xs:choice>
					</xs:choice>
					<xs:choice>
						<xs:element ref="noscript"/>
						<xs:choice>
							<xs:element ref="ins"/>
							<xs:element ref="del"/>
							<xs:element ref="script"/>
						</xs:choice>
					</xs:choice>
				</xs:choice>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="legend">
		<xs:annotation>
			<xs:documentation>
				fieldset label
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="accesskey" type="Character"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="button">
		<xs:annotation>
			<xs:documentation>
				Content is "Flow" excluding a, form and form controls
			</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="button.content">
					<xs:attributeGroup ref="attrs"/>
					<xs:attributeGroup ref="focus"/>
					<xs:attribute name="name"/>
					<xs:attribute name="value"/>
					<xs:attribute default="submit" name="type">
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="button"/>
								<xs:enumeration value="submit"/>
								<xs:enumeration value="reset"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="disabled">
						<xs:simpleType>
							<xs:restriction base="xs:token">
								<xs:enumeration value="disabled"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
-->
	<xs:annotation>
		<xs:documentation>
			======================= Tables =======================================

			Derived from IETF HTML table standard, see [RFC1942]
		</xs:documentation>
	</xs:annotation>
	<xs:simpleType name="TFrame">
		<xs:annotation>
			<xs:documentation>
				The border attribute sets the thickness of the frame around the
				table. The default units are screen pixels.

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

				If rules is absent then assume:
				"none" if border is absent or border="0" otherwise "all"
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="none"/>
			<xs:enumeration value="groups"/>
			<xs:enumeration value="rows"/>
			<xs:enumeration value="cols"/>
			<xs:enumeration value="all"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:attributeGroup name="cellhalign">
		<xs:annotation>
			<xs:documentation>
				horizontal alignment attributes for cell contents

				char        alignment char, e.g. char=':'
				charoff     offset for alignment char
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="align">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="left"/>
					<xs:enumeration value="center"/>
					<xs:enumeration value="right"/>
					<xs:enumeration value="justify"/>
					<xs:enumeration value="char"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="char" type="Character"/>
		<xs:attribute name="charoff" type="Length"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="cellvalign">
		<xs:annotation>
			<xs:documentation>
				vertical alignment attributes for cell contents
			</xs:documentation>
		</xs:annotation>
		<xs:attribute name="valign">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="top"/>
					<xs:enumeration value="middle"/>
					<xs:enumeration value="bottom"/>
					<xs:enumeration value="baseline"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:element name="table">
		<xs:complexType>
			<xs:sequence>
				<xs:element minOccurs="0" ref="caption"/>
				<xs:choice>
					<xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
					<xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/>
				</xs:choice>
				<xs:element minOccurs="0" ref="thead"/>
				<xs:element minOccurs="0" ref="tfoot"/>
				<xs:choice>
					<xs:element maxOccurs="unbounded" ref="tbody"/>
					<xs:element maxOccurs="unbounded" ref="tr"/>
				</xs:choice>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute name="summary" type="Text"/>
			<xs:attribute name="width" type="Length"/>
			<xs:attribute name="border" type="Pixels"/>
			<xs:attribute name="frame" type="TFrame"/>
			<xs:attribute name="rules" type="TRules"/>
			<xs:attribute name="cellspacing" type="Length"/>
			<xs:attribute name="cellpadding" type="Length"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="caption">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Inline">
					<xs:attributeGroup ref="attrs"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:annotation>
		<xs:documentation>
			Use thead to duplicate headers when breaking table
			across page boundaries, or for static headers when
			tbody sections are rendered in scrolling panel.

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

			Use multiple tbody sections when rules are needed
			between groups of table rows.
		</xs:documentation>
	</xs:annotation>
	<xs:element name="thead">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="tr"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="tfoot">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="tr"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="tbody">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="tr"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="colgroup">
		<xs:annotation>
			<xs:documentation>
				colgroup groups a set of col elements. It allows you to group
				several semantically related columns together.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/>
			</xs:sequence>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute default="1" name="span" type="Number"/>
			<xs:attribute name="width" type="MultiLength"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="col">
		<xs:annotation>
			<xs:documentation>
				col elements define the alignment properties for cells in
				one or more columns.

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

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

				The span attribute causes the attributes of one
				col element to apply to more than one column.
			</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="attrs"/>
			<xs:attribute default="1" name="span" type="Number"/>
			<xs:attribute name="width" type="MultiLength"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="tr">
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="th"/>
				<xs:element ref="td"/>
			</xs:choice>
			<xs:attributeGroup ref="attrs"/>
			<xs:attributeGroup ref="cellhalign"/>
			<xs:attributeGroup ref="cellvalign"/>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="Scope">
		<xs:annotation>
			<xs:documentation>
				Scope is simpler than headers attribute for common tables
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:token">
			<xs:enumeration value="row"/>
			<xs:enumeration value="col"/>
			<xs:enumeration value="rowgroup"/>
			<xs:enumeration value="colgroup"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:annotation>
		<xs:documentation>
			th is for headers, td for data and for cells acting as both
		</xs:documentation>
	</xs:annotation>
	<xs:element name="th">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="abbr" type="Text"/>
					<xs:attribute name="axis"/>
					<xs:attribute name="headers" type="xs:IDREFS"/>
					<xs:attribute name="scope" type="Scope"/>
					<xs:attribute default="1" name="rowspan" type="Number"/>
					<xs:attribute default="1" name="colspan" type="Number"/>
					<xs:attributeGroup ref="cellhalign"/>
					<xs:attributeGroup ref="cellvalign"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="td">
		<xs:complexType mixed="true">
			<xs:complexContent mixed="true">
				<xs:extension base="Flow">
					<xs:attributeGroup ref="attrs"/>
					<xs:attribute name="abbr" type="Text"/>
					<xs:attribute name="axis"/>
					<xs:attribute name="headers" type="xs:IDREFS"/>
					<xs:attribute name="scope" type="Scope"/>
					<xs:attribute default="1" name="rowspan" type="Number"/>
					<xs:attribute default="1" name="colspan" type="Number"/>
					<xs:attributeGroup ref="cellhalign"/>
					<xs:attributeGroup ref="cellvalign"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>