diagram |
 |
namespace |
http://www.opengis.net/gml |
type |
gml:ValueArrayType |
properties |
content | complex | substGrp | gml:CompositeValue |
|
children |
gml:metaDataProperty gml:description gml:name gml:valueComponent gml:valueComponents |
used by |
|
attributes |
Name | Type | Use | Default | Fixed | annotation | id | | optional | | | documentation | Database handle for the object. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs. An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods. This is done by concatenating the URI for the document, a fragment separator, and the value of the id attribute. |
| codeSpace | xs:anyURI | optional | | | | uom | xs:anyURI | optional | | | |
|
annotation |
appinfo | <sch:pattern name="Check either codeSpace or uom not both">
<sch:rule context="gml:ValueArray">
<sch:report test="@codeSpace and @uom">ValueArray may not carry both a reference to a codeSpace and a uom</sch:report>
</sch:rule>
</sch:pattern>
<sch:pattern name="Check components are homogeneous">
<sch:rule context="gml:ValueArray">
<sch:assert test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = name(../../gml:valueComponent[1]/*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
<sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = name(../*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
</sch:rule>
</sch:pattern> | documentation | A Value Array is used for homogeneous arrays of primitive and aggregate values. _ScalarValueList is preferred for arrays of Scalar Values since this is more efficient. Since "choice" is not available for attribute groups, an external constraint (e.g. Schematron) would be required to enforce the selection of only one of these through schema validation |
|
source |
<xs:element name="ValueArray" type="gml:ValueArrayType" substitutionGroup="gml:CompositeValue">
<xs:annotation>
<xs:appinfo>
<sch:pattern name="Check either codeSpace or uom not both">
<sch:rule context="gml:ValueArray">
<sch:report test="@codeSpace and @uom">ValueArray may not carry both a reference to a codeSpace and a uom</sch:report>
</sch:rule>
</sch:pattern>
<sch:pattern name="Check components are homogeneous">
<sch:rule context="gml:ValueArray">
<sch:assert test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = name(../../gml:valueComponent[1]/*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
<sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = name(../*[1])])">All components of <sch:name/> must be of the same type</sch:assert>
</sch:rule>
</sch:pattern>
</xs:appinfo>
<xs:documentation>A Value Array is used for homogeneous arrays of primitive and aggregate values. _ScalarValueList is preferred for arrays of Scalar Values since this is more efficient. Since "choice" is not available for attribute groups, an external constraint (e.g. Schematron) would be required to enforce the selection of only one of these through schema validation</xs:documentation>
</xs:annotation>
</xs:element> |