| <!-- |
| |
| Copyright (c) 2001-2004 World Wide Web Consortium, |
| (Massachusetts Institute of Technology, Institut National de |
| Recherche en Informatique et en Automatique, Keio University). All |
| Rights Reserved. This program is distributed under the W3C's Software |
| Intellectual Property License. This program is distributed in the |
| hope that it will be useful, but WITHOUT ANY WARRANTY; without even |
| the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
| PURPOSE. |
| |
| See W3C License http://www.w3.org/Consortium/Legal/ for more details. |
| |
| --> |
| |
| <!-- |
| |
| This schema is attempts to use every construct that could |
| be interrogated by DOM Level 3 and is no way intended to |
| be a general purpose schema for XHTML |
| |
| --> |
| |
| <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="http://www.w3.org/1999/xhtml" |
| xmlns="http://www.w3.org/1999/xhtml"> |
| |
| <xsd:element name="html"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element ref="head"/> |
| <xsd:element ref="body"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="head"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element ref="meta"/> |
| <xsd:element ref="title"/> |
| <xsd:element ref="script" minOccurs="0" maxOccurs="unbounded"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="meta"> |
| <xsd:complexType> |
| <xsd:attribute name="http-equiv" type="xsd:string" use="required"/> |
| <xsd:attribute name="content" type="xsd:string" use="required"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="script"> |
| <xsd:complexType> |
| <xsd:simpleContent> |
| <xsd:extension base="xsd:string"> |
| <xsd:attribute name="src" type="xsd:string" use="optional"/> |
| <xsd:attribute name="charset" type="xsd:string" use="optional"/> |
| <xsd:attribute name="type" type="xsd:string" use="required"/> |
| </xsd:extension> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:element name="title" type="xsd:string"/> |
| |
| <xsd:element name="body"> |
| <xsd:complexType> |
| <xsd:sequence minOccurs="0" maxOccurs="unbounded"> |
| <xsd:element ref="p"/> |
| </xsd:sequence> |
| <xsd:attribute name="onload" type="xsd:string" use="optional"/> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:simpleType name="classType"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="Yes"/> |
| <xsd:enumeration value="No"/> |
| <xsd:enumeration value="Yα"/> |
| <xsd:enumeration value="Y"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:complexType name="part1"> |
| <xsd:sequence> |
| <xsd:element ref="em"/> |
| <xsd:element ref="strong"/> |
| <xsd:element ref="code"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:complexType name="pType"> |
| <xsd:complexContent> |
| <xsd:extension base="part1"> |
| <xsd:sequence> |
| <xsd:element ref="sup"/> |
| <xsd:element ref="var"/> |
| <xsd:element ref="acronym"/> |
| </xsd:sequence> |
| <xsd:attribute name="title" type="xsd:string" use="optional"/> |
| <xsd:attribute name="class" type="classType" use="optional"/> |
| <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/> |
| <xsd:attribute name="foo" type="xsd:string" use="optional"/> |
| </xsd:extension> |
| </xsd:complexContent> |
| </xsd:complexType> |
| |
| |
| <xsd:element name="p"> |
| <xsd:complexType> |
| <xsd:complexContent> |
| <xsd:restriction base="pType"> |
| <xsd:sequence> |
| <xsd:element ref="em"/> |
| <xsd:element ref="strong"/> |
| <xsd:element ref="code"/> |
| <xsd:element ref="sup"/> |
| <xsd:element ref="var"/> |
| <xsd:element ref="acronym"/> |
| </xsd:sequence> |
| <xsd:attribute name="title" type="xsd:string" use="optional"/> |
| <xsd:attribute name="class" type="classType" use="optional"/> |
| <xsd:attribute name="dir" type="dirType" use="optional" default="rtl"/> |
| <xsd:attribute name="foo" type="xsd:string" use="prohibited"/> |
| </xsd:restriction> |
| </xsd:complexContent> |
| </xsd:complexType> |
| </xsd:element> |
| |
| <xsd:simpleType name="emp0001_3Type"> |
| <xsd:restriction base="xsd:ID"> |
| <xsd:enumeration value="EMP0001"/> |
| <xsd:enumeration value="EMP0002"/> |
| <xsd:enumeration value="EMP0003"/> |
| <xsd:enumeration value="EMP0004"/> |
| <xsd:enumeration value="EMP0005"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="emp0004_5Type"> |
| <xsd:restriction base="xsd:ID"> |
| <xsd:enumeration value="EMP0006"/> |
| <xsd:enumeration value="EMP0007"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="unboundedEmType"> |
| <xsd:union memberTypes="emp0001_3Type emp0004_5Type"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="emType"> |
| <xsd:restriction base="unboundedEmType"> |
| <xsd:pattern value="EMP[0-9]*"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| |
| <xsd:element name="em" type="emType"/> |
| |
| <xsd:simpleType name="unboundedStrongType"> |
| <xsd:list itemType="xsd:string"/> |
| </xsd:simpleType> |
| |
| |
| <xsd:simpleType name="strongType"> |
| <xsd:restriction base="unboundedStrongType"> |
| <xsd:maxLength value="100"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:element name="strong" type="strongType"/> |
| |
| <!-- union of union and union of list --> |
| <xsd:simpleType name="integers"> |
| <xsd:list itemType="xsd:integer"/> |
| </xsd:simpleType> |
| |
| |
| <xsd:simpleType name="sup"> |
| <xsd:union memberTypes="emType integers xsd:string"/> |
| </xsd:simpleType> |
| <xsd:element name="sup" type="sup"/> |
| |
| <!-- list of union of union --> |
| <xsd:simpleType name="supervisoryTitle"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="Specialist"/> |
| <xsd:enumeration value="Director"/> |
| <xsd:enumeration value="Manager"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="nonSupervisoryTitle"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="Accountant"/> |
| <xsd:enumeration value="Secretary"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="title"> |
| <xsd:union memberTypes="supervisoryTitle nonSupervisoryTitle"/> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="field"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="Department"/> |
| <xsd:enumeration value="Personnel"/> |
| <xsd:enumeration value="Computer"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:simpleType name="codeItem"> |
| <xsd:union memberTypes="field title"/> |
| </xsd:simpleType> |
| <xsd:simpleType name="code"> |
| <xsd:list itemType="codeItem"/> |
| </xsd:simpleType> |
| <xsd:element name="code" type="code"/> |
| |
| <xsd:element name="span" type="xsd:string"/> |
| |
| <xsd:complexType name="var" mixed="true"> |
| <xsd:sequence> |
| <xsd:element ref="span" minOccurs="0"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| <xsd:element name="var" type="var"/> |
| |
| <xsd:simpleType name="dirType"> |
| <xsd:restriction base="xsd:string"> |
| <xsd:enumeration value="ltr"/> |
| <xsd:enumeration value="rtl"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| |
| <xsd:element name="acronym"> |
| <xsd:complexType> |
| <xsd:simpleContent> |
| <xsd:extension base="xsd:string"> |
| <xsd:attribute name="class" type="classType" use="optional"/> |
| <xsd:attribute name="title" type="xsd:string" use="optional"/> |
| <xsd:attribute name="id" type="xsd:ID" use="optional"/> |
| </xsd:extension> |
| </xsd:simpleContent> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:schema> |