simpleType "matrixType"
Namespace:
Defined:
globally in cmlreact.xsd; see XML source
Used:
Simple Content Model
("rectangular" | "square" | "squareSymmetric" | "squareSymmetricLT" | "squareSymmetricUT" | "squareAntisymmetric" | "squareAntisymmetricLT" | "squareAntisymmetricUT" | "diagonal" | "upperTriangular" | "upperTriangularUT" | "lowerTriangular" | "lowerTriangularLT" | "unit" | "unitary" | "rowEigenvectors" | "rotation22" | "rotationTranslation32" | "homogeneous33" | "rotation33" | "rotationTranslation43" | "homogeneous44") | xsd:string
All Direct / Indirect Based Attributes (1):
matrixType/@matrixType
Known Usage Locations
Annotation
<h:div class="summary">Allowed matrix types.</h:div> <h:div class="description"> <h:p>Many are square matrices. By default all elements must be included. For symmetric, antisymmetric and diagonal matrices some compression is possible by not reporting the identical or forced zero elements. These have their own subtypes, usually with UT or LT appended. Use these with caution as there is chance of confusion and you cannot rely on standard software to read these.</h:p> <h:p>The matrix type fixes the order and semantics of the elements in the XML element but does not mandate any local syntax. Thus an application may insert newline characters after each row or use a <row> element.</h:p> </h:div> <h:div class="example" href="matrix1.xml"/>
Type Definition Detail
Type Derivation Tree
union of (restriction of xsd:string | restriction of namespaceRefType)
  matrixType
Derivation:
by union
Member Types
  1. anonymous simpleType:
    Derivation:
    restriction of xsd:string
  2. anonymous simpleType:
    Derivation:
    restriction of namespaceRefType
XML Source (see within schema source)
<xsd:simpleType id="st.matrixType" name="matrixType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Allowed matrix types.</h:div>
<h:div class="description">
<h:p>
Many are square matrices. By default all elements must be included. For symmetric, antisymmetric and diagonal matrices some compression is possible by not reporting the identical or forced zero elements. These have their own subtypes, usually with UT or LT appended. Use these with caution as there is chance of confusion and you cannot rely on standard software to read these.
</h:p>
<h:p>
The matrix type fixes the order and semantics of the elements in the XML element but does not mandate any local syntax. Thus an application may insert newline characters after each row or use a &lt;row&gt; element.
</h:p>
</h:div>
<h:div class="example" href="matrix1.xml"/>
</xsd:documentation>
</xsd:annotation>
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="rectangular">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Rectangular with no semantic constraints and ordered rowwise (i.e. the column index runs fastest).
<h:pre>
1 2 3 4
0 3 5 6
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="square">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square with no semantic constraints.
<h:pre>
1 2 78
3 4 -1
-34 2 7
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareSymmetric">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square symmetric with all elements explicit.
<h:pre>
1 2 3
2 7 1
3 1 9
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareSymmetricLT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square symmetric with the diagonal and lower triangle explicit and the upper triangle omitted. Rows are of length 1, 2, 3...
<h:pre>
1
2 7
3 1 9
</h:pre>
is equivalent to
<h:pre>
1 2 3
2 7 1
3 1 9
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareSymmetricUT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square symmetric with the diagonal and upper triangle explicit. Rows are of length n, n-1, ... 2, 1
<h:pre>
1 7 9
2 -1
34
</h:pre>
is equivalent to
<h:pre>
1 7 9
7 2 -1
9 -1 34
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareAntisymmetric">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square antisymmetric with all elements explicit. The diagonal is necessarily zero.
<h:pre>
0 -2 3
2 0 1
-3 -1 0
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareAntisymmetricLT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square symmetric with the lower triangle explicit and diagonal and upper triangle omitted. Rows are of length 1, 2,... n-1.
<h:pre>
-7
-9 1
</h:pre>
is equivalent to
<h:pre>
0 7 9
-7 0 -1
-9 1 0
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="squareAntisymmetricUT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square symmetric with the upper triangle explicit and diagonal and lower triangle omitted. Rows are of length n-1, n-2,... 2,1.
<h:pre>
7 9
-1
</h:pre>
is equivalent to
<h:pre>
0 7 9
-7 0 -1
-9 1 0
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="diagonal">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Symmetric. Elements are zero except on the diagonal. No compressed representation available (use
<h:tt>array</h:tt>
element).
</h:div>
<h:pre>
1 0 0
0 3 0
0 0 4
</h:pre>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="upperTriangular">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Elements are zero below the diagonal
<h:pre>
1 2 3 4
0 3 5 6
0 0 4 8
0 0 0 2
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="upperTriangularUT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Elements below the diagonal are zero and omitted, and rows are of length n, n-1, ... , 2, 1.
<h:pre>
1 2 3 4
3 5 6
4 8
2
</h:pre>
is equivalent to
<h:pre>
1 2 3 4
0 3 5 6
0 0 4 8
0 0 0 2
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="lowerTriangular">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Elements are zero above the diagonal
<h:pre>
1 0 0
7 3 0
9 2 4
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="lowerTriangularLT">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Elements above the diagonal are zero and omitted, and rows are of length 1, 2, ...n.
<h:pre>
1
3 7
9 2 3
</h:pre>
is equivalent to
<h:pre>
1 0 0
3 7 0
9 2 3
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="unit">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Diagonal elements are 1 and off-diagonal are zero.
<h:pre>
1 0 0
0 1 0
0 0 1
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="unitary">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. When multiplied by its transpose gives the unit matrix.
<h:pre>
0 -1 0
1 0 0
0 0 1
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="rowEigenvectors">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
Square. Each row corresponds to an eigenvector of a square matrix. Elements are real. The length of the eigenvectors is undefined, i.e. they are not required to be normalised to 1.
<h:pre>
0 -1 0
1 0 0
0 0 1
</h:pre>
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="rotation22">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
The rotation is defined by the matrix premultiplyin a column vector (x, y) .
<h:pre>
0 -1
1 0
</h:pre>
produces (-y, x), i.e. a rotation of -90 degrees.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="rotationTranslation32">
<xsd:annotation>
<xsd:documentation>
<h:div class="description">
A third column defining the translation is added to a rotation22.
<h:pre>
0 -1 22
1 0 33
</h:pre>
produces (-y + 22, x + 33), i.e. a rotation of -90 degrees followed by a translation of (22, 33).
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="homogeneous33"/>
<xsd:enumeration value="rotation33"/>
<xsd:enumeration value="rotationTranslation43"/>
<xsd:enumeration value="homogeneous44"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="namespaceRefType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">User-defined matrix-type.</h:div>
<h:div class="description">
This definition must be by reference to a namespaced dictionary entry.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:restriction>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>

