element <array> (global)
Namespace:
Type:
anonymous complexType (extension of xsd:string)
Content:
simple, 13 attributes
Defined:
globally in cmlreact.xsd; see XML source
Used:
at 14 locations
XML Representation Summary
<array
   
 = 
xsd:string
 = 
(("xsd:string" | "xsd:boolean" | "xsd:float" | "xsd:double" | "xsd:decimal" | "xsd:duration" | "xsd:dateTime" | "xsd:time" | "xsd:date" | "xsd:gYearMonth" | "xsd:gYear" | "xsd:gMonthDay" | "xsd:gDay" | "xsd:gMonth" | "xsd:hexBinary" | "xsd:base64Binary" | "xsd:anyURI" | "xsd:QName" | "xsd:NOTATION" | "xsd:normalizedString" | "xsd:token" | "xsd:language" | "xsd:IDREFS" | "xsd:ENTITIES" | "xsd:NMTOKEN" | "xsd:NMTOKENS" | "xsd:Name" | "xsd:NCName" | "xsd:ID" | "xsd:IDREF" | "xsd:ENTITY" | "xsd:integer" | "xsd:nonPositiveInteger" | "xsd:negativeInteger" | "xsd:long" | "xsd:int" | "xsd:short" | "xsd:byte" | "xsd:nonNegativeInteger" | "xsd:unsignedLong" | "xsd:unsignedInt" | "xsd:unsignedShort" | "xsd:unsignedByte" | "xsd:positiveInteger") | xsd:string)
 = 
xsd:string
 = 
xsd:string
 = 
(("observedRange" | "observedStandardDeviation" | "observedStandardError" | "estimatedStandardDeviation" | "estimatedStandardError") | xsd:string)
 = 
list of xsd:float
 = 
xsd:string
 = 
list of xsd:float
 = 
list of xsd:float
 = 
xsd:string
 = 
xsd:nonNegativeInteger
 = 
xsd:string
 = 
xsd:string
    >
   
Content: 
{ xsd:string }
</array>
Included in content model of elements (14):
arg, atom, atomType, band, bondArray, bondType, eigen, gradient, molecule, parameter, property, table, xaxis, yaxis
Known Usage Locations
Annotation
<h:div class="summary">A homogenous 1 dimensional array of similar object.</h:div> <h:div class="description">These can be encoded as strings (i.e. XSD-like datatypes) and are concatenated as string content. The size of the array should always be >= 1. The default delimiter is whitespace. The _normalize-space()_ function of XSLT could be used to normalize all whitespace to single spaces and this should not affect the value of the array elements. To extract the elements __java.lang.StringTokenizer__ could be used. If the elements themselves contain whitespace then a different delimiter must be used and is identified through the <h:tt>delimiter</h:tt> attribute. This method is mandatory if it is required to represent empty strings. If a delimiter is used it MUST start and end the array - leading and trailing whitespace is ignored. Thus <h:tt>size+1</h:tt> occurrences of the delimiter character are required. If non-normalized whitespace is to be encoded (e.g. newlines, tabs, etc) you are recommended to translate it character-wise to XML character entities. <h:p>Note that normal Schema validation tools cannot validate the elements of <h:b>array</h:b> (they are defined as <h:tt>string</h:tt>) However if the string is split, a temporary schema can be constructed from the type and used for validation. Also the type can be contained in a dictionary and software could decide to retrieve this and use it for validation.</h:p> <h:p>When the elements of the <h:tt>array</h:tt> are not simple scalars (e.g. <h:a href="el.scalar">scalar</h:a>s with a value and an error, the <h:tt>scalar</h:tt>s should be used as the elements. Although this is verbose, it is simple to understand. If there is a demand for more compact representations, it will be possible to define the syntax in a later version.</h:p> </h:div> <h:div class="example" href="array1.xml"> <h:p>the <h:tt>size</h:tt> attribute is not mandatory but provides a useful validity check): </h:p> </h:div>
Anonymous Type Detail
Type Derivation Tree
xsd:string (extension)
  complexType
