Commit 9cc5564f authored by Rushikesh Padsala's avatar Rushikesh Padsala
Browse files

removed beta7 xsd and added beta8 xsd

parent dc37e927
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
XML Schema Definition (XSD) file for the XML Schema Definition (XSD) file for the
CityGML Energy ADE 3.0 (beta 7) CityGML Energy ADE 3.0 (beta 8)
Last update: 2025-09-23 Last update: 2025-11-25
This schema file was first automatically generated using Shapechange 3.10 and This schema file was first automatically generated using Shapechange 3.10 and
successively manually edited, annotated by means of additional tags, and restructured. successively manually edited, annotated by means of additional tags, and restructured.
...@@ -30,39 +30,50 @@ ADDITIONAL NOTES / MEMORANDUM: ...@@ -30,39 +30,50 @@ ADDITIONAL NOTES / MEMORANDUM:
After generating the XSD with Shapechange, the types of the properties linking to After generating the XSD with Shapechange, the types of the properties linking to
bldg:_BoundarySurface must be edited manually as the name in the CityGML XSD does not bldg:_BoundarySurface must be edited manually as the name in the CityGML XSD does not
follow the standard prefix rules. I.e.: follow the standard prefix rules. I.e.:
is -> must be changed to:
_BoundarySurfaceType -> AbstractBoundarySurfaceType _BoundarySurfaceType -> AbstractBoundarySurfaceType
_OpeningType -> AbstractOpeningType
(not needed)
_BoundarySurfacePropertyType -> BoundarySurfacePropertyType _BoundarySurfacePropertyType -> BoundarySurfacePropertyType
_OpeningPropertyType -> OpeningPropertyType
The additional tagged values are explained here: The additional tagged values are explained here:
https://3dcitydb-docs.readthedocs.io/en/latest/plugins/ade-manager/tagged-values.html https://3dcitydb-docs.readthedocs.io/en/latest/plugins/ade-manager/tagged-values.html
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="topLevel">true</taggedValue> <taggedValue tag="topLevel">true</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">association | aggregation | composition</taggedValue> <taggedValue tag="relationType">association | aggregation | composition</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="minOccurs">integer</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">integer | unbounded</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="lod">0 | 1 | 2 | 3 | 4</taggedValue> <taggedValue tag="lod">0 | 1 | 2 | 3 | 4</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="ignore">true | false</taggedValue> <taggedValue tag="ignore">true | false</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
**************************************************************************************** ****************************************************************************************
...@@ -90,7 +101,7 @@ targetNamespace="http://www.citygml.org/ade/energy/3.0" ...@@ -90,7 +101,7 @@ targetNamespace="http://www.citygml.org/ade/energy/3.0"
version="3.0" version="3.0"
> >
<annotation> <annotation>
<documentation>Energy ADE 3.0 beta 7 (2025-09-23) for CityGML 2.0</documentation> <documentation>Energy ADE 3.0 beta 8 (2025-12-15) for CityGML 2.0</documentation>
</annotation> </annotation>
<!-- All CityGML modules added manually, in case they are not written automatically by ShapeChange --> <!-- All CityGML modules added manually, in case they are not written automatically by ShapeChange -->
...@@ -181,12 +192,12 @@ version="3.0" ...@@ -181,12 +192,12 @@ version="3.0"
<!-- NOTA BENE: For CodeLists, external XML files are generated. In this XSD file, they are all assigned the type gml:CodeType --> <!-- NOTA BENE: For CodeLists, external XML files are generated. In this XSD file, they are all assigned the type gml:CodeType -->
<!-- ********************* --> <!-- ********************* -->
<!-- ********************* --> <!-- ********************* -->
<!-- Energy ADE DataTypes --> <!-- Energy ADE DataTypes Module -->
<!-- ********************* --> <!-- ********************* -->
<!-- ABSTRACT OPTICAL PROPERTY -->
<element abstract="true" name="AbstractOpticalProperty" substitutionGroup="gml:_Object" type="nrg3:AbstractOpticalProperty_Type"></element> <element abstract="true" name="AbstractOpticalProperty" substitutionGroup="gml:_Object" type="nrg3:AbstractOpticalProperty_Type"></element>
<complexType abstract="true" name="AbstractOpticalProperty_Type"> <complexType abstract="true" name="AbstractOpticalProperty_Type">
<sequence> <sequence>
...@@ -200,6 +211,25 @@ version="3.0" ...@@ -200,6 +211,25 @@ version="3.0"
</complexType> </complexType>
<!-- ABSORPTANCE -->
<element name="Absorptance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:AbsorptanceType"/>
<complexType name="AbsorptanceType">
<complexContent>
<extension base="nrg3:AbstractOpticalProperty_Type">
<sequence>
<element name="wavelengthRange" type="nrg3:WavelengthRangeType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbsorptancePropertyType">
<sequence>
<element ref="nrg3:Absorptance"/>
</sequence>
</complexType>
<!-- EMISSIVITY -->
<element name="Emissivity" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:EmissivityType"></element> <element name="Emissivity" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:EmissivityType"></element>
<complexType name="EmissivityType"> <complexType name="EmissivityType">
<complexContent> <complexContent>
...@@ -217,6 +247,7 @@ version="3.0" ...@@ -217,6 +247,7 @@ version="3.0"
</complexType> </complexType>
<!-- REFLECTANCE -->
<element name="Reflectance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:ReflectanceType"></element> <element name="Reflectance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:ReflectanceType"></element>
<complexType name="ReflectanceType"> <complexType name="ReflectanceType">
<complexContent> <complexContent>
...@@ -236,6 +267,7 @@ version="3.0" ...@@ -236,6 +267,7 @@ version="3.0"
</complexType> </complexType>
<!-- TRANSMITTANCE -->
<element name="Transmittance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:TransmittanceType"></element> <element name="Transmittance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:TransmittanceType"></element>
<complexType name="TransmittanceType"> <complexType name="TransmittanceType">
<complexContent> <complexContent>
...@@ -253,6 +285,7 @@ version="3.0" ...@@ -253,6 +285,7 @@ version="3.0"
</complexType> </complexType>
<!-- ABSTRACT QUALIFIED ATTRIBUTE -->
<element abstract="true" name="AbstractQualifiedAttribute" substitutionGroup="gml:_Object" type="nrg3:AbstractQualifiedAttributeType"></element> <element abstract="true" name="AbstractQualifiedAttribute" substitutionGroup="gml:_Object" type="nrg3:AbstractQualifiedAttributeType"></element>
<complexType abstract="true" name="AbstractQualifiedAttributeType"> <complexType abstract="true" name="AbstractQualifiedAttributeType">
<sequence> <sequence>
...@@ -268,6 +301,7 @@ version="3.0" ...@@ -268,6 +301,7 @@ version="3.0"
</complexType> </complexType>
<!-- QUALIFIED AREA -->
<element name="QualifiedArea" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedAreaType"></element> <element name="QualifiedArea" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedAreaType"></element>
<complexType name="QualifiedAreaType"> <complexType name="QualifiedAreaType">
<complexContent> <complexContent>
...@@ -285,6 +319,7 @@ version="3.0" ...@@ -285,6 +319,7 @@ version="3.0"
</complexType> </complexType>
<!-- QUALIFIED HEIGHT -->
<element name="QualifiedHeight" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedHeightType"></element> <element name="QualifiedHeight" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedHeightType"></element>
<complexType name="QualifiedHeightType"> <complexType name="QualifiedHeightType">
<complexContent> <complexContent>
...@@ -302,6 +337,7 @@ version="3.0" ...@@ -302,6 +337,7 @@ version="3.0"
</complexType> </complexType>
<!-- QUALIFIED VOLUME -->
<element name="QualifiedVolume" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedVolumeType"></element> <element name="QualifiedVolume" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedVolumeType"></element>
<complexType name="QualifiedVolumeType"> <complexType name="QualifiedVolumeType">
<complexContent> <complexContent>
...@@ -319,6 +355,7 @@ version="3.0" ...@@ -319,6 +355,7 @@ version="3.0"
</complexType> </complexType>
<!-- SUITABILITY -->
<element name="Suitability" substitutionGroup="gml:_Object" type="nrg3:SuitabilityType"/> <element name="Suitability" substitutionGroup="gml:_Object" type="nrg3:SuitabilityType"/>
<complexType name="SuitabilityType"> <complexType name="SuitabilityType">
<sequence> <sequence>
...@@ -326,12 +363,12 @@ version="3.0" ...@@ -326,12 +363,12 @@ version="3.0"
<element minOccurs="0" name="description" type="string"/> <element minOccurs="0" name="description" type="string"/>
<element name="value" type="gml:ScaleType"/> <element name="value" type="gml:ScaleType"/>
<element minOccurs="0" name="schedule" type="nrg3:AbstractSchedulePropertyType"> <element minOccurs="0" name="schedule" type="nrg3:AbstractSchedulePropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">aggregation</taggedValue> <taggedValue tag="relationType">aggregation</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="SuitabilityPropertyType"> <complexType name="SuitabilityPropertyType">
...@@ -342,18 +379,87 @@ version="3.0" ...@@ -342,18 +379,87 @@ version="3.0"
<!-- ****************************************** --> <!-- ****************************************** -->
<!-- Energy ADE Supporting classes: TimeSeries --> <!-- Energy ADE Core Module: Abstract ADE Feature -->
<!-- ****************************************** --> <!-- ****************************************** -->
<element abstract="true" name="AbstractTimeSeries" substitutionGroup="gml:_Feature" type="nrg3:AbstractTimeSeriesType"></element> <!-- ABSTRACT ADE FEATURE -->
<complexType abstract="true" name="AbstractTimeSeriesType"> <element abstract="true" name="AbstractADEFeature" substitutionGroup="gml:_Feature" type="nrg3:AbstractADEFeatureType"/>
<complexType abstract="true" name="AbstractADEFeatureType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="gml:AbstractFeatureType">
<sequence> <sequence>
<element name="acquisitionMethod" type="gml:CodeType"></element> <element minOccurs="0" name="creationDate" type="dateTime"/>
<element name="interpolationType" type="nrg3:InterpolationTypeValueType"></element> <element minOccurs="0" name="terminationDate" type="dateTime"/>
<element minOccurs="0" name="source" type="string"></element> <element maxOccurs="unbounded" minOccurs="0" name="externalReference" type="core:ExternalReferenceType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractADEFeaturePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractADEFeature"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT LAYERED CONSTRUCTION -->
<element abstract="true" name="AbstractLayeredConstruction" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:AbstractLayeredConstructionType"/>
<complexType abstract="true" name="AbstractLayeredConstructionType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractLayeredConstructionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractLayeredConstruction"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT SCHEDULE -->
<element abstract="true" name="AbstractSchedule" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:AbstractScheduleType"/>
<complexType abstract="true" name="AbstractScheduleType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="startTime" type="time"/>
<element minOccurs="0" name="startDay" type="integer"/>
<element minOccurs="0" name="startMonth" type="integer"/>
<element minOccurs="0" name="startYear" type="integer"/>
<element minOccurs="0" name="temporalExtent" type="gml:TimeIntervalLengthType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractSchedulePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractSchedule"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT TIME SERIES -->
<element abstract="true" name="AbstractTimeSeries" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:AbstractTimeSeriesType"></element>
<complexType abstract="true" name="AbstractTimeSeriesType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="acquisitionMethod" type="gml:CodeType"/>
<element name="interpolationType" type="nrg3:InterpolationTypeValueType"/>
<element minOccurs="0" name="source" type="string"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -366,6 +472,164 @@ version="3.0" ...@@ -366,6 +472,164 @@ version="3.0"
</complexType> </complexType>
<!-- DEVICE OPERATION -->
<element name="DeviceOperation" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:DeviceOperationType"></element>
<complexType name="DeviceOperationType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="yearlyGlobalEfficiency" type="double"/>
<element minOccurs="0" name="schedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DeviceOperationPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:DeviceOperation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- SENSOR DATA -->
<element name="SensorData" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:SensorDataType"></element>
<complexType name="SensorDataType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="valueType" type="gml:CodeType"></element>
<element minOccurs="0" name="yearlyValue" type="gml:MeasureType"/>
<element minOccurs="0" name="timeDependentValues" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="position" type="gml:PointPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SensorDataPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:SensorData"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT FEATURE WITH LIFESPAN -->
<element abstract="true" name="AbstractFeatureWithLifeSpan" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:AbstractFeatureWithLifeSpanType"/>
<complexType abstract="true" name="AbstractFeatureWithLifeSpanType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element minOccurs="0" name="permanentIdentifier" type="gml:CodeType"/>
<element minOccurs="0" name="validFrom" type="dateTime"/>
<element minOccurs="0" name="validTo" type="dateTime"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractFeatureWithLifeSpanPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractFeatureWithLifeSpan"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT RESOURCE -->
<element abstract="true" name="AbstractResource" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:AbstractResourceType"/>
<complexType abstract="true" name="AbstractResourceType">
<complexContent>
<extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence>
<element name="status" type="nrg3:ResourceStatusValueType"/>
<element name="operationType" type="gml:CodeType"/>
<element name="amountType" type="gml:CodeType"/>
<element minOccurs="0" name="year" type="integer"/>
<element minOccurs="0" name="amount" type="gml:MeasureType"/>
<element name="isAmountNormalized" type="boolean"/>
<element minOccurs="0" name="normalizationValue" type="gml:MeasureType"/>
<element minOccurs="0" name="normalizationParameter" type="string"/>
<element minOccurs="0" name="referencePeriod" type="gml:CodeType"/>
<element minOccurs="0" name="co2Equivalent" type="gml:MeasureType"/>
<element minOccurs="0" name="costsMoney" type="gml:MeasureType"/>
<element minOccurs="0" name="yieldsMoney" type="gml:MeasureType"/>
<element minOccurs="0" name="timeDependentAmount" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="timeDependentCosts" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="timeDependentYields" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractResourcePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractResource"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- UTILITY NETWORK CONNECTION -->
<element name="UtilityNetworkConnection" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:UtilityNetworkConnectionType"/>
<complexType name="UtilityNetworkConnectionType">
<complexContent>
<extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence>
<element name="networkType" type="gml:CodeType"/>
<element name="connectionStatus" type="nrg3:NetworkConnectionStatusValueType"/>
<element minOccurs="0" name="functionInNetwork" type="gml:CodeType"/>
<element minOccurs="0" name="usageInNetwork" type="gml:CodeType"/>
<element minOccurs="0" name="networkID" type="string"/>
<element minOccurs="0" name="networkNodeID" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="UtilityNetworkConnectionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:UtilityNetworkConnection"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ****************************************** -->
<!-- Energy ADE Time Series Module -->
<!-- ****************************************** -->
<!-- REGULAR TIME SERIES -->
<element name="RegularTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:RegularTimeSeriesType"></element> <element name="RegularTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:RegularTimeSeriesType"></element>
<complexType name="RegularTimeSeriesType"> <complexType name="RegularTimeSeriesType">
<complexContent> <complexContent>
...@@ -386,6 +650,7 @@ version="3.0" ...@@ -386,6 +650,7 @@ version="3.0"
</complexType> </complexType>
<!-- REGULAR TIME SERIES FILE -->
<element name="RegularTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:RegularTimeSeriesFileType"></element> <element name="RegularTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:RegularTimeSeriesFileType"></element>
<complexType name="RegularTimeSeriesFileType"> <complexType name="RegularTimeSeriesFileType">
<complexContent> <complexContent>
...@@ -412,6 +677,7 @@ version="3.0" ...@@ -412,6 +677,7 @@ version="3.0"
</complexType> </complexType>
<!-- TYPICAL VALUES TIME SERIES -->
<element name="TypicalValuesTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesType"></element> <element name="TypicalValuesTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesType"></element>
<complexType name="TypicalValuesTimeSeriesType"> <complexType name="TypicalValuesTimeSeriesType">
<complexContent> <complexContent>
...@@ -435,6 +701,7 @@ version="3.0" ...@@ -435,6 +701,7 @@ version="3.0"
</complexType> </complexType>
<!-- TYPICAL VALUES TIME SERIES FILE -->
<element name="TypicalValuesTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesFileType"></element> <element name="TypicalValuesTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesFileType"></element>
<complexType name="TypicalValuesTimeSeriesFileType"> <complexType name="TypicalValuesTimeSeriesFileType">
<complexContent> <complexContent>
...@@ -464,101 +731,166 @@ version="3.0" ...@@ -464,101 +731,166 @@ version="3.0"
</complexType> </complexType>
<element name="SensorConnection" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:SensorConnectionType"></element> <!-- MONTHLY TIME SERIES -->
<complexType name="SensorConnectionType"> <element name="MonthlyTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:MonthlyTimeSeriesType"/>
<complexType name="MonthlyTimeSeriesType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractTimeSeriesType"> <extension base="nrg3:AbstractTimeSeriesType">
<sequence> <sequence>
<element name="temporalExtent" type="gml:TimeIntervalLengthType"></element> <element name="temporalExtent" type="gml:TimePeriodPropertyType"/>
<element name="connectionType" type="gml:CodeType"></element> <element name="valuesList" type="gml:MeasureListType"/>
<element name="observationProperty" type="string"></element>
<element minOccurs="0" name="uom" type="gml:UnitOfMeasureType"></element>
<element minOccurs="0" name="sensorID" type="string"></element>
<element minOccurs="0" name="sensorName" type="string"></element>
<element minOccurs="0" name="observationID" type="string"></element>
<element minOccurs="0" name="datastreamID" type="string"></element>
<element minOccurs="0" name="baseURL" type="anyURI"></element>
<element minOccurs="0" name="authType" type="gml:CodeType"></element>
<element minOccurs="0" name="mqttServer" type="string"></element>
<element minOccurs="0" name="mqttTopic" type="string"></element>
<element minOccurs="0" name="linkToObservation" type="string"></element>
<element minOccurs="0" name="linkToSensorDescription" type="string"></element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="SensorConnectionPropertyType"> <complexType name="MonthlyTimeSeriesPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:SensorConnection"/> <element ref="nrg3:MonthlyTimeSeries"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ****************************************** --> <!-- MONTHLY TIME SERIES FILE -->
<!-- Energy ADE Supporting classes: Schedules --> <element name="MonthlyTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:MonthlyTimeSeriesFileType"></element>
<!-- ****************************************** --> <complexType name="MonthlyTimeSeriesFileType">
<element abstract="true" name="AbstractSchedule" substitutionGroup="gml:_Feature" type="nrg3:AbstractScheduleType"></element>
<complexType abstract="true" name="AbstractScheduleType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractTimeSeriesType">
<sequence> <sequence>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"></element> <element name="uom" type="gml:UnitOfMeasureType"></element>
<element name="type" type="gml:CodeType"/> <element name="fileURI" type="anyURI"></element>
<element minOccurs="0" name="startTime" type="time"/> <element name="temporalExtent" type="gml:TimePeriodPropertyType"></element>
<element minOccurs="0" name="startDay" type="integer"/> <element default="0" minOccurs="0" name="numberOfHeaderLines" type="integer"></element>
<element minOccurs="0" name="startMonth" type="integer"/> <element name="fieldSeparator" type="string"></element>
<element minOccurs="0" name="startYear" type="integer"/> <element default="\n" minOccurs="0" name="recordSeparator" type="string"></element>
<element minOccurs="0" name="temporalExtent" type="gml:TimeIntervalLengthType"/> <element default="." minOccurs="0" name="decimalSymbol" type="string"></element>
<element default="1" minOccurs="0" name="valueColumnNumber" type="integer"></element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="AbstractSchedulePropertyType"> <complexType name="MonthlyTimeSeriesFilePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:AbstractSchedule"/> <element ref="nrg3:MonthlyTimeSeriesFile"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="DualValueSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:DualValueScheduleType"/> <!-- TYPICAL VALUES MONTHLY TIME SERIES -->
<complexType name="DualValueScheduleType"> <element name="TypicalValuesMonthlyTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesMonthlyTimeSeriesType"/>
<complexType name="TypicalValuesMonthlyTimeSeriesType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractScheduleType"> <extension base="nrg3:AbstractTimeSeriesType">
<sequence> <sequence>
<element name="idleValue" type="gml:MeasureType"/> <element minOccurs="0" name="startMonth" type="integer"/>
<element name="usageValue" type="gml:MeasureType"/> <element name="temporalExtent" type="gml:TimeIntervalLengthType"/>
<element name="startUsageTime" type="time"/> <element name="valuesList" type="gml:MeasureListType"/>
<element name="endUsageTime" type="time"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="DualValueSchedulePropertyType"> <complexType name="TypicalValuesMonthlyTimeSeriesPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:DualValueSchedule"/> <element ref="nrg3:TypicalValuesMonthlyTimeSeries"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="AtomicSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:AtomicScheduleType"></element> <!-- TYPICAL VALUES MONTHLY TIME SERIES FILE -->
<complexType name="AtomicScheduleType"> <element name="TypicalValuesMonthlyTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesMonthlyTimeSeriesFileType"></element>
<complexType name="TypicalValuesMonthlyTimeSeriesFileType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractScheduleType"> <extension base="nrg3:AbstractTimeSeriesType">
<sequence> <sequence>
<element minOccurs="0" name="constantValue" type="gml:MeasureType"/> <element minOccurs="0" name="startMonth" type="integer"/>
<element minOccurs="0" name="timeSeries" type="nrg3:AbstractTimeSeriesPropertyType"> <element name="uom" type="gml:UnitOfMeasureType"></element>
<annotation> <element name="fileURI" type="anyURI"></element>
<appinfo> <element name="temporalExtent" type="gml:TimeIntervalLengthType"></element>
<taggedValue tag="relationType">composition</taggedValue> <element default="0" minOccurs="0" name="numberOfHeaderLines" type="integer"></element>
</appinfo> <element name="fieldSeparator" type="string"></element>
</annotation> <element default="\n" minOccurs="0" name="recordSeparator" type="string"></element>
</element> <element default="." minOccurs="0" name="decimalSymbol" type="string"></element>
</sequence> <element default="1" minOccurs="0" name="valueColumnNumber" type="integer"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="TypicalValuesMonthlyTimeSeriesFilePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:TypicalValuesMonthlyTimeSeriesFile"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- SENSOR CONNECTION -->
<element name="SensorConnection" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:SensorConnectionType"></element>
<complexType name="SensorConnectionType">
<complexContent>
<extension base="nrg3:AbstractTimeSeriesType">
<sequence>
<element name="temporalExtent" type="gml:TimeIntervalLengthType"></element>
<element name="connectionType" type="gml:CodeType"></element>
<element name="observationProperty" type="string"></element>
<element minOccurs="0" name="uom" type="gml:UnitOfMeasureType"></element>
<element minOccurs="0" name="sensorID" type="string"></element>
<element minOccurs="0" name="sensorName" type="string"></element>
<element minOccurs="0" name="observationID" type="string"></element>
<element minOccurs="0" name="datastreamID" type="string"></element>
<element minOccurs="0" name="baseURL" type="anyURI"></element>
<element minOccurs="0" name="authType" type="gml:CodeType"></element>
<element minOccurs="0" name="mqttServer" type="string"></element>
<element minOccurs="0" name="mqttTopic" type="string"></element>
<element minOccurs="0" name="linkToObservation" type="string"></element>
<element minOccurs="0" name="linkToSensorDescription" type="string"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SensorConnectionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:SensorConnection"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ****************************************** -->
<!-- Energy ADE Schedules Module -->
<!-- ****************************************** -->
<!-- ATOMIC SCHEDULE VALUE (Union) -->
<element name="AtomicScheduleValue" substitutionGroup="gml:_Object" type="nrg3:AtomicScheduleValueType"/>
<complexType name="AtomicScheduleValueType">
<choice>
<element name="constantValue" type="gml:MeasureType"/>
<element name="timeDependentValues" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</choice>
</complexType>
<complexType name="AtomicScheduleValuePropertyType">
<sequence>
<element ref="nrg3:AtomicScheduleValue"/>
</sequence>
</complexType>
<!-- ATOMIC SCHEDULE -->
<element name="AtomicSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:AtomicScheduleType"/>
<complexType name="AtomicScheduleType">
<complexContent>
<extension base="nrg3:AbstractScheduleType">
<sequence>
<element name="value" type="nrg3:AtomicScheduleValuePropertyType"/>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
...@@ -570,18 +902,41 @@ version="3.0" ...@@ -570,18 +902,41 @@ version="3.0"
</complexType> </complexType>
<!-- DUAL VALUE SCHEDULE -->
<element name="DualValueSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:DualValueScheduleType"/>
<complexType name="DualValueScheduleType">
<complexContent>
<extension base="nrg3:AbstractScheduleType">
<sequence>
<element name="idleValue" type="gml:MeasureType"/>
<element name="usageValue" type="gml:MeasureType"/>
<element name="startUsageTime" type="time"/>
<element name="endUsageTime" type="time"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DualValueSchedulePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:DualValueSchedule"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- COMPOSITE SCHEDULE -->
<element name="CompositeSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:CompositeScheduleType"></element> <element name="CompositeSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:CompositeScheduleType"></element>
<complexType name="CompositeScheduleType"> <complexType name="CompositeScheduleType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractScheduleType"> <extension base="nrg3:AbstractScheduleType">
<sequence> <sequence>
<element maxOccurs="unbounded" name="scheduleComponent" type="nrg3:ScheduleComponentPropertyType"> <element maxOccurs="unbounded" name="scheduleComponent" type="nrg3:ScheduleComponentPropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">composition</taggedValue> <taggedValue tag="relationType">composition</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -594,21 +949,22 @@ version="3.0" ...@@ -594,21 +949,22 @@ version="3.0"
</complexType> </complexType>
<element name="ScheduleComponent" substitutionGroup="gml:_Feature" type="nrg3:ScheduleComponentType"></element> <!-- SCHEDULE COMPONENT -->
<element name="ScheduleComponent" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:ScheduleComponentType"></element>
<complexType name="ScheduleComponentType"> <complexType name="ScheduleComponentType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractADEFeatureType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"/> <element name="type" type="gml:CodeType"/>
<element default="1" name="repetitions" type="integer"/> <element default="1" name="repetitions" type="integer"/>
<element minOccurs="0" name="additionalGap" type="gml:TimeIntervalLengthType"/> <element minOccurs="0" name="additionalGap" type="gml:TimeIntervalLengthType"/>
<element name="scheduleComponentMember" type="nrg3:AbstractSchedulePropertyType"> <element name="scheduleComponentMember" type="nrg3:AbstractSchedulePropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">association</taggedValue> <taggedValue tag="relationType">aggregation</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -621,6 +977,7 @@ version="3.0" ...@@ -621,6 +977,7 @@ version="3.0"
</complexType> </complexType>
<!-- SCHEDULE LIBRARY -->
<element name="ScheduleLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:ScheduleLibraryType"> <element name="ScheduleLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:ScheduleLibraryType">
<annotation> <annotation>
<appinfo> <appinfo>
...@@ -638,7 +995,7 @@ version="3.0" ...@@ -638,7 +995,7 @@ version="3.0"
<taggedValue tag="relationType">composition</taggedValue> <taggedValue tag="relationType">composition</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -652,12 +1009,13 @@ version="3.0" ...@@ -652,12 +1009,13 @@ version="3.0"
<!-- ************************ --> <!-- ************************ -->
<!-- Energy ADE Core module --> <!-- Energy ADE Core module: _CityObject -->
<!-- ************************ --> <!-- ************************ -->
<element abstract="true" name="AbstractBuildingPartition" substitutionGroup="core:_CityObject" type="nrg3:AbstractBuildingPartitionType"/> <!-- ABSTRACT CITYOBJECT SPACE -->
<complexType abstract="true" name="AbstractBuildingPartitionType"> <element abstract="true" name="AbstractCityObjectSpace" substitutionGroup="core:_CityObject" type="nrg3:AbstractCityObjectSpaceType"/>
<complexType abstract="true" name="AbstractCityObjectSpaceType">
<complexContent> <complexContent>
<extension base="core:AbstractCityObjectType"> <extension base="core:AbstractCityObjectType">
<sequence> <sequence>
...@@ -669,49 +1027,34 @@ version="3.0" ...@@ -669,49 +1027,34 @@ version="3.0"
<taggedValue tag="lod">1</taggedValue> <taggedValue tag="lod">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element minOccurs="0" name="lod2Solid" type="gml:SolidPropertyType"> <element minOccurs="0" name="lod2Solid" type="gml:SolidPropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="lod">2</taggedValue> <taggedValue tag="lod">2</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element minOccurs="0" name="lod3Solid" type="gml:SolidPropertyType"> <element minOccurs="0" name="lod3Solid" type="gml:SolidPropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="lod">3</taggedValue> <taggedValue tag="lod">3</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="AbstractBuildingPartitionPropertyType"> <complexType name="AbstractCityObjectSpacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractBuildingPartition"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractBuildingUnit" substitutionGroup="nrg3:AbstractBuildingPartition" type="nrg3:AbstractBuildingUnitType"/>
<complexType abstract="true" name="AbstractBuildingUnitType">
<complexContent>
<extension base="nrg3:AbstractBuildingPartitionType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractBuildingUnitPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:AbstractBuildingUnit"/> <element ref="nrg3:AbstractCityObjectSpace"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ABSTRACT DEVICE -->
<element abstract="true" name="AbstractDevice" substitutionGroup="core:_CityObject" type="nrg3:AbstractDeviceType"/> <element abstract="true" name="AbstractDevice" substitutionGroup="core:_CityObject" type="nrg3:AbstractDeviceType"/>
<complexType abstract="true" name="AbstractDeviceType"> <complexType abstract="true" name="AbstractDeviceType">
<complexContent> <complexContent>
...@@ -728,7 +1071,7 @@ version="3.0" ...@@ -728,7 +1071,7 @@ version="3.0"
<element minOccurs="0" name="heatDissipationLatentFraction" type="gml:ScaleType"/> <element minOccurs="0" name="heatDissipationLatentFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="heatDissipationRadiantFraction" type="gml:ScaleType"/> <element minOccurs="0" name="heatDissipationRadiantFraction" type="gml:ScaleType"/>
<element maxOccurs="unbounded" minOccurs="0" name="deviceOperation" type="nrg3:DeviceOperationPropertyType"> <element maxOccurs="unbounded" minOccurs="0" name="deviceOperation" type="nrg3:DeviceOperationPropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">aggregation</taggedValue> <taggedValue tag="relationType">aggregation</taggedValue>
</appinfo> </appinfo>
...@@ -746,6 +1089,7 @@ version="3.0" ...@@ -746,6 +1089,7 @@ version="3.0"
</complexType> </complexType>
<!-- ABSTRACT LIBRARY -->
<element abstract="true" name="AbstractLibrary" substitutionGroup="core:_CityObject" type="nrg3:AbstractLibraryType"/> <element abstract="true" name="AbstractLibrary" substitutionGroup="core:_CityObject" type="nrg3:AbstractLibraryType"/>
<complexType abstract="true" name="AbstractLibraryType"> <complexType abstract="true" name="AbstractLibraryType">
<complexContent> <complexContent>
...@@ -766,849 +1110,704 @@ version="3.0" ...@@ -766,849 +1110,704 @@ version="3.0"
</complexType> </complexType>
<element abstract="true" name="AbstractLayeredConstruction" substitutionGroup="gml:_Feature" type="nrg3:AbstractLayeredConstructionType"></element> <!-- CITYOBJECT RELATION (Manually converted) -->
<complexType abstract="true" name="AbstractLayeredConstructionType"> <element name="CityObjectRelation" substitutionGroup="gml:_Object" type="nrg3:CityObjectRelationType"></element>
<complexType name="CityObjectRelationType">
<sequence>
<element name="relationType" type="gml:CodeType"/>
<element name="relatedTo" type="nrg3:RelatedToPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="CityObjectRelationPropertyType">
<sequence>
<element minOccurs="0" ref="nrg3:CityObjectRelation"/>
</sequence>
</complexType>
<complexType name="RelatedToPropertyType">
<sequence>
<element minOccurs="0" ref="core:_CityObject"></element>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ADE _CITYOBJECT -->
<element name="permanentIdentifier" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="validFrom" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="dateTime">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="validTo" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="dateTime">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<!-- BEGIN: Manually edited -->
<element name="relatedTo" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:CityObjectRelationPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<!-- END: Manually edited type -->
<element name="device" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractDevicePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element name="layeredConstruction" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractLayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="libraryLayeredConstruction" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractLayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="resource" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractResourcePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="suitability" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:SuitabilityPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="utilityNetworkConnection" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:UtilityNetworkConnectionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="sensorData" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:SensorDataPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="referencePoint" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="gml:PointPropertyType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<!-- ************************ -->
<!-- Energy ADE Core module: _AbstractBuilding -->
<!-- ************************ -->
<!-- ENERGY PERFORMANCE CERTIFICATE -->
<element name="EnergyPerformanceCertificate" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:EnergyPerformanceCertificateType"></element>
<complexType name="EnergyPerformanceCertificateType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence/> <sequence>
<element minOccurs="0" name="value" type="gml:MeasureType"/>
<element minOccurs="0" name="certificationMethod" type="string"/>
<element name="label" type="string"></element>
<element name="type" type="gml:CodeType"></element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="AbstractLayeredConstructionPropertyType"> <complexType name="EnergyPerformanceCertificatePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:AbstractLayeredConstruction"/> <element ref="nrg3:EnergyPerformanceCertificate"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element abstract="true" name="AbstractResource" substitutionGroup="gml:_Feature" type="nrg3:AbstractResourceType"/> <!-- OCCUPANTS -->
<complexType abstract="true" name="AbstractResourceType"> <element name="Occupants" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:OccupantsType"></element>
<complexType name="OccupantsType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence> <sequence>
<element name="status" type="nrg3:ResourceStatusValueType"/>
<element name="operationType" type="gml:CodeType"/>
<element name="amountType" type="gml:CodeType"/>
<element minOccurs="0" name="year" type="integer"/>
<element minOccurs="0" name="amount" type="gml:MeasureType"/>
<element minOccurs="0" name="timeDependentAmount" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="isAmountNormalized" type="boolean"/>
<element minOccurs="0" name="normalizationValue" type="gml:MeasureType"/>
<element minOccurs="0" name="normalizationParameter" type="string"/>
<element minOccurs="0" name="co2Equivalent" type="gml:MeasureType"/>
<element minOccurs="0" name="costsMoney" type="gml:MeasureType"/>
<element minOccurs="0" name="yieldsMoney" type="gml:MeasureType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractResourcePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractResource"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractThermalZone" substitutionGroup="nrg3:AbstractBuildingPartition" type="nrg3:AbstractThermalZoneType"/>
<complexType abstract="true" name="AbstractThermalZoneType">
<complexContent>
<extension base="nrg3:AbstractBuildingPartitionType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="usageZone" type="nrg3:AbstractUsageZonePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractThermalZonePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractThermalZone"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractUsageZone" substitutionGroup="nrg3:AbstractBuildingPartition" type="nrg3:AbstractUsageZoneType"/>
<complexType abstract="true" name="AbstractUsageZoneType">
<complexContent>
<extension base="nrg3:AbstractBuildingPartitionType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="buildingUnit" type="nrg3:AbstractBuildingUnitPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractUsageZonePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractUsageZone"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="EnergyPerformanceCertificate" substitutionGroup="gml:_Feature" type="nrg3:EnergyPerformanceCertificateType"></element>
<complexType name="EnergyPerformanceCertificateType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="label" type="string"></element>
<element minOccurs="0" name="value" type="gml:MeasureType"></element>
<element minOccurs="0" name="issueDate" type="date"></element>
<element minOccurs="0" name="expirationDate" type="date"></element>
<element minOccurs="0" name="certificationMethod" type="string"></element>
<element minOccurs="0" name="certificationURI" type="anyURI">
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="EnergyPerformanceCertificatePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:EnergyPerformanceCertificate"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="RefurbishmentMeasure" substitutionGroup="gml:_Feature" type="nrg3:RefurbishmentMeasureType"></element>
<complexType name="RefurbishmentMeasureType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"></element>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="startDate" type="date"></element>
<element name="endDate" type="date"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="RefurbishmentMeasurePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:RefurbishmentMeasure"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="UtilityNetworkConnection" substitutionGroup="gml:_Feature" type="nrg3:UtilityNetworkConnectionType"></element>
<complexType name="UtilityNetworkConnectionType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="networkType" type="gml:CodeType"></element>
<element name="connectionStatus" type="nrg3:NetworkConnectionStatusValueType"></element>
<element minOccurs="0" name="functionInNetwork" type="gml:CodeType"></element>
<element minOccurs="0" name="usageInNetwork" type="gml:CodeType"></element>
<element minOccurs="0" name="networkID" type="string"></element>
<element minOccurs="0" name="networkNodeID" type="string"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="UtilityNetworkConnectionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:UtilityNetworkConnection"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="WeatherData" substitutionGroup="gml:_Feature" type="nrg3:WeatherDataType"></element>
<complexType name="WeatherDataType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"/>
<element name="type" type="gml:CodeType"/> <element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="valueType" type="gml:CodeType"/> <element minOccurs="0" name="numberOfOccupants" type="integer"/>
<element minOccurs="0" name="yearlyValue" type="gml:MeasureType"/> <element minOccurs="0" name="averageDietType" type="gml:CodeType"/>
<element minOccurs="0" name="timeDependentValues" type="nrg3:AbstractTimeSeriesPropertyType"> <element minOccurs="0" name="averageIncomeLevel" type="gml:CodeType"/>
<element minOccurs="0" name="averageInstructionLevel" type="gml:CodeType"/>
<element minOccurs="0" name="heatDissipation" type="gml:MeasureType"/>
<element minOccurs="0" name="heatDissipationConvectiveFactor" type="gml:ScaleType"/>
<element minOccurs="0" name="heatDissipationLatentFactor" type="gml:ScaleType"/>
<element minOccurs="0" name="heatDissipationRadiantFactor" type="gml:ScaleType"/>
<element minOccurs="0" name="occupancySchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">composition</taggedValue> <taggedValue tag="relationType">aggregation</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element minOccurs="0" name="position" type="gml:PointPropertyType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="WeatherDataPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:WeatherData"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ADE Extension of bldg:_AbstractBuilding -->
<element name="bdgAtticThermalStatus" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:ThermalStatusValueType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBasementThermalStatus" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:ThermalStatusValueType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgConstructionWeight" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgArea" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedAreaPropertyType"></element>
<element name="bdgHeight" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedHeightPropertyType"></element>
<element name="bdgVolume" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedVolumePropertyType"></element>
<element name="bdgIsProtected" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="boolean">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgType" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="buildingUnit" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:AbstractBuildingUnitPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="energyPerformanceCertificate" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:EnergyPerformanceCertificatePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="refurbishmentMeasure" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:RefurbishmentMeasurePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="thermalZone" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:AbstractThermalZonePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="usageZone" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:AbstractUsageZonePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<!-- BEGIN: Manually converted Association class "CityObjectRelation" -->
<element name="CityObjectRelation" substitutionGroup="gml:_Object" type="nrg3:CityObjectRelationType"></element>
<complexType name="CityObjectRelationType">
<sequence>
<element name="relationType" type="gml:CodeType"/>
<element name="relatedTo" type="nrg3:RelatedToPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="CityObjectRelationPropertyType">
<sequence>
<element minOccurs="0" ref="nrg3:CityObjectRelation"/>
</sequence>
</complexType>
<complexType name="RelatedToPropertyType">
<sequence>
<element minOccurs="0" ref="core:_CityObject"></element>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- END: Manually converted Association class "CityObjectRelation" -->
<!-- ADE Extension of core:_CityObject -->
<!-- BEGIN: Manually edited type of relatedTo property -->
<element name="relatedTo" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:CityObjectRelationPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<!-- END: Manually edited type of relatedTo property -->
<element name="device" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractDevicePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element name="layeredConstruction" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractLayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="resource" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:AbstractResourcePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="suitability" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:SuitabilityPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="utilityNetworkConnection" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:UtilityNetworkConnectionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="weatherData" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="nrg3:WeatherDataPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="referencePoint" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="gml:PointPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<!-- *************************** -->
<!-- Energy ADE Resources module -->
<!-- *************************** -->
<element name="ConstructionMaterial" substitutionGroup="nrg3:AbstractResource" type="nrg3:ConstructionMaterialType"></element>
<complexType name="ConstructionMaterialType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ConstructionMaterialPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:ConstructionMaterial"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Energy" substitutionGroup="nrg3:AbstractResource" type="nrg3:EnergyType"></element>
<complexType name="EnergyType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
<element minOccurs="0" name="energyCarrier" type="gml:CodeType"></element>
<element minOccurs="0" name="maximumLoad" type="gml:MeasureType"></element>
<element minOccurs="0" name="source" type="gml:CodeType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="EnergyPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Energy"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Food" substitutionGroup="nrg3:AbstractResource" type="nrg3:FoodType"></element>
<complexType name="FoodType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="FoodPropertyType"> <complexType name="OccupantsPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Food"/> <element ref="nrg3:Occupants"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="OtherResource" substitutionGroup="nrg3:AbstractResource" type="nrg3:OtherResourceType"></element> <!-- REFURBISHMENT MEASURE -->
<complexType name="OtherResourceType"> <element name="RefurbishmentMeasure" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:RefurbishmentMeasureType"></element>
<complexType name="RefurbishmentMeasureType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractResourceType"> <extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"/>
<element name="endUse" type="gml:CodeType"></element> <element name="status" type="gml:CodeType"/>
<element minOccurs="0" name="refurbishmentStartDate" type="date"/>
<element minOccurs="0" name="refurbishmentEndDate" type="date"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="OtherResourcePropertyType"> <complexType name="RefurbishmentMeasurePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:OtherResource"/> <element ref="nrg3:RefurbishmentMeasure"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="UrbanSpace" substitutionGroup="nrg3:AbstractResource" type="nrg3:UrbanSpaceType"></element> <!-- ABSTRACT BUILDING SPACE -->
<complexType name="UrbanSpaceType"> <element abstract="true" name="AbstractBuildingSpace" substitutionGroup="nrg3:AbstractCityObjectSpace" type="nrg3:AbstractBuildingSpaceType"/>
<complexType abstract="true" name="AbstractBuildingSpaceType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractResourceType"> <extension base="nrg3:AbstractCityObjectSpaceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element maxOccurs="unbounded" minOccurs="0" name="occupiedBy" type="nrg3:OccupantsPropertyType">
<element name="endUse" type="gml:CodeType"></element> <annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="UrbanSpacePropertyType"> <complexType name="AbstractBuildingSpacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:UrbanSpace"/> <element ref="nrg3:AbstractBuildingSpace"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="Waste" substitutionGroup="nrg3:AbstractResource" type="nrg3:WasteType"></element> <!-- BUILDING UNIT -->
<complexType name="WasteType"> <element name="BuildingUnit" substitutionGroup="nrg3:AbstractBuildingSpace" type="nrg3:BuildingUnitType"></element>
<complexType name="BuildingUnitType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractResourceType"> <extension base="nrg3:AbstractBuildingSpaceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"/>
<element name="endUse" type="gml:CodeType"></element> <element minOccurs="0" name="numberOfRooms" type="integer"></element>
<element minOccurs="0" name="isDangerous" type="boolean"></element> <element minOccurs="0" name="ownerName" type="string"></element>
<element minOccurs="0" name="isRecyclable" type="boolean"></element> <element minOccurs="0" name="ownershipType" type="gml:CodeType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="address" type="core:AddressPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="energyPerformanceCertificate" type="nrg3:EnergyPerformanceCertificatePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="refurbishmentMeasure" type="nrg3:RefurbishmentMeasurePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="WastePropertyType"> <complexType name="BuildingUnitPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Waste"/> <element ref="nrg3:BuildingUnit"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="Water" substitutionGroup="nrg3:AbstractResource" type="nrg3:WaterType"></element> <!-- ABSTRACT ZONE -->
<complexType name="WaterType"> <element abstract="true" name="AbstractZone" substitutionGroup="nrg3:AbstractBuildingSpace" type="nrg3:AbstractZoneType"></element>
<complexType abstract="true" name="AbstractZoneType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractResourceType"> <extension base="nrg3:AbstractBuildingSpaceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"/>
<element name="endUse" type="gml:CodeType"></element> <element minOccurs="0" name="isCooled" type="boolean"></element>
<element minOccurs="0" name="isHeated" type="boolean"></element>
<element minOccurs="0" name="isMechanicallyVentilated" type="boolean"/>
<element minOccurs="0" name="infiltrationRate" type="gml:MeasureType"></element>
<element minOccurs="0" name="heatCapacity" type="gml:MeasureType"/>
<element minOccurs="0" name="internalHeatGains" type="gml:MeasureType"/>
<element minOccurs="0" name="internalHeatGainsConvectiveFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="internalHeatGainsLatentFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="internalHeatGainsRadiantFraction" type="gml:ScaleType"/>
<element default="false" name="coincidesWithLod2Hull" type="boolean"/>
<element default="false" name="coincidesWithLod3Hull" type="boolean"/>
<element maxOccurs="unbounded" minOccurs="0" name="buildingUnit" type="nrg3:BuildingUnitPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="heatingSchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="coolingSchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="mechanicalVentilationSchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="zoneBoundary" type="nrg3:AbstractZoneBoundarySurfacePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="WaterPropertyType"> <complexType name="AbstractZonePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Water"/> <element ref="nrg3:AbstractZone"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ********************************************* --> <!-- ZONE -->
<!-- Energy ADE Construction and Material module --> <element name="Zone" substitutionGroup="nrg3:AbstractZone" type="nrg3:ZoneType"/>
<!-- ********************************************* --> <complexType name="ZoneType">
<element abstract="true" name="AbstractMaterial" substitutionGroup="gml:_Feature" type="nrg3:AbstractMaterialType"></element>
<complexType abstract="true" name="AbstractMaterialType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractZoneType">
<sequence> <sequence>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"></element> <element maxOccurs="unbounded" minOccurs="0" name="zonePart" type="nrg3:ZonePartPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="AbstractMaterialPropertyType"> <complexType name="ZonePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:AbstractMaterial"/> <element ref="nrg3:Zone"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="Gas" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:GasType"></element> <!-- ZONE PART -->
<complexType name="GasType"> <element name="ZonePart" substitutionGroup="nrg3:AbstractZone" type="nrg3:ZonePartType"/>
<complexType name="ZonePartType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractMaterialType"> <extension base="nrg3:AbstractZoneType">
<sequence> <sequence/>
<element default="false" minOccurs="0" name="isVentilated" type="boolean"></element>
<element minOccurs="0" name="rValue" type="gml:MeasureType"></element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="GasPropertyType"> <complexType name="ZonePartPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Gas"/> <element ref="nrg3:ZonePart"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="LayeredConstructionLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:LayeredConstructionLibraryType"> <!-- ABSTRACT ZONE BOUNDARY SURFACE -->
<annotation> <element abstract="true" name="AbstractZoneBoundarySurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:AbstractZoneBoundarySurfaceType"/>
<appinfo> <complexType abstract="true" name="AbstractZoneBoundarySurfaceType">
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="LayeredConstructionLibraryType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractLibraryType"> <extension base="bldg:AbstractBoundarySurfaceType">
<sequence> <sequence>
<element maxOccurs="unbounded" minOccurs="0" name="libraryMember" type="nrg3:AbstractLayeredConstructionPropertyType"> <element maxOccurs="unbounded" minOccurs="0" name="zoneOpening" type="nrg3:AbstractZoneOpeningPropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="relationType">composition</taggedValue> <taggedValue tag="relationType">composition</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="LayeredConstructionLibraryPropertyType"> <complexType name="AbstractZoneBoundarySurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:LayeredConstructionLibrary"/> <element ref="nrg3:AbstractZoneBoundarySurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="Layer" substitutionGroup="gml:_Feature" type="nrg3:LayerType"></element> <!-- ABSTRACT ZONE OPENING -->
<complexType name="LayerType"> <element abstract="true" name="AbstractZoneOpening" substitutionGroup="bldg:_Opening" type="nrg3:AbstractZoneOpeningType"/>
<complexType abstract="true" name="AbstractZoneOpeningType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="bldg:AbstractOpeningType">
<sequence> <sequence/>
<element name="thickness" type="gml:MeasureType"/>
<element name="material" type="nrg3:AbstractMaterialPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="LayerPropertyType"> <complexType name="AbstractZoneOpeningPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Layer"/> <element ref="nrg3:AbstractZoneOpening"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="LayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:LayeredConstructionType"></element> <!-- ZONE ATTIC FLOOR SURFACE -->
<complexType name="LayeredConstructionType"> <element name="ZoneAtticFloorSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneAtticFloorSurfaceType"/>
<complexType name="ZoneAtticFloorSurfaceType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractLayeredConstructionType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence> <sequence/>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"></element>
<element minOccurs="0" name="uValue" type="gml:MeasureType"></element>
<element minOccurs="0" name="gValue" type="gml:ScaleType"></element>
<element minOccurs="0" name="glazingRatio" type="gml:ScaleType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="emissivity" type="nrg3:EmissivityPropertyType"/>
<element maxOccurs="unbounded" minOccurs="0" name="reflectance" type="nrg3:ReflectancePropertyType"/>
<element maxOccurs="unbounded" minOccurs="0" name="transmittance" type="nrg3:TransmittancePropertyType"/>
<element maxOccurs="unbounded" minOccurs="0" name="layer" type="nrg3:LayerPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="LayeredConstructionPropertyType"> <complexType name="ZoneAtticFloorSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:LayeredConstruction"/> <element ref="nrg3:ZoneAtticFloorSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="MaterialLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:MaterialLibraryType"> <!-- ZONE ATTIC BASEMENT CEILING SURFACE -->
<annotation> <element name="ZoneBasementCeilingSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneBasementCeilingSurfaceType"/>
<appinfo> <complexType name="ZoneBasementCeilingSurfaceType">
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="MaterialLibraryType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractLibraryType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence> <sequence/>
<element maxOccurs="unbounded" minOccurs="0" name="libraryMember" type="nrg3:AbstractMaterialPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="MaterialLibraryPropertyType"> <complexType name="ZoneBasementCeilingSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:MaterialLibrary"/> <element ref="nrg3:ZoneBasementCeilingSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="ReverseLayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:ReverseLayeredConstructionType"/> <!-- ZONE CLOSURE SURFACE -->
<complexType name="ReverseLayeredConstructionType"> <element name="ZoneClosureSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneClosureSurfaceType"/>
<complexType name="ZoneClosureSurfaceType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractLayeredConstructionType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence> <sequence/>
<element name="baseLayeredConstruction" type="nrg3:LayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="ReverseLayeredConstructionPropertyType"> <complexType name="ZoneClosureSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:ReverseLayeredConstruction"/> <element ref="nrg3:ZoneClosureSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="SolidMaterial" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:SolidMaterialType"></element> <!-- ZONE EXTERIOR WALL SURFACE -->
<complexType name="SolidMaterialType"> <element name="ZoneExteriorWallSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneExteriorWallSurfaceType"/>
<complexType name="ZoneExteriorWallSurfaceType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractMaterialType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence> <sequence/>
<element minOccurs="0" name="thermalConductivity" type="gml:MeasureType"></element>
<element minOccurs="0" name="density" type="gml:MeasureType"></element>
<element minOccurs="0" name="specificHeatCapacity" type="gml:MeasureType"></element>
<element minOccurs="0" name="permeance" type="gml:MeasureType"></element>
<element minOccurs="0" name="porosity" type="gml:ScaleType"></element>
<element minOccurs="0" name="embodiedEnergy" type="gml:MeasureType"></element>
<element minOccurs="0" name="embodiedCarbon" type="gml:MeasureType"></element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="SolidMaterialPropertyType"> <complexType name="ZoneExteriorWallSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:SolidMaterial"/> <element ref="nrg3:ZoneExteriorWallSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ************************************ --> <!-- ZONE GROUND SURFACE -->
<!-- Energy ADE Building Physics module --> <element name="ZoneGroundSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneGroundSurfaceType"/>
<!-- ************************************ --> <complexType name="ZoneGroundSurfaceType">
<complexContent>
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="ZoneGroundSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:ZoneGroundSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="AtticFloorSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:AtticFloorSurfaceType"/> <!-- ZONE INTERMEDIATE FLOOR SURFACE -->
<complexType name="AtticFloorSurfaceType"> <element name="ZoneIntermediateFloorSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneIntermediateFloorSurfaceType"/>
<complexType name="ZoneIntermediateFloorSurfaceType">
<complexContent> <complexContent>
<extension base="bldg:AbstractBoundarySurfaceType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/> <sequence/>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="AtticFloorSurfacePropertyType"> <complexType name="ZoneIntermediateFloorSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:AtticFloorSurface"/> <element ref="nrg3:ZoneIntermediateFloorSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="BasementCeilingSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:BasementCeilingSurfaceType"/> <!-- ZONE ROOF SURFACE -->
<complexType name="BasementCeilingSurfaceType"> <element name="ZoneRoofSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneRoofSurfaceType"/>
<complexType name="ZoneRoofSurfaceType">
<complexContent> <complexContent>
<extension base="bldg:AbstractBoundarySurfaceType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/> <sequence/>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="BasementCeilingSurfacePropertyType"> <complexType name="ZoneRoofSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:BasementCeilingSurface"/> <element ref="nrg3:ZoneRoofSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="IntermediateFloorSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:IntermediateFloorSurfaceType"/> <!-- ZONE UNDERGROUND WALL SURFACE -->
<complexType name="IntermediateFloorSurfaceType"> <element name="ZoneUndergroundWallSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneUndergroundWallSurfaceType"/>
<complexType name="ZoneUndergroundWallSurfaceType">
<complexContent> <complexContent>
<extension base="bldg:AbstractBoundarySurfaceType"> <extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/> <sequence/>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="IntermediateFloorSurfacePropertyType"> <complexType name="ZoneUndergroundWallSurfacePropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:IntermediateFloorSurface"/> <element ref="nrg3:ZoneUndergroundWallSurface"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="PartyWallSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:PartyWallSurfaceType"/> <!-- ZONE DOOR -->
<complexType name="PartyWallSurfaceType"> <element name="ZoneDoor" substitutionGroup="nrg3:AbstractZoneOpening" type="nrg3:ZoneDoorType"/>
<complexType name="ZoneDoorType">
<complexContent> <complexContent>
<extension base="bldg:AbstractBoundarySurfaceType"> <extension base="nrg3:AbstractZoneOpeningType">
<sequence/> <sequence/>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="PartyWallSurfacePropertyType"> <complexType name="ZoneDoorPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:PartyWallSurface"/> <element ref="nrg3:ZoneDoor"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="ThermalZone" substitutionGroup="nrg3:AbstractThermalZone" type="nrg3:ThermalZoneType"></element> <!-- ZONE WINDOW -->
<complexType name="ThermalZoneType"> <element name="ZoneWindow" substitutionGroup="nrg3:AbstractZoneOpening" type="nrg3:ZoneWindowType"/>
<complexType name="ZoneWindowType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractThermalZoneType"> <extension base="nrg3:AbstractZoneOpeningType">
<sequence> <sequence/>
<element minOccurs="0" name="heatCapacity" type="gml:MeasureType"/>
<element minOccurs="0" name="infiltrationRate" type="gml:MeasureType"></element>
<element default="true" name="isCooled" type="boolean"></element>
<element default="true" name="isHeated" type="boolean"></element>
<element default="false" name="coincidesWithLod2Hull" type="boolean"/>
<element default="false" name="coincidesWithLod3Hull" type="boolean"/>
<element minOccurs="0" maxOccurs="unbounded" name="thermalBoundary" type="bldg:BoundarySurfacePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="ThermalZonePropertyType"> <complexType name="ZoneWindowPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:ThermalZone"/> <element ref="nrg3:ZoneWindow"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ADE Extension of bldg:_BoundarySurface --> <!-- ADE _ABSTRACT BUILDING -->
<element name="bdgBdrySurfAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType"> <element name="bdgHeight" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedHeightPropertyType"></element>
<element name="bdgArea" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedAreaPropertyType"></element>
<element name="bdgVolume" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:QualifiedVolumePropertyType"></element>
<element name="bdgOwnerName" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="string">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgOwnershipType" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgAtticThermalStatus" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:ThermalStatusValueType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType"> <element name="bdgBasementThermalStatus" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:ThermalStatusValueType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfHeatCapacity" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:MeasureType"> <element name="bdgConstructionWeight" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType"> <element name="bdgIsProtected" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="boolean">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgType" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="occupiedBy" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:OccupantsPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element name="buildingUnit" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:BuildingUnitPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="zone" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:AbstractZonePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="energyPerformanceCertificate" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:EnergyPerformanceCertificatePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element name="refurbishmentMeasure" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:RefurbishmentMeasurePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<!-- ADE _BOUNDARY SURFACE -->
<element name="bdgBdrySurfIsShared" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="boolean">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfThickness" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:LengthType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfIsAdiabatic" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="boolean"> <element name="bdgBdrySurfTotalSurfaceArea" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AreaType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
...@@ -1629,21 +1828,35 @@ version="3.0" ...@@ -1629,21 +1828,35 @@ version="3.0"
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfSkyViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType"> <element name="bdgBdrySurfHeatCapacity" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:MeasureType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfThickness" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:LengthType"> <element name="bdgBdrySurfAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgBdrySurfTotalSurfaceArea" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AreaType"> <element name="bdgBdrySurfInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfSkyViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
...@@ -1652,7 +1865,7 @@ version="3.0" ...@@ -1652,7 +1865,7 @@ version="3.0"
</element> </element>
<!-- ADE Extension of bldg:_AbstractOpening --> <!-- ADE _OPENING -->
<element name="bdgOpnArea" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AreaType"> <element name="bdgOpnArea" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AreaType">
<annotation> <annotation>
<appinfo> <appinfo>
...@@ -1660,21 +1873,21 @@ version="3.0" ...@@ -1660,21 +1873,21 @@ version="3.0"
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgOpnAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType"> <element name="bdgOpnInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgOpnGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:ScaleType"> <element name="bdgOpnAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element name="bdgOpnInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType"> <element name="bdgOpnGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:ScaleType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="maxOccurs">1</taggedValue> <taggedValue tag="maxOccurs">1</taggedValue>
...@@ -1691,149 +1904,161 @@ version="3.0" ...@@ -1691,149 +1904,161 @@ version="3.0"
<!-- *************************** --> <!-- *************************** -->
<!-- Energy ADE Occupancy module --> <!-- Energy ADE Resources module -->
<!-- *************************** --> <!-- *************************** -->
<element name="BuildingUnit" substitutionGroup="nrg3:AbstractBuildingUnit" type="nrg3:BuildingUnitType"></element> <!-- CONSTRUCTION MATERIAL -->
<complexType name="BuildingUnitType"> <element name="ConstructionMaterial" substitutionGroup="nrg3:AbstractResource" type="nrg3:ConstructionMaterialType"></element>
<complexType name="ConstructionMaterialType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractBuildingUnitType"> <extension base="nrg3:AbstractResourceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"/> <element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="numberOfRooms" type="integer"></element> <element name="endUse" type="gml:CodeType"></element>
<element minOccurs="0" name="ownerName" type="string"></element>
<element minOccurs="0" name="ownershipType" type="gml:CodeType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="address" type="core:AddressPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="energyPerformanceCertificate" type="nrg3:EnergyPerformanceCertificatePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="refurbishmentMeasure" type="nrg3:RefurbishmentMeasurePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="occupiedBy" type="nrg3:OccupantsPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="BuildingUnitPropertyType"> <complexType name="ConstructionMaterialPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:BuildingUnit"/> <element ref="nrg3:ConstructionMaterial"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="Occupants" substitutionGroup="gml:_Feature" type="nrg3:OccupantsType"></element> <!-- ENERGY -->
<complexType name="OccupantsType"> <element name="Energy" substitutionGroup="nrg3:AbstractResource" type="nrg3:EnergyType"></element>
<complexType name="EnergyType">
<complexContent> <complexContent>
<extension base="gml:AbstractFeatureType"> <extension base="nrg3:AbstractResourceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="numberOfOccupants" type="integer"></element> <element name="endUse" type="gml:CodeType"></element>
<element minOccurs="0" name="heatDissipation" type="gml:MeasureType"/> <element minOccurs="0" name="energyCarrier" type="gml:CodeType"></element>
<element minOccurs="0" name="heatDissipationConvectiveFraction" type="gml:ScaleType"/> <element minOccurs="0" name="maximumLoad" type="gml:MeasureType"></element>
<element minOccurs="0" name="heatDissipationLatentFraction" type="gml:ScaleType"/> <element minOccurs="0" name="source" type="gml:CodeType"></element>
<element minOccurs="0" name="heatDissipationRadiantFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="occupancyRate" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element minOccurs="0" name="averageDietType" type="gml:CodeType"/>
<element minOccurs="0" name="averageIncomeLevel" type="gml:CodeType"/>
<element minOccurs="0" name="averageInstructionLevel" type="gml:CodeType"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="OccupantsPropertyType"> <complexType name="EnergyPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:Occupants"/> <element ref="nrg3:Energy"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<element name="UsageZone" substitutionGroup="nrg3:AbstractUsageZone" type="nrg3:UsageZoneType"></element> <!-- FOOD -->
<complexType name="UsageZoneType"> <element name="Food" substitutionGroup="nrg3:AbstractResource" type="nrg3:FoodType"></element>
<complexType name="FoodType">
<complexContent> <complexContent>
<extension base="nrg3:AbstractUsageZoneType"> <extension base="nrg3:AbstractResourceType">
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="isPrimary" type="boolean"></element> <element name="endUse" type="gml:CodeType"></element>
<element minOccurs="0" name="numberOfBuildingUnits" type="integer"></element> </sequence>
<element minOccurs="0" name="internalHeatGains" type="gml:MeasureType"></element> </extension>
<element minOccurs="0" name="internalHeatGainsConvectiveFraction" type="gml:ScaleType"></element> </complexContent>
<element minOccurs="0" name="internalHeatGainsLatentFraction" type="gml:ScaleType"></element> </complexType>
<element minOccurs="0" name="internalHeatGainsRadiantFraction" type="gml:ScaleType"></element> <complexType name="FoodPropertyType">
<element minOccurs="0" name="coolingSchedule" type="nrg3:AbstractSchedulePropertyType"> <sequence minOccurs="0">
<annotation> <element ref="nrg3:Food"/>
<appinfo> </sequence>
<taggedValue tag="relationType">aggregation</taggedValue> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</appinfo> </complexType>
</annotation>
</element>
<element minOccurs="0" name="heatingSchedule" type="nrg3:AbstractSchedulePropertyType"> <!-- OTHER RESOURCE -->
<annotation> <element name="OtherResource" substitutionGroup="nrg3:AbstractResource" type="nrg3:OtherResourceType"></element>
<appinfo> <complexType name="OtherResourceType">
<taggedValue tag="relationType">aggregation</taggedValue> <complexContent>
</appinfo> <extension base="nrg3:AbstractResourceType">
</annotation> <sequence>
</element> <element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="ventilationSchedule" type="nrg3:AbstractSchedulePropertyType"> <element name="endUse" type="gml:CodeType"></element>
<annotation> </sequence>
<appinfo> </extension>
<taggedValue tag="relationType">aggregation</taggedValue> </complexContent>
</appinfo> </complexType>
</annotation> <complexType name="OtherResourcePropertyType">
</element> <sequence minOccurs="0">
<element maxOccurs="unbounded" minOccurs="0" name="occupiedBy" type="nrg3:OccupantsPropertyType"> <element ref="nrg3:OtherResource"/>
<annotation> </sequence>
<appinfo> <attributeGroup ref="gml:AssociationAttributeGroup"/>
<taggedValue tag="relationType">aggregation</taggedValue> </complexType>
</appinfo>
</annotation>
</element> <!-- URBAN SPACE -->
<element name="UrbanSpace" substitutionGroup="nrg3:AbstractResource" type="nrg3:UrbanSpaceType"></element>
<complexType name="UrbanSpaceType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="UrbanSpacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:UrbanSpace"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- WASTE -->
<element name="Waste" substitutionGroup="nrg3:AbstractResource" type="nrg3:WasteType"></element>
<complexType name="WasteType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
<element minOccurs="0" name="isDangerous" type="boolean"></element>
<element minOccurs="0" name="isRecyclable" type="boolean"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="WastePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Waste"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- WATER -->
<element name="Water" substitutionGroup="nrg3:AbstractResource" type="nrg3:WaterType"></element>
<complexType name="WaterType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
</complexType> </complexType>
<complexType name="UsageZonePropertyType"> <complexType name="WaterPropertyType">
<sequence minOccurs="0"> <sequence minOccurs="0">
<element ref="nrg3:UsageZone"/> <element ref="nrg3:Water"/>
</sequence> </sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- ********************************* --> <!-- ********************************* -->
<!-- Energy ADE Devices module --> <!-- Energy ADE Devices Module -->
<!-- ******************************** --> <!-- ******************************** -->
<!-- ABSTRACT SOLAR COLLECTOR -->
<element abstract="true" name="AbstractSolarCollector" substitutionGroup="nrg3:AbstractDevice" type="nrg3:AbstractSolarCollectorType"></element> <element abstract="true" name="AbstractSolarCollector" substitutionGroup="nrg3:AbstractDevice" type="nrg3:AbstractSolarCollectorType"></element>
<complexType abstract="true" name="AbstractSolarCollectorType"> <complexType abstract="true" name="AbstractSolarCollectorType">
<complexContent> <complexContent>
...@@ -1849,14 +2074,14 @@ version="3.0" ...@@ -1849,14 +2074,14 @@ version="3.0"
<taggedValue tag="lod">2</taggedValue> <taggedValue tag="lod">2</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<element minOccurs="0" name="lod3MultiSurface" type="gml:MultiSurfacePropertyType"> <element minOccurs="0" name="lod3MultiSurface" type="gml:MultiSurfacePropertyType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="lod">3</taggedValue> <taggedValue tag="lod">3</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -1869,6 +2094,7 @@ version="3.0" ...@@ -1869,6 +2094,7 @@ version="3.0"
</complexType> </complexType>
<!-- BOILER -->
<element name="Boiler" substitutionGroup="nrg3:AbstractDevice" type="nrg3:BoilerType"></element> <element name="Boiler" substitutionGroup="nrg3:AbstractDevice" type="nrg3:BoilerType"></element>
<complexType name="BoilerType"> <complexType name="BoilerType">
<complexContent> <complexContent>
...@@ -1887,26 +2113,7 @@ version="3.0" ...@@ -1887,26 +2113,7 @@ version="3.0"
</complexType> </complexType>
<element name="DeviceOperation" substitutionGroup="gml:_Feature" type="nrg3:DeviceOperationType"></element> <!-- ELECTRICAL STORAGE DEVICE -->
<complexType name="DeviceOperationType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="yearlyGlobalEfficiency" type="double"/>
<element minOccurs="0" name="schedule" type="nrg3:AbstractSchedulePropertyType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DeviceOperationPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:DeviceOperation"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="ElectricalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ElectricalStorageDeviceType"/> <element name="ElectricalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ElectricalStorageDeviceType"/>
<complexType name="ElectricalStorageDeviceType"> <complexType name="ElectricalStorageDeviceType">
<complexContent> <complexContent>
...@@ -1926,6 +2133,7 @@ version="3.0" ...@@ -1926,6 +2133,7 @@ version="3.0"
</complexType> </complexType>
<!-- GENERIC DEVICE -->
<element name="GenericDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericDeviceType"/> <element name="GenericDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericDeviceType"/>
<complexType name="GenericDeviceType"> <complexType name="GenericDeviceType">
<complexContent> <complexContent>
...@@ -1942,6 +2150,7 @@ version="3.0" ...@@ -1942,6 +2150,7 @@ version="3.0"
</complexType> </complexType>
<!-- GENERIC ELECTRICAL DEVICE -->
<element name="GenericElectricalDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericElectricalDeviceType"/> <element name="GenericElectricalDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericElectricalDeviceType"/>
<complexType name="GenericElectricalDeviceType"> <complexType name="GenericElectricalDeviceType">
<complexContent> <complexContent>
...@@ -1958,6 +2167,7 @@ version="3.0" ...@@ -1958,6 +2167,7 @@ version="3.0"
</complexType> </complexType>
<!-- GENERIC SOLAR COLLECTOR -->
<element name="GenericSolarCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:GenericSolarCollectorType"/> <element name="GenericSolarCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:GenericSolarCollectorType"/>
<complexType name="GenericSolarCollectorType"> <complexType name="GenericSolarCollectorType">
<complexContent> <complexContent>
...@@ -1974,6 +2184,24 @@ version="3.0" ...@@ -1974,6 +2184,24 @@ version="3.0"
</complexType> </complexType>
<!-- GENERIC STORAGE DEVICE -->
<element name="GenericStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericStorageDeviceType"/>
<complexType name="GenericStorageDeviceType">
<complexContent>
<extension base="nrg3:AbstractDeviceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GenericStorageDevicePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:GenericStorageDevice"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- HEAT PUMP -->
<element name="HeatPump" substitutionGroup="nrg3:AbstractDevice" type="nrg3:HeatPumpType"/> <element name="HeatPump" substitutionGroup="nrg3:AbstractDevice" type="nrg3:HeatPumpType"/>
<complexType name="HeatPumpType"> <complexType name="HeatPumpType">
<complexContent> <complexContent>
...@@ -1994,6 +2222,7 @@ version="3.0" ...@@ -1994,6 +2222,7 @@ version="3.0"
</complexType> </complexType>
<!-- LIGHTING DEVICE -->
<element name="LightingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:LightingDeviceType"/> <element name="LightingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:LightingDeviceType"/>
<complexType name="LightingDeviceType"> <complexType name="LightingDeviceType">
<complexContent> <complexContent>
...@@ -2010,6 +2239,7 @@ version="3.0" ...@@ -2010,6 +2239,7 @@ version="3.0"
</complexType> </complexType>
<!-- MOVABLE SHADING DEVICE -->
<element name="MovableShadingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:MovableShadingDeviceType"/> <element name="MovableShadingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:MovableShadingDeviceType"/>
<complexType name="MovableShadingDeviceType"> <complexType name="MovableShadingDeviceType">
<complexContent> <complexContent>
...@@ -2031,6 +2261,7 @@ version="3.0" ...@@ -2031,6 +2261,7 @@ version="3.0"
</complexType> </complexType>
<!-- PHOTOVOLTAIC COLLECTOR -->
<element name="PhotovoltaicCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicCollectorType"/> <element name="PhotovoltaicCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicCollectorType"/>
<complexType name="PhotovoltaicCollectorType"> <complexType name="PhotovoltaicCollectorType">
<complexContent> <complexContent>
...@@ -2049,6 +2280,7 @@ version="3.0" ...@@ -2049,6 +2280,7 @@ version="3.0"
</complexType> </complexType>
<!-- PHOTOVOLTAIC THERMAL COLLECTOR -->
<element name="PhotovoltaicThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicThermalCollectorType"></element> <element name="PhotovoltaicThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicThermalCollectorType"></element>
<complexType name="PhotovoltaicThermalCollectorType"> <complexType name="PhotovoltaicThermalCollectorType">
<complexContent> <complexContent>
...@@ -2071,6 +2303,7 @@ version="3.0" ...@@ -2071,6 +2303,7 @@ version="3.0"
</complexType> </complexType>
<!-- SOLAR THERMAL COLLECTOR -->
<element name="SolarThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:SolarThermalCollectorType"></element> <element name="SolarThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:SolarThermalCollectorType"></element>
<complexType name="SolarThermalCollectorType"> <complexType name="SolarThermalCollectorType">
<complexContent> <complexContent>
...@@ -2092,6 +2325,7 @@ version="3.0" ...@@ -2092,6 +2325,7 @@ version="3.0"
</complexType> </complexType>
<!-- THERMAL STORAGE DEVICE -->
<element name="ThermalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ThermalStorageDeviceType"/> <element name="ThermalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ThermalStorageDeviceType"/>
<complexType name="ThermalStorageDeviceType"> <complexType name="ThermalStorageDeviceType">
<complexContent> <complexContent>
...@@ -2114,10 +2348,11 @@ version="3.0" ...@@ -2114,10 +2348,11 @@ version="3.0"
<!-- *************************************** --> <!-- *************************************** -->
<!-- Energy ADE Urban Function Area module --> <!-- Energy ADE Urban Function Area Module -->
<!-- *************************************** --> <!-- *************************************** -->
<!-- URBAN FUNCTION AREA -->
<element name="UrbanFunctionArea" substitutionGroup="grp:CityObjectGroup" type="nrg3:UrbanFunctionAreaType"> <element name="UrbanFunctionArea" substitutionGroup="grp:CityObjectGroup" type="nrg3:UrbanFunctionAreaType">
<annotation> <annotation>
<appinfo> <appinfo>
...@@ -2131,6 +2366,7 @@ version="3.0" ...@@ -2131,6 +2366,7 @@ version="3.0"
<sequence> <sequence>
<element name="type" type="gml:CodeType"></element> <element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="code" type="gml:CodeType"></element> <element minOccurs="0" name="code" type="gml:CodeType"></element>
<element minOccurs="0" name="area" type="gml:MeasureType"/>
</sequence> </sequence>
</extension> </extension>
</complexContent> </complexContent>
...@@ -2144,16 +2380,17 @@ version="3.0" ...@@ -2144,16 +2380,17 @@ version="3.0"
<!-- ********************************* --> <!-- ********************************* -->
<!-- Energy ADE WeatherStation module --> <!-- Energy ADE WeatherStation Module -->
<!-- ********************************* --> <!-- ********************************* -->
<!-- WEATHER STATION -->
<element name="WeatherStation" substitutionGroup="core:_CityObject" type="nrg3:WeatherStationType"> <element name="WeatherStation" substitutionGroup="core:_CityObject" type="nrg3:WeatherStationType">
<annotation> <annotation>
<appinfo> <appinfo>
<taggedValue tag="topLevel">true</taggedValue> <taggedValue tag="topLevel">true</taggedValue>
</appinfo> </appinfo>
</annotation> </annotation>
</element> </element>
<complexType name="WeatherStationType"> <complexType name="WeatherStationType">
<complexContent> <complexContent>
...@@ -2169,4 +2406,266 @@ version="3.0" ...@@ -2169,4 +2406,266 @@ version="3.0"
<attributeGroup ref="gml:AssociationAttributeGroup"/> <attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType> </complexType>
<!-- WEATHER DATA -->
<element name="WeatherData" substitutionGroup="nrg3:SensorData" type="nrg3:WeatherDataType"/>
<complexType name="WeatherDataType">
<complexContent>
<extension base="nrg3:SensorDataType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="WeatherDataPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:WeatherData"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ********************************************* -->
<!-- Energy ADE Construction and Material module -->
<!-- ********************************************* -->
<!-- ABSTRACT MATERIAL -->
<element abstract="true" name="AbstractMaterial" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:AbstractMaterialType"></element>
<complexType abstract="true" name="AbstractMaterialType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractMaterialPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractMaterial"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- LAYERED CONSTRUCTION LIBRARY -->
<element name="LayeredConstructionLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:LayeredConstructionLibraryType">
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="LayeredConstructionLibraryType">
<complexContent>
<extension base="nrg3:AbstractLibraryType">
<sequence>
<element minOccurs="1" maxOccurs="unbounded" name="libraryMember" type="nrg3:AbstractLayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="LayeredConstructionLibraryPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:LayeredConstructionLibrary"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- LAYER -->
<element name="Layer" substitutionGroup="nrg3:AbstractADEFeature" type="nrg3:LayerType"></element>
<complexType name="LayerType">
<complexContent>
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="thickness" type="gml:MeasureType"/>
<element name="material" type="nrg3:AbstractMaterialPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="LayerPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Layer"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- LAYERED CONSTRUCTION -->
<element name="LayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:LayeredConstructionType"></element>
<complexType name="LayeredConstructionType">
<complexContent>
<extension base="nrg3:AbstractLayeredConstructionType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="uValue" type="gml:MeasureType"></element>
<element minOccurs="0" name="gValue" type="gml:ScaleType"></element>
<element minOccurs="0" name="glazingRatio" type="gml:ScaleType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="absorptance" type="nrg3:AbsorptancePropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="emissivity" type="nrg3:EmissivityPropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="reflectance" type="nrg3:ReflectancePropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="transmittance" type="nrg3:TransmittancePropertyType"></element>
<element minOccurs="0" name="insideConvectionCoefficient" type="gml:MeasureType"/>
<element minOccurs="0" name="outsideConvectionCoefficient" type="gml:MeasureType"/>
<element maxOccurs="unbounded" minOccurs="0" name="layer" type="nrg3:LayerPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="LayeredConstructionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:LayeredConstruction"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- MATERIAL LIBRARY -->
<element name="MaterialLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:MaterialLibraryType">
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="MaterialLibraryType">
<complexContent>
<extension base="nrg3:AbstractLibraryType">
<sequence>
<element minOccurs="1" maxOccurs="unbounded" name="libraryMember" type="nrg3:AbstractMaterialPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="MaterialLibraryPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:MaterialLibrary"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- REVERSE LAYERED CONSTRUCTION -->
<element name="ReverseLayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:ReverseLayeredConstructionType"/>
<complexType name="ReverseLayeredConstructionType">
<complexContent>
<extension base="nrg3:AbstractLayeredConstructionType">
<sequence>
<element name="baseLayeredConstruction" type="nrg3:LayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ReverseLayeredConstructionPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:ReverseLayeredConstruction"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- GAS -->
<element name="Gas" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:GasType"></element>
<complexType name="GasType">
<complexContent>
<extension base="nrg3:AbstractMaterialType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element default="false" minOccurs="0" name="isVentilated" type="boolean"></element>
<element minOccurs="0" name="rValue" type="gml:MeasureType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="GasPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Gas"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- LIQUID -->
<element name="Liquid" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:LiquidType"/>
<complexType name="LiquidType">
<complexContent>
<extension base="nrg3:AbstractMaterialType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="thermalConductivity" type="gml:MeasureType"/>
<element minOccurs="0" name="density" type="gml:MeasureType"/>
<element minOccurs="0" name="specificHeatCapacity" type="gml:MeasureType"/>
<element minOccurs="0" name="viscosity" type="gml:MeasureType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="LiquidPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Liquid"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- SOLID MATERIAL -->
<element name="SolidMaterial" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:SolidMaterialType"> </element>
<complexType name="SolidMaterialType">
<complexContent>
<extension base="nrg3:AbstractMaterialType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element name="isTransparent" type="boolean"/>
<element maxOccurs="unbounded" minOccurs="0" name="absorptance" type="nrg3:AbsorptancePropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="emissivity" type="nrg3:EmissivityPropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="reflectance" type="nrg3:ReflectancePropertyType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="transmittance" type="nrg3:TransmittancePropertyType"></element>
<element minOccurs="0" name="porosity" type="gml:ScaleType"/>
<element minOccurs="0" name="thermalConductivity" type="gml:MeasureType"></element>
<element minOccurs="0" name="density" type="gml:MeasureType"></element>
<element minOccurs="0" name="permeance" type="gml:MeasureType"></element>
<element minOccurs="0" name="specificHeatCapacity" type="gml:MeasureType"></element>
<element minOccurs="0" name="embodiedEnergy" type="gml:MeasureType"></element>
<element minOccurs="0" name="embodiedCarbon" type="gml:MeasureType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SolidMaterialPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:SolidMaterial"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
</schema> </schema>
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment