Skip to content
This repository has been archived by the owner on May 23, 2018. It is now read-only.

Commit

Permalink
attach the source xml-schema file for each ADE
Browse files Browse the repository at this point in the history
  • Loading branch information
Zhihng Yao committed Oct 25, 2016
1 parent 0de1f09 commit cd28369
Show file tree
Hide file tree
Showing 3 changed files with 4,459 additions and 0 deletions.
148 changes: 148 additions & 0 deletions Dynamizer-ADE-1.0/xml-schema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tsml="http://www.opengis.net/tsml/1.0" xmlns:sos="http://www.opengis.net/sos/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:dynamizer="http://www.citygml.org/ade/dynamizer_ade/1.0" xmlns:gen="http://www.opengis.net/citygml/generics/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:om="http://www.opengis.net/om/2.0" elementFormDefault="qualified" targetNamespace="http://www.citygml.org/ade/dynamizer_ade/1.0" version="1.0">
<import namespace="http://www.opengis.net/tsml/1.0" schemaLocation="http://schemas.opengis.net/tsml/1.0/timeseriesML.xsd"/>
<import namespace="http://www.opengis.net/sos/2.0" schemaLocation="http://schemas.opengis.net/sos/2.0/sosGetObservation.xsd"/>
<import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd"/>
<import namespace="http://www.opengis.net/citygml/generics/2.0" schemaLocation="http://schemas.opengis.net/citygml/generics/2.0/generics.xsd"/>
<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
<import namespace="http://www.opengis.net/om/2.0" schemaLocation="http://schemas.opengis.net/om/2.0/observation.xsd"/>
<!--XML Schema document created by ShapeChange - http://shapechange.net/-->
<!-- ==CityGML provides a mechanism to derive application schemas for specific applications, e.g. supporting dynamic attributes -->
<!-- ==or real-time sensor observations. For each application, a specific schema-file (xsd) has to be defined. -->
<!-- ==In this schema, arbitrary attributes (child elements) may be added to city objects. -->
<!-- ==This is enabled by adding a generic element (abstract element of type anyType beeing the root type of any xml type) -->
<!-- ==to each feature type in CityGML. This element is named _GenericApplicationPropertyOf<CityGMLFeature>, where -->
<!-- ==<CityGMLFeature> is replaced by the name of the corresponding element, e.g. CityObject. -->
<!-- ==By defining an element in a subschema and by adding it to the substitution group -->
<!-- ==_GenericApplicationPropertyOf<CityGMLFeature>, this element is added to the city object. -->
<!-- == this Schema uses these mechanisms of CityGML and defines a more specific application Schema for the supporting dynamic attributes -->
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- =================================== Dynamizer ADE ================================== -->
<!-- ============================================================================================ -->
<element name="dynamizers" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="dynamizer:DynamizerPropertyType"/>
<!-- ============================================================================================ -->
<complexType name="DynamizerPropertyType">
<sequence minOccurs="0">
<element ref="dynamizer:Dynamizer"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ============================================================================================ -->
<element name="Dynamizer" substitutionGroup="core:_CityObject" type="dynamizer:DynamizerType"/>
<!-- ============================================================================================ -->
<complexType name="DynamizerType">
<complexContent>
<extension base="core:AbstractCityObjectType">
<sequence>
<element name="attributeRef" type="anyURI"/>
<element name="startTime" type="gml:TimePositionType"/>
<element name="endTime" type="gml:TimePositionType"/>
<element minOccurs="0" name="dynamicData" type="dynamizer:AbstractTimeseriesPropertyType"/>
<element minOccurs="0" name="linkToSensor" type="dynamizer:SensorConnectionPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- =================================== Link to External sensors ================================== -->
<!-- ============================================================================================ -->
<element name="SensorConnection" substitutionGroup="gml:_Object" type="dynamizer:SensorConnectionType"/>
<complexType name="SensorConnectionType">
<sequence>
<element name="sensorID" type="string"/> <!--<element name="sensorID" type="gen:StringAttributePropertyType"/>-->
<element name="serviceType" type="string"/> <!-- <element name="serviceType" type="gen:StringAttributePropertyType"/> -->
<element minOccurs="0" name="linkToObservation" type="anyURI"/>
<element minOccurs="0" name="linkToSensorML" type="anyURI"/>
<element minOccurs="0" name="sensorLocation" type="core:AbstractCityObjectType"/>
</sequence>
</complexType>
<complexType name="SensorConnectionPropertyType">
<sequence>
<element ref="dynamizer:SensorConnection"/>
</sequence>
</complexType>
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- =================================== Supporting generic timeseries ================================== -->
<!-- ============================================================================================ -->
<element name="AbstractTimeseries" substitutionGroup="gml:_Feature" type="dynamizer:AbstractTimeseriesType"/>
<complexType name="AbstractTimeseriesType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractTimeseriesPropertyType">
<sequence minOccurs="0">
<element ref="dynamizer:AbstractTimeseries"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- =================================== Atomic timeseries ================================== -->
<!-- ============================================================================================ -->
<element name="AtomicTimeseries" substitutionGroup="dynamizer:AbstractTimeseries" type="dynamizer:AtomicTimeseriesType"/>
<complexType name="AtomicTimeseriesType">
<complexContent>
<extension base="dynamizer:AbstractTimeseriesType">
<sequence>
<element minOccurs="0" name="dynamicDataTVP" />
<element minOccurs="0" name="dynamicDataDR" />
<element minOccurs="0" name="observationData"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ============================================================================================ -->
<complexType name="AtomicTimeseriesPropertyType">
<sequence minOccurs="0">
<element ref="dynamizer:AtomicTimeseries"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ============================================================================================ -->
<!-- ============================================================================================ -->
<!-- =================================== Composite Timeseries ================================== -->
<!-- ============================================================================================ -->
<element name="CompositeTimeseries" substitutionGroup="dynamizer:AbstractTimeseries" type="dynamizer:CompositeTimeseriesType"/>
<complexType name="CompositeTimeseriesType">
<complexContent>
<extension base="dynamizer:AbstractTimeseriesType">
<sequence>
<element maxOccurs="unbounded" name="component" type="dynamizer:TimeseriesComponentPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ============================================================================================ -->
<complexType name="CompositeTimeseriesPropertyType">
<sequence minOccurs="0">
<element ref="dynamizer:CompositeTimeseries"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ============================================================================================ -->
<element name="TimeseriesComponent" substitutionGroup="gml:_Feature" type="dynamizer:TimeseriesComponentType"/>
<complexType name="TimeseriesComponentType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="repetitions" type="positiveInteger"/>
<element minOccurs="0" name="additionalGap" type="duration"/>
<element name="timeseries" type="dynamizer:AbstractTimeseriesPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ============================================================================================ -->
<complexType name="TimeseriesComponentPropertyType">
<sequence minOccurs="0">
<element ref="dynamizer:TimeseriesComponent"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
</schema>
Loading

0 comments on commit cd28369

Please sign in to comment.