Derivation:
extension of xsd:string
XML Source (see within schema source)
<xsd:element id="el.array" name="array">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">
A homogenous 1 dimensional array of similar object.
</h:div>
<h:div class="description">
These can be encoded as strings (i.e. XSD-like datatypes) and are concatenated as string content. The size of the array should always be &gt;= 1. The default delimiter is whitespace. The _normalize-space()_ function of XSLT could be used to normalize all whitespace to single spaces and this should not affect the value of the array elements. To extract the elements __java.lang.StringTokenizer__ could be used. If the elements themselves contain whitespace then a different delimiter must be used and is identified through the
<h:tt>delimiter</h:tt>
attribute. This method is mandatory if it is required to represent empty strings. If a delimiter is used it MUST start and end the array - leading and trailing whitespace is ignored. Thus
<h:tt>size+1</h:tt>
occurrences of the delimiter character are required. If non-normalized whitespace is to be encoded (e.g. newlines, tabs, etc) you are recommended to translate it character-wise to XML character entities.
<h:p>
Note that normal Schema validation tools cannot validate the elements
of
<h:b>array</h:b>
(they are defined as
<h:tt>string</h:tt>
) However if the string is
split, a temporary schema
can be constructed from the type and used for validation. Also the type
can be contained in a dictionary and software could decide to retrieve this
and use it for validation.
</h:p>
<h:p>
When the elements of the
<h:tt>array</h:tt>
are not simple scalars
(e.g.
<h:a href="el.scalar">scalar</h:a>
s with a value and an error, the
<h:tt>scalar</h:tt>
s should be used as the elements. Although this is
verbose, it is simple to understand. If there is a demand for
more compact representations, it will be possible to define the
syntax in a later version.
</h:p>
</h:div>
<h:div class="example" href="array1.xml">
<h:p>
the
<h:tt>size</h:tt>
attribute is not mandatory but provides a useful validity
check):
</h:p>
</h:div>
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attributeGroup ref="title"/>
<xsd:attributeGroup ref="id"/>
<xsd:attributeGroup ref="convention"/>
<xsd:attributeGroup ref="dictRef"/>
<xsd:attributeGroup ref="dataType"/>
<xsd:attributeGroup ref="errorValueArray"/>
<xsd:attributeGroup ref="errorBasis"/>
<xsd:attributeGroup ref="minValueArray"/>
<xsd:attributeGroup ref="maxValueArray"/>
<xsd:attributeGroup ref="units"/>
<xsd:attributeGroup ref="delimiter"/>
<xsd:attributeGroup ref="size"/>
<xsd:attributeGroup ref="ref"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
Attribute Detail (all declarations; 13/13)
convention
Type:
Use:
optional
Defined:
locally within convention attributeGroup
<h:div class="summary">A reference to a convention.</h:div> <h:div class="description">There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements, so that a convention for <h:tt>molecule</h:tt> would by default extend to its <h:tt>bond</h:tt> and <h:tt>atom</h:tt> children. This can be overwritten if necessary by an explicit <h:tt>convention</h:tt>. <h:p>It may be useful to create conventions with namespaces (e.g. <h:tt>iupac:name</h:tt>). Use of <h:tt>convention</h:tt> will normally require non-STMML semantics, and should be used with caution. We would expect that conventions prefixed with "ISO" would be useful, such as ISO8601 for dateTimes.</h:p> <h:p>There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.</h:p> </h:div> <h:div class="example" href="convGroup1.xml" id="ex"/>
XML Source (see within schema source)
<xsd:attribute id="att.convention" name="convention" type="namespaceRefType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to a convention.</h:div>
<h:div class="description">
There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements,
so that a convention for
<h:tt>molecule</h:tt>
would by default extend to its
<h:tt>bond</h:tt>
and
<h:tt>atom</h:tt>
children. This can be overwritten
if necessary by an explicit
<h:tt>convention</h:tt>
.
<h:p>
It may be useful to create conventions with namespaces (e.g.
<h:tt>iupac:name</h:tt>
).
Use of
<h:tt>convention</h:tt>
will normally require non-STMML semantics, and should be used with
caution. We would expect that conventions prefixed with "ISO" would be useful,
such as ISO8601 for dateTimes.
</h:p>
<h:p>
There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.
</h:p>
</h:div>
<h:div class="example" href="convGroup1.xml" id="ex"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