This XML schema documentation has been generated with DocFlex/XML RE 1.8.5 using DocFlex/XML XSDDoc 2.5.0 template set.
DocFlex/XML RE is a reduced edition of DocFlex/XML, which is a tool for programming and running highly sophisticated documentation and reports generators by the data obtained from any kind of XML files. The actual doc-generators are implemented in the form of special templates that are designed visually using a high-quality Template Designer GUI basing on the XML schema (or DTD) files describing the data source XML.
DocFlex/XML XSDDoc is a commercial template application of DocFlex/XML that implements a high-quality XML Schema documentation generator with simultaneous support of framed multi-file HTML, single-file HTML and RTF output formats. (More formats are planned in the future).
A commercial license for "DocFlex/XML XSDDoc" will allow you:
  • To configure the generated documentation so much as you want. Thanks to our template technology, it was possible to support > 400 template parameters, which work the same as "options" of ordinary doc-generators. The parameters are organized in nested groups, which form a parameter tree. Most of them have their default values calculated dynamically from a few primary parameters. So, you'll never need to specify all of them. That will give you swift and effective control over the generated content!
  • To use certain features disabled in the free mode (such as the full documenting of substitution groups).
  • To select only the initial, imported, included, redefined XML schemas to be documented or only those directly specified by name.
  • To include only XML schema components specified by name.
  • To document local element components both globally and locally (similar to attributes).
  • To allow/suppress unification of local elements by type.
  • To enable/disable reproducing of namespace prefixes.
  • To use PlainDoc.tpl main template to generate all the XML schema documentation in a signle-file form as both HTML and incredible quality RTF output.
  • To format your annotations with XHTML tags and reproduce that formatting both in HTML and RTF output.
  • To insert images in your annotations using XHTML <img> tags (supported both in HTML and RTF output).
  • To remove this very advertisement text!
Once having only such a license, you will be able to run the fully-featured XML schema documentation generator both with DocFlex/XML (Full Edition) and with DocFlex/XML RE, which is a reduced free edition containing only the template interpretor / output generator. No other licenses will be required!
But this is not all. In addition to it, a commercial license for "DocFlex/XML SDK" will allow you to modify the XSDDoc templates themselves as much as you want. You will be able to achieve whatever was impossible to do with the template parameters only. And, of course, you could develop any template applications by your own!
Please note that by purchasing a license for this software, you not only acquire a useful tool, you will also make an important investment in its future development, the results of which you could enjoy later by yourself. Every single your purchase matters and makes a difference for us!
To purchase a license, please follow this link: http://www.filigris.com/shop/