diff options
Diffstat (limited to 'doc/xsd/htmltblx.xsd')
-rw-r--r-- | doc/xsd/htmltblx.xsd | 431 |
1 files changed, 431 insertions, 0 deletions
diff --git a/doc/xsd/htmltblx.xsd b/doc/xsd/htmltblx.xsd new file mode 100644 index 0000000..9f82a02 --- /dev/null +++ b/doc/xsd/htmltblx.xsd @@ -0,0 +1,431 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- ...................................................................... --> +<!-- SCons DocBook V4.5-Based extension V1.0 XML HTML Table Module ........ --> +<!-- File htmltblx.xsd .................................................... --> +<!-- Copyright (c) 2001-7,2010,2011,2012 The SCons Foundation + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + This DTD extension is based on the DocBook XML HTML Table + Module V4.5 with: + + Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems, + Inc., and the Organization for the Advancement of Structured Information + Standards (OASIS). + + $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $ + + Please direct all questions, bug reports, or suggestions for + changes to the docbook@lists.oasis-open.org mailing list. For more + information, see http://www.oasis-open.org/docbook/. + For the modified SCons extension files + + scons.xsd, dbpoolx.xsd, + + you can write to its developer mailing list. Check out + http://www.scons.org/ and http://www.scons.org/lists.php. + +--> +<!-- ...................................................................... --> +<!-- + This module contains the definitions for elements that are + isomorphic to the HTML elements. One could argue we should + instead have based ourselves on the XHTML Table Module, but the + HTML one is more like what browsers are likely to accept today + and users are likely to use. + + This module has been developed for use with the DocBook V4.5 + "union table model" in which elements and attlists common to both + models are defined (as the union) in the CALS table module by + setting various parameter entities appropriately in this file. + + In DTD driver files referring to this module, please use an entity + declaration that uses the public identifier shown below: + + <!ENTITY % htmltbl PUBLIC + "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" + "htmltblx.mod"> + %htmltbl; + + See the documentation for detailed information on the parameter + entity and module scheme used in DocBook, customizing DocBook and + planning for interchange, and changes made since the last release + of DocBook. +--> +<!-- ======================= XHTML Tables ======================================= --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <xs:attributeGroup name="html.coreattrs"> + <xs:attributeGroup ref="common.attrib"/> + <xs:attribute name="class"/> + <xs:attribute name="style"/> + <xs:attribute name="title"/> + </xs:attributeGroup> + <!-- Does not contain lang or dir because they are in %common.attribs --> + <xs:attributeGroup name="i18n"> + <xs:attribute ref="xml:lang"/> + </xs:attributeGroup> + <xs:attributeGroup name="events"> + <xs:attribute name="onclick"/> + <xs:attribute name="ondblclick"/> + <xs:attribute name="onmousedown"/> + <xs:attribute name="onmouseup"/> + <xs:attribute name="onmouseover"/> + <xs:attribute name="onmousemove"/> + <xs:attribute name="onmouseout"/> + <xs:attribute name="onkeypress"/> + <xs:attribute name="onkeydown"/> + <xs:attribute name="onkeyup"/> + </xs:attributeGroup> + <xs:attributeGroup name="attrs"> + <xs:attributeGroup ref="html.coreattrs"/> + <xs:attributeGroup ref="i18n"/> + <xs:attributeGroup ref="events"/> + </xs:attributeGroup> + <xs:attributeGroup name="cellhalign"> + <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"/> + <xs:attribute name="charoff"/> + </xs:attributeGroup> + <xs:attributeGroup name="cellvalign"> + <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> + <!-- doc:A group of columns in an HTML table. --> + <xs:element name="colgroup"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + </xs:sequence> + <xs:attributeGroup ref="colgroup.attlist"/> + </xs:complexType> + </xs:element> + <!-- doc:Specifications for a column in an HTML table. --> + <xs:element name="col"> + <xs:complexType> + <xs:attributeGroup ref="col.attlist"/> + </xs:complexType> + </xs:element> + <!-- doc:A row in an HTML table. --> + <xs:element name="tr"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="th"/> + <xs:element ref="td"/> + </xs:choice> + <xs:attributeGroup ref="tr.attlist"/> + </xs:complexType> + </xs:element> + <!-- doc:A table header entry in an HTML table. --> + <xs:element name="th"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="para.char.mix"/> + <xs:group ref="tabentry.mix"/> + <xs:element ref="table"/> + <xs:element ref="informaltable"/> + </xs:choice> + <xs:attributeGroup ref="th.attlist"/> + </xs:complexType> + </xs:element> + <!-- doc:A table ntry in an HTML table. --> + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="para.char.mix"/> + <xs:group ref="tabentry.mix"/> + <xs:element ref="table"/> + <xs:element ref="informaltable"/> + </xs:choice> + <xs:attributeGroup ref="td.attlist"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="colgroup.attlist"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="span" default="1"/> + <xs:attribute name="width"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:attributeGroup> + <xs:attributeGroup name="col.attlist"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="span" default="1"/> + <xs:attribute name="width"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + </xs:attributeGroup> + <xs:attributeGroup name="tr.attlist"> + <xs:attributeGroup ref="attrs"/> + <xs:attributeGroup ref="cellhalign"/> + <xs:attributeGroup ref="cellvalign"/> + <xs:attribute name="bgcolor"/> + </xs:attributeGroup> + <xs:attributeGroup name="th.attlist"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="abbr"/> + <xs:attribute name="axis"/> + <xs:attribute name="headers" type="xs:IDREFS"/> + <xs:attribute name="scope"> + <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:attribute> + <xs:attribute name="rowspan" default="1"/> + <xs:attribute name="colspan" default="1"/> + <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 name="bgcolor"/> + <xs:attribute name="width"/> + <xs:attribute name="height"/> + </xs:attributeGroup> + <xs:attributeGroup name="td.attlist"> + <xs:attributeGroup ref="attrs"/> + <xs:attribute name="abbr"/> + <xs:attribute name="axis"/> + <xs:attribute name="headers" type="xs:IDREFS"/> + <xs:attribute name="scope"> + <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:attribute> + <xs:attribute name="rowspan" default="1"/> + <xs:attribute name="colspan" default="1"/> + <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 name="bgcolor"/> + <xs:attribute name="width"/> + <xs:attribute name="height"/> + </xs:attributeGroup> + <!-- ====================================================== --> + <!-- + Set up to read in the CALS model configured to + merge with the XHTML table model + --> + <!-- ====================================================== --> + <xs:attributeGroup name="tables.role.attrib"> + <xs:attributeGroup ref="role.attrib"/> + </xs:attributeGroup> + <!-- Add label and role attributes to table and informaltable --> + <xs:attributeGroup name="bodyatt"> + <xs:attribute name="floatstyle"/> + <xs:attribute name="rowheader"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="firstcol"/> + <xs:enumeration value="norowheader"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="label.attrib"/> + </xs:attributeGroup> + <!-- + Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, + EntryTbl, and Entry (and InformalTable element). + --> + <xs:attributeGroup name="secur"> + <xs:attributeGroup ref="common.attrib"/> + <xs:attribute name="class"/> + <xs:attribute name="style"/> + <xs:attribute name="title"/> + <xs:attributeGroup ref="i18n"/> + <xs:attributeGroup ref="events"/> + <xs:attributeGroup ref="tables.role.attrib"/> + </xs:attributeGroup> + <xs:attributeGroup name="common.table.attribs"> + <xs:attributeGroup ref="bodyatt"/> + <xs:attributeGroup ref="secur"/> + </xs:attributeGroup> + <!-- Content model for Table (that also allows HTML tables) --> + <xs:complexType name="tbl.table.mdl"> + <xs:choice> + <xs:sequence> + <xs:element minOccurs="0" ref="blockinfo"/> + <xs:group ref="formalobject.title.content"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="ndxterm.class"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/> + <xs:choice> + <xs:element maxOccurs="unbounded" ref="graphic"/> + <xs:element maxOccurs="unbounded" ref="mediaobject"/> + <xs:element maxOccurs="unbounded" ref="tgroup"/> + </xs:choice> + </xs:sequence> + <xs:sequence> + <xs:element 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:choice> + </xs:complexType> + <xs:group name="informal.tbl.table.mdl"> + <xs:choice> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="textobject"/> + <xs:choice> + <xs:element maxOccurs="unbounded" ref="graphic"/> + <xs:element maxOccurs="unbounded" ref="mediaobject"/> + <xs:element maxOccurs="unbounded" ref="tgroup"/> + </xs:choice> + </xs:sequence> + <xs:sequence> + <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:choice> + </xs:group> + <!-- Attributes for Table (including HTML ones) --> + <!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd --> + <!-- that way because 'all' already occurs in a different enumeration in --> + <!-- CALS tables (frame). --> + <xs:attributeGroup name="tbl.table.att"> + <xs:attribute name="tabstyle"/> + <xs:attribute name="tocentry" type="yesorno.attvals"/> + <xs:attribute name="shortentry" type="yesorno.attvals"/> + <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.attvals"/> + <xs:attribute name="summary"/> + <xs:attribute name="width"/> + <xs:attribute name="border"/> + <xs:attribute name="rules"/> + <xs:attribute name="cellspacing"/> + <xs:attribute name="cellpadding"/> + <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:simpleType> + </xs:attribute> + <xs:attribute name="bgcolor"/> + </xs:attributeGroup> + <xs:simpleType name="tbl.frame.attval"> + <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: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> + <!-- Allow either objects or inlines; beware of REs between elements. --> + <xs:group name="tbl.entry.mdl"> + <xs:choice> + <xs:group ref="para.char.mix"/> + <xs:group ref="tabentry.mix"/> + </xs:choice> + </xs:group> + <!-- + thead, tfoot, and tbody are defined in both table models, + so we set up parameter entities to define union models for them + --> + <xs:complexType name="tbl.hdft.mdl"> + <xs:choice> + <xs:element maxOccurs="unbounded" ref="tr"/> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="colspec"/> + <xs:element maxOccurs="unbounded" ref="row"/> + </xs:sequence> + </xs:choice> + </xs:complexType> + <xs:complexType name="tbl.tbody.mdl"> + <xs:choice> + <xs:element maxOccurs="unbounded" ref="tr"/> + <xs:element maxOccurs="unbounded" ref="row"/> + </xs:choice> + </xs:complexType> +</xs:schema> +<!-- End of SCons DocBook V4.5-Based extension V1.0 XML HTML Table Module . --> +<!-- ...................................................................... --> |