dataType
Type:
Use:
optional
Defined:
locally within dataType attributeGroup
<h:div class="summary">The data type of the object.</h:div> <h:div class="description">Normally applied to scalar/array objects but may extend to more complex one.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.dataType" name="dataType" type="dataTypeType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">The data type of the object.</h:div>
<h:div class="description">
Normally applied to scalar/array objects but may extend to more complex one.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

delimiter
Type:
Use:
optional
Defined:
locally within delimiter attributeGroup
<h:div class="summary">A delimiter character for arrays and matrices.</h:div> <h:div class="description">By default array components ('elements' in the non-XML sense) are whitespace-separated. This fails for components with embedded whitespace or missing completely: <h:pre> Example: In the protein database ' CA' and 'CA' are different atom types, and and array could be: <array delimiter="/" dictRef="pdb:atomTypes">/ N/ CA/CA/ N/</array> </h:pre> Note that the array starts and ends with the delimiter, which must be chosen to avoid accidental use. There is currently no syntax for escaping delimiters.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.delimiter" name="delimiter" type="delimiterType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A delimiter character for arrays and matrices.</h:div>
<h:div class="description">
By default array components ('elements' in the non-XML sense) are whitespace-separated. This fails for components with embedded whitespace or missing completely:
<h:pre>
Example:
In the protein database ' CA' and 'CA' are different atom types, and and array could be:
&lt;array delimiter="/" dictRef="pdb:atomTypes"&gt;/ N/ CA/CA/ N/&lt;/array&gt;
</h:pre>
Note that the array starts and ends with the delimiter, which must be chosen to avoid accidental use. There is currently no syntax for escaping delimiters.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

dictRef
Type:
Use:
optional
Defined:
locally within dictRef attributeGroup
<h:div class="summary">A reference to a dictionary entry.</h:div> <h:div class="description">Elements in data instances such as _scalar_ may have a <h:tt>dictRef</h:tt> attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML document containing _entry_ elements and validated against STMML Schema. <h:p>Where there is concern about the dictionary becoming separated from the document the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.</h:p> <h:p>This attribute can also be used on _dictionary_ elements to define the namespace prefix</h:p> </h:div> <h:div class="example" href="dictRefGroup1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.dictRef" name="dictRef" type="namespaceRefType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to a dictionary entry.</h:div>
<h:div class="description">
Elements in data instances such as _scalar_ may have a
<h:tt>dictRef</h:tt>
attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML document containing _entry_ elements and validated against STMML Schema.
<h:p>
Where there is concern about the dictionary becoming separated from the document the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.
</h:p>
<h:p>
This attribute can also be used on _dictionary_ elements to define the namespace prefix
</h:p>
</h:div>
<h:div class="example" href="dictRefGroup1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

errorBasis
Type:
Use:
optional
Defined:
locally within errorBasis attributeGroup
<h:div class="summary">Basis of the error estimate.</h:div> <h:div class="description"/>
XML Source (see within schema source)
<xsd:attribute id="att.errorBasis" name="errorBasis" type="errorBasisType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Basis of the error estimate.</h:div>
<h:div class="description"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

