Author: nbelaevski
Date: 2009-08-05 11:46:45 -0400 (Wed, 05 Aug 2009)
New Revision: 15116
Modified:
root/cdk/trunk/plugins/generator/src/main/xsd/xhtml1-transitional.xsd
Log:
XHTML 1 Transitional extended with EL expressions
Modified: root/cdk/trunk/plugins/generator/src/main/xsd/xhtml1-transitional.xsd
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/xsd/xhtml1-transitional.xsd 2009-08-05
15:46:00 UTC (rev 15115)
+++ root/cdk/trunk/plugins/generator/src/main/xsd/xhtml1-transitional.xsd 2009-08-05
15:46:45 UTC (rev 15116)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0" xml:lang="en"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
-
targetNamespace="http://www.w3.org/1999/xhtml"
-
xmlns="http://www.w3.org/1999/xhtml"
+
targetNamespace="http://richfaces.org/xhtml-el"
+
xmlns="http://richfaces.org/xhtml-el"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified">
@@ -55,13 +55,23 @@
</xs:documentation>
</xs:annotation>
+ <xs:simpleType name="elOnlyExpression">
+ <xs:restriction base="xs:string">
+ <xs:pattern value=".*#\{[^\}]+\}.*" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="elExpression">
+ <xs:restriction base="xs:string" />
+ </xs:simpleType>
+
<xs:simpleType name="ContentType">
<xs:annotation>
<xs:documentation>
media type, as per [RFC2045]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="ContentTypes">
@@ -70,7 +80,7 @@
comma-separated list of media types, as per [RFC2045]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="Charset">
@@ -79,7 +89,7 @@
a character encoding, as per [RFC2045]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="Charsets">
@@ -88,7 +98,7 @@
a space separated list of character encodings, as per [RFC2045]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="LanguageCode">
@@ -97,7 +107,7 @@
a language code, as per [RFC3066]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:language"/>
+ <xs:union memberTypes="xs:language elOnlyExpression" />
</xs:simpleType>
<xs:simpleType name="Character">
@@ -106,8 +116,22 @@
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"/>
+ <!-- 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="elOnlyExpression"/>
+ </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>
@@ -117,9 +141,7 @@
one or more digits
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:nonNegativeInteger">
- <xs:pattern value="[0-9]+"/>
- </xs:restriction>
+ <xs:union memberTypes="simpleType.Number elOnlyExpression" />
</xs:simpleType>
<xs:simpleType name="tabindexNumber">
@@ -130,10 +152,17 @@
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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="LinkTypes">
@@ -142,7 +171,7 @@
space-separated list of link types
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:NMTOKENS"/>
+ <xs:union memberTypes="xs:NMTOKENS elOnlyExpression" />
</xs:simpleType>
<xs:simpleType name="MediaDesc">
@@ -151,9 +180,16 @@
single or comma-separated list of media descriptors
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string">
- <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[^,]+(,\s*[^,]+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="URI">
@@ -162,7 +198,7 @@
a Uniform Resource Identifier, see [RFC2396]
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:anyURI"/>
+ <xs:union memberTypes="xs:anyURI elOnlyExpression"/>
</xs:simpleType>
<xs:simpleType name="UriList">
@@ -171,7 +207,7 @@
a space separated list of Uniform Resource Identifiers
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="Datetime">
@@ -180,7 +216,7 @@
date and time information. ISO date format
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:dateTime"/>
+ <xs:union memberTypes="xs:dateTime elOnlyExpression"/>
</xs:simpleType>
<xs:simpleType name="Script">
@@ -189,7 +225,7 @@
script expression
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="StyleSheet">
@@ -198,7 +234,7 @@
style sheet data
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="Text">
@@ -207,7 +243,7 @@
used for titles etc.
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:simpleType name="FrameTarget">
@@ -216,9 +252,16 @@
render in this frame
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:NMTOKEN">
- <xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="Length">
@@ -227,9 +270,16 @@
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:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="MultiLength">
@@ -238,9 +288,16 @@
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: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="elOnlyExpression" />
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="Pixels">
@@ -249,7 +306,7 @@
integer representing length in pixels
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:nonNegativeInteger"/>
+ <xs:union memberTypes="xs:nonNegativeInteger elOnlyExpression"/>
</xs:simpleType>
<xs:annotation>
@@ -259,12 +316,19 @@
</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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="Coords">
@@ -273,10 +337,17 @@
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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="ImgAlign">
@@ -285,13 +356,20 @@
used for object, applet, img, input and iframe
</xs:documentation>
</xs:annotation>
- <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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="Color">
@@ -311,11 +389,34 @@
Fuchsia= #FF00FF Aqua = #00FFFF
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string">
- <xs:pattern value="[A-Za-z]+|#[0-9A-Fa-f]{3}|#[0-9A-Fa-f]{6}"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
+ <xs:simpleType name="ID">
+ <xs:union memberTypes="xs:ID elOnlyExpression"/>
+ </xs:simpleType>
+ <xs:simpleType name="IDREF">
+ <xs:union memberTypes="xs:IDREF elOnlyExpression"/>
+ </xs:simpleType>
+ <xs:simpleType name="IDREFS">
+ <xs:union memberTypes="xs:IDREFS elOnlyExpression"/>
+ </xs:simpleType>
+ <xs:simpleType name="NMTOKEN">
+ <xs:union memberTypes="xs:NMTOKEN elOnlyExpression"/>
+ </xs:simpleType>
+ <xs:simpleType name="NMTOKENS">
+ <xs:union memberTypes="xs:NMTOKENS elOnlyExpression"/>
+ </xs:simpleType>
+
<xs:annotation>
<xs:documentation>
=================== Generic Attributes ===============================
@@ -332,11 +433,18 @@
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="id" type="ID"/>
+ <xs:attribute name="class" type="NMTOKENS"/>
<xs:attribute name="style" type="StyleSheet"/>
<xs:attribute name="title" type="Text"/>
</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>
@@ -348,13 +456,12 @@
</xs:documentation>
</xs:annotation>
<xs:attribute name="lang" type="LanguageCode"/>
- <xs:attribute ref="xml:lang"/>
+
+ <!-- TODO: xml:lang can be made EL -->
+ <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:union memberTypes="simpleType.dir elOnlyExpression" />
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
@@ -417,12 +524,19 @@
</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:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
@@ -727,7 +841,7 @@
<xs:element ref="body"/>
</xs:sequence>
<xs:attributeGroup ref="i18n"/>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
</xs:complexType>
</xs:element>
@@ -778,7 +892,7 @@
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="i18n"/>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="profile" type="URI"/>
</xs:complexType>
</xs:element>
@@ -793,7 +907,7 @@
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="i18n"/>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
</xs:complexType>
</xs:element>
@@ -804,7 +918,7 @@
</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="href" type="URI"/>
<xs:attribute name="target" type="FrameTarget"/>
</xs:complexType>
@@ -818,7 +932,7 @@
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="i18n"/>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="http-equiv"/>
<xs:attribute name="name"/>
<xs:attribute name="content" use="required"/>
@@ -863,7 +977,7 @@
</xs:annotation>
<xs:complexType mixed="true">
<xs:attributeGroup ref="i18n"/>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="type" use="required"
type="ContentType"/>
<xs:attribute name="media" type="MediaDesc"/>
<xs:attribute name="title" type="Text"/>
@@ -878,16 +992,23 @@
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="charset" type="Charset"/>
<xs:attribute name="type" use="required"
type="ContentType"/>
<xs:attribute name="language"/>
<xs:attribute name="src" type="URI"/>
<xs:attribute name="defer">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="defer"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="defer"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute ref="xml:space" fixed="preserve"/>
@@ -926,25 +1047,39 @@
<xs:extension base="Flow">
<xs:attributeGroup ref="coreattrs"/>
<xs:attribute name="longdesc" type="URI"/>
- <xs:attribute name="name" type="xs:NMTOKEN"/>
+ <xs:attribute name="name" type="NMTOKEN"/>
<xs:attribute name="src" type="URI"/>
<xs:attribute name="frameborder" default="1">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="1"/>
- <xs:enumeration value="0"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </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:restriction base="xs:token">
- <xs:enumeration value="yes"/>
- <xs:enumeration value="no"/>
- <xs:enumeration value="auto"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="align" type="ImgAlign"/>
@@ -1114,12 +1249,34 @@
Unordered list bullet styles
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:token">
- <xs:enumeration value="disc"/>
- <xs:enumeration value="square"/>
- <xs:enumeration value="circle"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
+
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
<xs:element name="ul">
<xs:annotation>
@@ -1133,13 +1290,7 @@
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="type" type="ULStyle"/>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="compact" />
</xs:complexType>
</xs:element>
@@ -1158,7 +1309,7 @@
is reset to 1 for the first list item in an ordered list.
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:element name="ol">
@@ -1173,13 +1324,7 @@
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="type" type="OLStyle"/>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="compact" />
<xs:attribute name="start" type="Number"/>
</xs:complexType>
</xs:element>
@@ -1195,13 +1340,7 @@
<xs:element maxOccurs="unbounded" ref="li"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="compact" />
</xs:complexType>
</xs:element>
@@ -1216,13 +1355,7 @@
<xs:element maxOccurs="unbounded" ref="li"/>
</xs:sequence>
<xs:attributeGroup ref="attrs"/>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="compact" />
</xs:complexType>
</xs:element>
@@ -1232,7 +1365,7 @@
LIStyle is constrained to: "(ULStyle|OLStyle)"
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:string"/>
+ <xs:restriction base="elExpression"/>
</xs:simpleType>
<xs:element name="li">
@@ -1265,13 +1398,7 @@
<xs:element ref="dd"/>
</xs:choice>
<xs:attributeGroup ref="attrs"/>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="compact" />
</xs:complexType>
</xs:element>
@@ -1328,18 +1455,32 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="align">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="left"/>
- <xs:enumeration value="center"/>
- <xs:enumeration value="right"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="noshade">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="noshade"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="noshade"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="size" type="Pixels"/>
@@ -1462,7 +1603,7 @@
<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="name" type="NMTOKEN"/>
<xs:attribute name="href" type="URI"/>
<xs:attribute name="hreflang" type="LanguageCode"/>
<xs:attribute name="rel" type="LinkTypes"/>
@@ -1510,12 +1651,9 @@
<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:simpleType>
+ <xs:union memberTypes="simpleType.dir elOnlyExpression" />
+ </xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
@@ -1532,12 +1670,19 @@
<xs:attributeGroup ref="coreattrs"/>
<xs:attribute name="clear" default="none">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="left"/>
- <xs:enumeration value="all"/>
- <xs:enumeration value="right"/>
- <xs:enumeration value="none"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="left"/>
+ <xs:enumeration value="all"/>
+ <xs:enumeration value="right"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
@@ -1866,7 +2011,7 @@
</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="size" use="required"/>
<xs:attribute name="color" type="Color"/>
<xs:attribute name="face"/>
@@ -1915,9 +2060,16 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="declare">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="declare"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="declare"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="classid" type="URI"/>
@@ -1930,7 +2082,7 @@
<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="name" type="NMTOKEN"/>
<xs:attribute name="tabindex" type="Number"/>
<xs:attribute name="align" type="ImgAlign"/>
<xs:attribute name="border" type="Pixels"/>
@@ -1949,16 +2101,23 @@
</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="id" type="ID"/>
<xs:attribute name="name" use="required"/>
<xs:attribute name="value"/>
<xs:attribute name="valuetype" default="data">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="data"/>
- <xs:enumeration value="ref"/>
- <xs:enumeration value="object"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="data"/>
+ <xs:enumeration value="ref"/>
+ <xs:enumeration value="object"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="type" type="ContentType"/>
@@ -1989,7 +2148,7 @@
<xs:attribute name="code"/>
<xs:attribute name="object"/>
<xs:attribute name="alt" type="Text"/>
- <xs:attribute name="name" type="xs:NMTOKEN"/>
+ <xs:attribute name="name" type="NMTOKEN"/>
<xs:attribute name="width" use="required"
type="Length"/>
<xs:attribute name="height" use="required"
type="Length"/>
<xs:attribute name="align" type="ImgAlign"/>
@@ -2014,7 +2173,7 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="src" use="required"
type="URI"/>
<xs:attribute name="alt" use="required"
type="Text"/>
- <xs:attribute name="name" type="xs:NMTOKEN"/>
+ <xs:attribute name="name" type="NMTOKEN"/>
<xs:attribute name="longdesc" type="URI"/>
<xs:attribute name="height" type="Length"/>
<xs:attribute name="width" type="Length"/>
@@ -2028,9 +2187,16 @@
</xs:attribute>
<xs:attribute name="ismap">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="ismap"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="ismap"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="align" type="ImgAlign"/>
@@ -2061,7 +2227,7 @@
</xs:choice>
<xs:attributeGroup ref="i18n"/>
<xs:attributeGroup ref="events"/>
- <xs:attribute name="id" use="required"
type="xs:ID"/>
+ <xs:attribute name="id" use="required"
type="ID"/>
<xs:attribute name="class"/>
<xs:attribute name="style" type="StyleSheet"/>
<xs:attribute name="title" type="Text"/>
@@ -2078,9 +2244,16 @@
<xs:attribute name="href" type="URI"/>
<xs:attribute name="nohref">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="nohref"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="nohref"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="alt" use="required"
type="Text"/>
@@ -2102,10 +2275,17 @@
<xs:attribute name="action" use="required"
type="URI"/>
<xs:attribute name="method" default="get">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="get"/>
- <xs:enumeration value="post"/>
- </xs:restriction>
+ <xs: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="enctype" type="ContentType"
@@ -2131,7 +2311,7 @@
<xs:complexContent>
<xs:extension base="Inline">
<xs:attributeGroup ref="attrs"/>
- <xs:attribute name="for" type="xs:IDREF"/>
+ <xs:attribute name="for" type="IDREF" />
<xs:attribute name="accesskey" type="Character"/>
<xs:attribute name="onfocus" type="Script"/>
<xs:attribute name="onblur" type="Script"/>
@@ -2141,19 +2321,69 @@
</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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
+
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
<xs:element name="input">
<xs:annotation>
@@ -2173,27 +2403,9 @@
</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 ref="checked" />
+ <xs:attribute ref="disabled" />
+ <xs:attribute ref="readonly" />
<xs:attribute name="size"/>
<xs:attribute name="maxlength" type="Number"/>
<xs:attribute name="src" type="URI"/>
@@ -2222,18 +2434,19 @@
<xs:attribute name="size" type="Number"/>
<xs:attribute name="multiple">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="multiple"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="multiple"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</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 ref="disabled" />
<xs:attribute name="tabindex" type="tabindexNumber"/>
<xs:attribute name="onfocus" type="Script"/>
<xs:attribute name="onblur" type="Script"/>
@@ -2252,13 +2465,7 @@
<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 ref="disabled" />
<xs:attribute name="label" use="required"
type="Text"/>
</xs:complexType>
</xs:element>
@@ -2273,18 +2480,19 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="selected">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="selected"/>
- </xs:restriction>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="selected"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</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 ref="disabled" />
<xs:attribute name="label" type="Text"/>
<xs:attribute name="value"/>
</xs:complexType>
@@ -2302,20 +2510,8 @@
<xs:attribute name="name"/>
<xs:attribute name="rows" use="required"
type="Number"/>
<xs:attribute name="cols" use="required"
type="Number"/>
- <xs:attribute name="disabled">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="disabled"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="readonly">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="readonly"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="disabled" />
+ <xs:attribute ref="readonly" />
<xs:attribute name="onselect" type="Script"/>
<xs:attribute name="onchange" type="Script"/>
</xs:complexType>
@@ -2347,12 +2543,19 @@
</xs:element>
<xs:simpleType name="LAlign">
- <xs:restriction base="xs:token">
- <xs:enumeration value="top"/>
- <xs:enumeration value="bottom"/>
- <xs:enumeration value="left"/>
- <xs:enumeration value="right"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:element name="legend">
@@ -2387,20 +2590,21 @@
<xs:attribute name="value"/>
<xs:attribute name="type" default="submit">
<xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="button"/>
- <xs:enumeration value="submit"/>
- <xs:enumeration value="reset"/>
- </xs:restriction>
+ <xs: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</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 ref="disabled" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -2438,17 +2642,24 @@
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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="TRules">
@@ -2460,13 +2671,20 @@
"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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:simpleType name="TAlign">
@@ -2475,11 +2693,18 @@
horizontal placement of table relative to document
</xs:documentation>
</xs:annotation>
- <xs:restriction base="xs:token">
- <xs:enumeration value="left"/>
- <xs:enumeration value="center"/>
- <xs:enumeration value="right"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:attributeGroup name="cellhalign">
@@ -2493,13 +2718,20 @@
</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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char" type="Character"/>
@@ -2514,12 +2746,19 @@
</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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
@@ -2553,12 +2792,19 @@
</xs:element>
<xs:simpleType name="CAlign">
- <xs:restriction base="xs:token">
- <xs:enumeration value="top"/>
- <xs:enumeration value="bottom"/>
- <xs:enumeration value="left"/>
- <xs:enumeration value="right"/>
- </xs:restriction>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:element name="caption">
@@ -2682,12 +2928,19 @@
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: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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
</xs:simpleType>
<xs:annotation>
@@ -2696,6 +2949,21 @@
</xs:documentation>
</xs:annotation>
+ <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="elOnlyExpression"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+
<xs:element name="th">
<xs:complexType mixed="true">
<xs:complexContent>
@@ -2703,19 +2971,13 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="abbr" type="Text"/>
<xs:attribute name="axis"/>
- <xs:attribute name="headers" type="xs:IDREFS"/>
+ <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:attribute name="nowrap">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="nowrap"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="nowrap" />
<xs:attribute name="bgcolor" type="Color"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="height" type="Length"/>
@@ -2731,19 +2993,13 @@
<xs:attributeGroup ref="attrs"/>
<xs:attribute name="abbr" type="Text"/>
<xs:attribute name="axis"/>
- <xs:attribute name="headers" type="xs:IDREFS"/>
+ <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:attribute name="nowrap">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="nowrap"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attribute ref="nowrap" />
<xs:attribute name="bgcolor" type="Color"/>
<xs:attribute name="width" type="Length"/>
<xs:attribute name="height" type="Length"/>