diff options
Diffstat (limited to 'src/syntaxParser/processcoverage.xsd')
| -rw-r--r-- | src/syntaxParser/processcoverage.xsd | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/src/syntaxParser/processcoverage.xsd b/src/syntaxParser/processcoverage.xsd new file mode 100644 index 0000000..77fbb93 --- /dev/null +++ b/src/syntaxParser/processcoverage.xsd @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:gml="http://www.opengis.net/gml" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.1" xml:lang="en"> + + + + + + + + + + + + <!-- REMOVE EVERYTHING ALREADY IMPLEMENTED FOR VISUAL SIMPLICITY --> + + + + + + + + + + <xs:complexType name="CoverageAxisType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:choice> + <xs:element name="coverageExpr" type="CoverageExprType"/> + <xs:element name="axis" type="xs:integer"/> + </xs:choice> + </xs:complexType> + + + + + + + <!-- =========================================================== --> + <xs:complexType name="CondenseExprType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:choice> + <xs:element name="generalCondenseExpr" type="GeneralCondenseExprType"/> + </xs:choice> + </xs:complexType> + + + + + <xs:complexType name="GeneralCondenseExprType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <!-- FIXME: tbd --> + <xs:element name="condenseVar" type="NameType"/> + <xs:element name="condenseOp" type="CondenseOpType"/> + <xs:element name="coverageExpr" type="CoverageExprType"/> + </xs:sequence> + </xs:complexType> + + + <!-- =========================================================== --> + <xs:simpleType name="CondenseOpType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="plus"/> + <xs:enumeration value="max"/> + <xs:enumeration value="min"/> + <xs:enumeration value="and"/> + <xs:enumeration value="or"/> + </xs:restriction> + </xs:simpleType> + + + <!-- =========================================================== --> + <xs:complexType name="CoordinateTransformExprType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:choice> + <xs:element name="spatialTransformExpr" type="SpatialTransformExprType"/> + <xs:element name="temporalTransformExpr" type="TemporalTransformExprType"/> + </xs:choice> + </xs:complexType> + + + + <!-- =========================================================== --> + <xs:complexType name="SpatialTransformExprType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element name="coverageExpr" type="CoverageExprType"/> + <xs:element name="point" type="SpatialPointType"/> + <!-- FIXME: ref="gml:Point" --> + <xs:element name="crsName" type="xs:string"/> + <!-- FIXME: gml:CodeListType --> + </xs:sequence> + </xs:complexType> + + + <!-- =========================================================== --> + <xs:complexType name="TemporalTransformExprType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element name="coverageExpr" type="CoverageExprType"/> + <xs:element name="point" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <!-- =========================================================== --> + + + + + + + + <!-- FIXME: should use ows:Point; have scratched something, TBR --> + <xs:complexType name="GridPointType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element type="GridCoordinateElementType" maxOccurs="unbounded" name="coordinate"/> + </xs:sequence> + </xs:complexType> + <!-- =========================================================== --> + <!-- FIXME: TBR --> + <xs:complexType name="GridCoordinateElementType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element name="axisName" type="NameType"/> + <xs:element name="value" type="xs:integer"/> + </xs:sequence> + </xs:complexType> + <!-- =========================================================== --> + <!-- FIXME: should use ows:Point; have scratched something, TBR --> + <xs:complexType name="SpatialPointType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element type="SpatialCoordinateElementType" maxOccurs="unbounded" name="coordinate"/> + </xs:sequence> + </xs:complexType> + <!-- =========================================================== --> + <!-- FIXME: TBR --> + <xs:complexType name="SpatialCoordinateElementType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element name="axisName" type="NameType"/> + <xs:element name="value" type="xs:double"/> + </xs:sequence> + </xs:complexType> + <!-- =========================================================== --> + <!-- FIXME: TBR --> + <!-- note that we don't need the above sequence as there is always at most 1 time axis --> + <xs:complexType name="TemporalCoordinateType"> + <xs:annotation> + <xs:documentation/> + </xs:annotation> + <xs:sequence> + <xs:element name="axisName" type="NameType"/> + <xs:element name="value" type="xs:string"/> + <!-- FIXME: ows:time or so --> + </xs:sequence> + </xs:complexType> + + + + + + + + + +</xs:schema> |