errorValueArray
Type:
Use:
optional
Defined:
locally within errorValueArray attributeGroup
<h:div class="summary">Array of error values.</h:div> <h:div class="description">Reports the author's estimate of the error in an array of values. Only meaningful for dataTypes mapping to real number.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.errorValueArray" name="errorValueArray" type="errorValueArrayType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Array of error values.</h:div>
<h:div class="description">
Reports the author's estimate of the error in an array of values. Only meaningful for dataTypes mapping to real number.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

id
Type:
Use:
optional
Defined:
locally within id attributeGroup
<h:div class="summary">An attribute providing a unique ID for an element.</h:div> <h:div class="description"/>
XML Source (see within schema source)
<xsd:attribute id="att.id" name="id" type="idType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">
An attribute providing a unique ID for an element.
</h:div>
<h:div class="description"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

maxValueArray
Type:
Use:
optional
Defined:
locally within maxValueArray attributeGroup
<h:div class="summary">Maximum values for numeric _matrix_ or _array.</h:div> <h:div class="description">A whitespace-separated list of the same length as the array in the parent element.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.maxValueArray" name="maxValueArray" type="floatArrayType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Maximum values for numeric _matrix_ or _array.</h:div>
<h:div class="description">
A whitespace-separated list of the same length as the array in the parent element.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

minValueArray
Type:
Use:
optional
Defined:
locally within minValueArray attributeGroup
<h:div class="summary">Minimum values for numeric _matrix_ or _array.</h:div> <h:div class="description">A whitespace-separated lists of the same length as the array in the parent element.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.minValueArray" name="minValueArray" type="floatArrayType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Minimum values for numeric _matrix_ or _array.</h:div>
<h:div class="description">
A whitespace-separated lists of the same length as the array in the parent element.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

ref
Type:
Use:
optional
Defined:
locally within ref attributeGroup
<h:div class="summary">A reference to an element of given type.</h:div> <h:div class="description"> <h:tt>ref</h:tt> modifies an element into a reference to an existing element of that type within the document. This is similar to a pointer and it can be thought of a strongly typed hyperlink. It may also be used for "subclassing" or "overriding" elements.<br/> When referring to an element most of the "data" such as attribute values and element content will be on the full instantiated element. Therefore ref (and possibly id) will normally be the only attributes on the pointing element. However there may be some attributes (title, count, etc.) which have useful semantics, but these are element-specific</h:div> <h:div class="example" href="refGroup1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.ref" name="ref" type="refType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to an element of given type.</h:div>
<h:div class="description">
<h:tt>ref</h:tt>
modifies an element into a reference to an existing element of that type within the document. This is similar to a pointer and it can be thought of a strongly typed hyperlink. It may also be used for "subclassing" or "overriding" elements.
<br xmlns=""/>
When referring to an element most of the "data" such as attribute values and element content will be on the full instantiated element. Therefore ref (and possibly id) will normally be the only attributes on the pointing element. However there may be some attributes (title, count, etc.) which have useful semantics, but these are element-specific
</h:div>
<h:div class="example" href="refGroup1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

size
Type:
Use:
optional
Defined:
locally within size attributeGroup
<h:div class="summary">The size of an array or matrix.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.size" name="size" type="sizeType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">The size of an array or matrix.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

title
Type:
xsd:string, predefined
Use:
optional
Defined:
locally within title attributeGroup
<h:div class="summary">A title on an element.</h:div> <h:div class="description">No controlled value.</h:div> <h:div class="example" href="title1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.title" name="title" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A title on an element.</h:div>
<h:div class="description">No controlled value.</h:div>
<h:div class="example" href="title1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

units
Type:
Use:
optional
Defined:
locally within units attributeGroup
<h:div class="summary">Scientific units on an element.</h:div> <h:div class="description">These must be taken from a dictionary of units. There should be some mechanism for validating the type of the units against the possible values of the element.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.units" name="units" type="unitsType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Scientific units on an element.</h:div>
<h:div class="description">
These must be taken from a dictionary of units. There should be some mechanism for validating the type of the units against the possible values of the element.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

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/