|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
<xs:simpleType name="yesorno">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:group name="titles">
<xs:sequence>
<xs:element minOccurs="0" ref="title"/>
</xs:sequence>
</xs:group>
<xs:group name="tbl.table-titles.mdl">
<xs:sequence>
<xs:group ref="titles"/>
</xs:sequence>
</xs:group>
<xs:group name="tbl.table-main.mdl">
<xs:choice>
<xs:element maxOccurs="unbounded" ref="tgroup"/>
<xs:element maxOccurs="unbounded" ref="graphic"/>
</xs:choice>
</xs:group>
<xs:attributeGroup name="tbl.table.att">
<xs:attribute name="tabstyle"/>
<xs:attribute name="tocentry" type="yesorno"/>
<xs:attribute name="shortentry" type="yesorno"/>
<xs:attribute name="orient">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="port"/>
<xs:enumeration value="land"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pgwide" type="yesorno"/>
</xs:attributeGroup>
<xs:complexType name="tbl.tgroup.mdl">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
<xs:element minOccurs="0" ref="thead"/>
<xs:element minOccurs="0" ref="tfoot"/>
<xs:element ref="tbody"/>
</xs:sequence>
</xs:complexType>
<xs:attributeGroup name="tbl.tgroup.att">
<xs:attribute name="tgroupstyle"/>
</xs:attributeGroup>
<xs:complexType name="tbl.hdft.mdl">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
<xs:element maxOccurs="unbounded" ref="row"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tbl.row.mdl">
<xs:choice maxOccurs="unbounded">
<xs:element ref="entry"/>
<xs:element ref="entrytbl"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="tbl.entrytbl.mdl">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="spanspec"/>
<xs:element minOccurs="0" ref="thead"/>
<xs:element ref="tbody"/>
</xs:sequence>
</xs:complexType>
<xs:element name="table">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.table.mdl">
<xs:attributeGroup ref="table.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="table.attlist">
<xs:attribute name="frame">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="bottom"/>
<xs:enumeration value="topbot"/>
<xs:enumeration value="all"/>
<xs:enumeration value="sides"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attributeGroup ref="tbl.table.att"/>
<xs:attributeGroup ref="bodyatt"/>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="tgroup">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.tgroup.mdl">
<xs:attributeGroup ref="tgroup.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="tgroup.attlist">
<xs:attribute name="cols" use="required"/>
<xs:attributeGroup ref="tbl.tgroup.att"/>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char"/>
<xs:attribute name="charoff"/>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="colspec">
<xs:complexType>
<xs:attributeGroup ref="colspec.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="colspec.attlist">
<xs:attribute name="colnum"/>
<xs:attribute name="colname"/>
<xs:attribute name="colwidth"/>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char"/>
<xs:attribute name="charoff"/>
</xs:attributeGroup>
<xs:element name="spanspec">
<xs:complexType>
<xs:attributeGroup ref="spanspec.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="spanspec.attlist">
<xs:attribute name="namest" use="required"/>
<xs:attribute name="nameend" use="required"/>
<xs:attribute name="spanname" use="required"/>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char"/>
<xs:attribute name="charoff"/>
</xs:attributeGroup>
<xs:element name="thead">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.hdft.mdl">
<xs:attributeGroup ref="thead.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="thead.attlist">
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="tfoot">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.hdft.mdl">
<xs:attributeGroup ref="tfoot.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="tfoot.attlist">
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="tbody">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="row"/>
</xs:sequence>
<xs:attributeGroup ref="tbody.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="tbody.attlist">
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="row">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.row.mdl">
<xs:attributeGroup ref="row.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="row.attlist">
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="entrytbl">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tbl.entrytbl.mdl">
<xs:attributeGroup ref="entrytbl.attlist"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="entrytbl.attlist">
<xs:attribute name="cols" use="required"/>
<xs:attributeGroup ref="tbl.tgroup.att"/>
<xs:attribute name="colname"/>
<xs:attribute name="spanname"/>
<xs:attribute name="namest"/>
<xs:attribute name="nameend"/>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char"/>
<xs:attribute name="charoff"/>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
<xs:element name="entry">
<xs:complexType mixed="true">
<xs:group minOccurs="0" maxOccurs="unbounded" ref="tbl.entry.mdl"/>
<xs:attributeGroup ref="entry.attlist"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="entry.attlist">
<xs:attribute name="colname"/>
<xs:attribute name="namest"/>
<xs:attribute name="nameend"/>
<xs:attribute name="spanname"/>
<xs:attribute name="morerows"/>
<xs:attribute name="colsep" type="yesorno"/>
<xs:attribute name="rowsep" type="yesorno"/>
<xs:attribute name="align">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
<xs:enumeration value="justify"/>
<xs:enumeration value="char"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="char"/>
<xs:attribute name="charoff"/>
<xs:attribute name="rotate" type="yesorno"/>
<xs:attribute name="valign">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="middle"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="secur"/>
</xs:attributeGroup>
</xs:schema>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Jonathan de Halleux is Civil Engineer in Applied Mathematics. He finished his PhD in 2004 in the rainy country of Belgium. After 2 years in the Common Language Runtime (i.e. .net), he is now working at Microsoft Research on Pex (http://research.microsoft.com/pex).