<h:div class="summary">A rectangular table of any quantities.</h:div> <h:div class="description"> <h:p>By default <h:tt>table</h:tt>represents a rectangular table of any simple quantities representable as XSD or CML dataTypes. There are three layouts, columnwise, rowwise and without markup. In all cases it is essential that the columns, whether explicit or otherwise, are homogeneous within the column. Also the metadata for each column must be given explicitly. <h:ul> <h:li>columns: There is a single <h:a href="el.arrayList">arrayList</h:a>child containing (homogeneous) child elements ( <h:a href="el.array">array</h:a>or <h:a href="el.list">list</h:a>of size <h:tt>rows</h:tt>data. This is the "normal" orientation of data tables but the table display could be transposed by XSLT transformation if required. Access is to columns, and thence to the data within them. DataTyping, delimiters, etc are delegated to the arrays or lists, which must all be of the same size.</h:li> <h:li>rows: with explicit <h:tt>trow</h:tt>s. The metadata is carried in a <h:tt>theader</h:tt>element of size <h:tt>cols</h:tt>. Within each trow the data are contained in tcells</h:li> <h:li>content: The metadata is carried in a <h:tt>theader</h:tt>element of size <h:tt>cols</h:tt>. data are contained in a single <h:tt>tableContent</h:tt>with columns moving fastest. Within the content the data are whitespace (or delimiter) separated.</h:li> </h:ul>For verification it is recommended that tables carry <h:tt>rows</h:tt>and <h:tt>columns</h:tt>attributes. The type of the tables should also be carried in a <h:tt>tableType</h:tt>attribute></h:p> </h:div> <h:div>Validity contraints (XPath expression in table context) <h:table> <h:tr> <h:th>type</h:th> <h:th>@tableType</h:th> <h:th>@rows</h:th> <h:th>actual rowCount</h:th> <h:th>@columns</h:th> <h:th>actual columnCount</h:th> <h:th>tableHeader</h:th> <h:th>arrayList</h:th> <h:th>tableRowList</h:th> <h:th>tableContent</h:th> </h:tr> <h:tr> <h:td>column based</h:td> <h:td>columnBased</h:td> <h:td>recommended</h:td> <h:td>./arrayList/@size or arrayList/*[self::array or self::list]/@size</h:td> <h:td>optional</h:td> <h:td>./arrayList/@size or count(arrayList/*[self::array or self::list])</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>forbidden</h:td> </h:tr> <h:tr> <h:td>row based</h:td> <h:td>rowBased</h:td> <h:td>recommended</h:td> <h:td>./tableRowList/@size or count(tableRowList/tableRow)</h:td> <h:td>recommended</h:td> <h:td>count(tableHeader/tableHeaderCell) or count(tableRowList/tableRow/tableCell)</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> </h:tr> <h:tr> <h:td>content based</h:td> <h:td>contentBased</h:td> <h:td>required</h:td> <h:td>only by analysing tde table</h:td> <h:td>recommended</h:td> <h:td>count(tableHeader/tableHeaderCell)</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> </h:tr> </h:table> </h:div> <h:div class="example" href="table1.xml"/> <h:div class="example" href="table2.xml"/> <h:div class="example" href="table3.xml"/> |
QName | Type | Fixed | Default | Use | Inheritable | Annotation | |
---|---|---|---|---|---|---|---|
columns | sizeType | optional |
|
||||
convention | namespaceRefType | optional |
|
||||
dictRef | namespaceRefType | optional |
|
||||
id | idType | optional |
|
||||
rows | sizeType | optional |
|
||||
tableType | tableTypeType | optional |
|
||||
title | xsd:string | optional |
|
||||
units | unitsType | optional |
|
||||
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.xml-cml.org/schema' |
<xsd:element name="table" id="el.table" substitutionGroup="anyCml"> <xsd:annotation> <xsd:documentation> <h:div class="summary">A rectangular table of any quantities.</h:div> <h:div class="description"> <h:p>By default <h:tt>table</h:tt>represents a rectangular table of any simple quantities representable as XSD or CML dataTypes. There are three layouts, columnwise, rowwise and without markup. In all cases it is essential that the columns, whether explicit or otherwise, are homogeneous within the column. Also the metadata for each column must be given explicitly. <h:ul> <h:li>columns: There is a single <h:a href="el.arrayList">arrayList</h:a>child containing (homogeneous) child elements ( <h:a href="el.array">array</h:a>or <h:a href="el.list">list</h:a>of size <h:tt>rows</h:tt>data. This is the "normal" orientation of data tables but the table display could be transposed by XSLT transformation if required. Access is to columns, and thence to the data within them. DataTyping, delimiters, etc are delegated to the arrays or lists, which must all be of the same size.</h:li> <h:li>rows: with explicit <h:tt>trow</h:tt>s. The metadata is carried in a <h:tt>theader</h:tt>element of size <h:tt>cols</h:tt>. Within each trow the data are contained in tcells</h:li> <h:li>content: The metadata is carried in a <h:tt>theader</h:tt>element of size <h:tt>cols</h:tt>. data are contained in a single <h:tt>tableContent</h:tt>with columns moving fastest. Within the content the data are whitespace (or delimiter) separated.</h:li> </h:ul>For verification it is recommended that tables carry <h:tt>rows</h:tt>and <h:tt>columns</h:tt>attributes. The type of the tables should also be carried in a <h:tt>tableType</h:tt>attribute></h:p> </h:div> <h:div>Validity contraints (XPath expression in table context) <h:table> <h:tr> <h:th>type</h:th> <h:th>@tableType</h:th> <h:th>@rows</h:th> <h:th>actual rowCount</h:th> <h:th>@columns</h:th> <h:th>actual columnCount</h:th> <h:th>tableHeader</h:th> <h:th>arrayList</h:th> <h:th>tableRowList</h:th> <h:th>tableContent</h:th> </h:tr> <h:tr> <h:td>column based</h:td> <h:td>columnBased</h:td> <h:td>recommended</h:td> <h:td>./arrayList/@size or arrayList/*[self::array or self::list]/@size</h:td> <h:td>optional</h:td> <h:td>./arrayList/@size or count(arrayList/*[self::array or self::list])</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>forbidden</h:td> </h:tr> <h:tr> <h:td>row based</h:td> <h:td>rowBased</h:td> <h:td>recommended</h:td> <h:td>./tableRowList/@size or count(tableRowList/tableRow)</h:td> <h:td>recommended</h:td> <h:td>count(tableHeader/tableHeaderCell) or count(tableRowList/tableRow/tableCell)</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> </h:tr> <h:tr> <h:td>content based</h:td> <h:td>contentBased</h:td> <h:td>required</h:td> <h:td>only by analysing tde table</h:td> <h:td>recommended</h:td> <h:td>count(tableHeader/tableHeaderCell)</h:td> <h:td>required</h:td> <h:td>forbidden</h:td> <h:td>forbidden</h:td> <h:td>required</h:td> </h:tr> </h:table> </h:div> <h:div class="example" href="table1.xml"/> <h:div class="example" href="table2.xml"/> <h:div class="example" href="table3.xml"/> </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="anyCml"/> <xsd:any namespace="##other" processContents="lax"/> <xsd:any namespace="##local" processContents="lax"/> </xsd:choice> <xsd:attributeGroup ref="rows"/> <xsd:attributeGroup ref="columns"/> <xsd:attributeGroup ref="units"/> <xsd:attributeGroup ref="tableType"/> <xsd:attributeGroup ref="title"/> <xsd:attributeGroup ref="id"/> <xsd:attributeGroup ref="convention"/> <xsd:attributeGroup ref="dictRef"/> <xsd:anyAttribute namespace="##other" processContents="lax"/> </xsd:complexType> </xsd:element> |