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 @@
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
successively manually edited, annotated by means of additional tags, and restructured.
......@@ -30,39 +30,50 @@ ADDITIONAL NOTES / MEMORANDUM:
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
follow the standard prefix rules. I.e.:
is -> must be changed to:
_BoundarySurfaceType -> AbstractBoundarySurfaceType
_OpeningType -> AbstractOpeningType
(not needed)
_BoundarySurfacePropertyType -> BoundarySurfacePropertyType
_OpeningPropertyType -> OpeningPropertyType
The additional tagged values are explained here:
https://3dcitydb-docs.readthedocs.io/en/latest/plugins/ade-manager/tagged-values.html
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="relationType">association | aggregation | composition</taggedValue>
<taggedValue tag="relationType">association | aggregation | composition</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
<taggedValue tag="minOccurs">integer</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">integer | unbounded</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="lod">0 | 1 | 2 | 3 | 4</taggedValue>
<taggedValue tag="lod">0 | 1 | 2 | 3 | 4</taggedValue>
</appinfo>
</annotation>
<annotation>
<appinfo>
<taggedValue tag="ignore">true | false</taggedValue>
<taggedValue tag="ignore">true | false</taggedValue>
</appinfo>
</annotation>
****************************************************************************************
......@@ -90,7 +101,7 @@ targetNamespace="http://www.citygml.org/ade/energy/3.0"
version="3.0"
>
<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>
<!-- All CityGML modules added manually, in case they are not written automatically by ShapeChange -->
......@@ -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 -->
<!-- ********************* -->
<!-- ********************* -->
<!-- Energy ADE DataTypes -->
<!-- Energy ADE DataTypes Module -->
<!-- ********************* -->
<!-- ABSTRACT OPTICAL PROPERTY -->
<element abstract="true" name="AbstractOpticalProperty" substitutionGroup="gml:_Object" type="nrg3:AbstractOpticalProperty_Type"></element>
<complexType abstract="true" name="AbstractOpticalProperty_Type">
<sequence>
......@@ -200,6 +211,25 @@ version="3.0"
</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>
<complexType name="EmissivityType">
<complexContent>
......@@ -217,6 +247,7 @@ version="3.0"
</complexType>
<!-- REFLECTANCE -->
<element name="Reflectance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:ReflectanceType"></element>
<complexType name="ReflectanceType">
<complexContent>
......@@ -236,6 +267,7 @@ version="3.0"
</complexType>
<!-- TRANSMITTANCE -->
<element name="Transmittance" substitutionGroup="nrg3:AbstractOpticalProperty" type="nrg3:TransmittanceType"></element>
<complexType name="TransmittanceType">
<complexContent>
......@@ -253,6 +285,7 @@ version="3.0"
</complexType>
<!-- ABSTRACT QUALIFIED ATTRIBUTE -->
<element abstract="true" name="AbstractQualifiedAttribute" substitutionGroup="gml:_Object" type="nrg3:AbstractQualifiedAttributeType"></element>
<complexType abstract="true" name="AbstractQualifiedAttributeType">
<sequence>
......@@ -268,6 +301,7 @@ version="3.0"
</complexType>
<!-- QUALIFIED AREA -->
<element name="QualifiedArea" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedAreaType"></element>
<complexType name="QualifiedAreaType">
<complexContent>
......@@ -285,6 +319,7 @@ version="3.0"
</complexType>
<!-- QUALIFIED HEIGHT -->
<element name="QualifiedHeight" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedHeightType"></element>
<complexType name="QualifiedHeightType">
<complexContent>
......@@ -302,6 +337,7 @@ version="3.0"
</complexType>
<!-- QUALIFIED VOLUME -->
<element name="QualifiedVolume" substitutionGroup="nrg3:AbstractQualifiedAttribute" type="nrg3:QualifiedVolumeType"></element>
<complexType name="QualifiedVolumeType">
<complexContent>
......@@ -319,6 +355,7 @@ version="3.0"
</complexType>
<!-- SUITABILITY -->
<element name="Suitability" substitutionGroup="gml:_Object" type="nrg3:SuitabilityType"/>
<complexType name="SuitabilityType">
<sequence>
......@@ -326,12 +363,12 @@ version="3.0"
<element minOccurs="0" name="description" type="string"/>
<element name="value" type="gml:ScaleType"/>
<element minOccurs="0" name="schedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="SuitabilityPropertyType">
......@@ -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>
<complexType abstract="true" name="AbstractTimeSeriesType">
<!-- ABSTRACT ADE FEATURE -->
<element abstract="true" name="AbstractADEFeature" substitutionGroup="gml:_Feature" type="nrg3:AbstractADEFeatureType"/>
<complexType abstract="true" name="AbstractADEFeatureType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<sequence>
<element name="acquisitionMethod" type="gml:CodeType"></element>
<element name="interpolationType" type="nrg3:InterpolationTypeValueType"></element>
<element minOccurs="0" name="source" type="string"></element>
<element minOccurs="0" name="creationDate" type="dateTime"/>
<element minOccurs="0" name="terminationDate" type="dateTime"/>
<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>
</extension>
</complexContent>
......@@ -366,6 +472,164 @@ version="3.0"
</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>
<complexType name="RegularTimeSeriesType">
<complexContent>
......@@ -386,6 +650,7 @@ version="3.0"
</complexType>
<!-- REGULAR TIME SERIES FILE -->
<element name="RegularTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:RegularTimeSeriesFileType"></element>
<complexType name="RegularTimeSeriesFileType">
<complexContent>
......@@ -412,6 +677,7 @@ version="3.0"
</complexType>
<!-- TYPICAL VALUES TIME SERIES -->
<element name="TypicalValuesTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesType"></element>
<complexType name="TypicalValuesTimeSeriesType">
<complexContent>
......@@ -435,6 +701,7 @@ version="3.0"
</complexType>
<!-- TYPICAL VALUES TIME SERIES FILE -->
<element name="TypicalValuesTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesTimeSeriesFileType"></element>
<complexType name="TypicalValuesTimeSeriesFileType">
<complexContent>
......@@ -464,101 +731,166 @@ version="3.0"
</complexType>
<element name="SensorConnection" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:SensorConnectionType"></element>
<complexType name="SensorConnectionType">
<!-- MONTHLY TIME SERIES -->
<element name="MonthlyTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:MonthlyTimeSeriesType"/>
<complexType name="MonthlyTimeSeriesType">
<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>
<element name="temporalExtent" type="gml:TimePeriodPropertyType"/>
<element name="valuesList" type="gml:MeasureListType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SensorConnectionPropertyType">
<complexType name="MonthlyTimeSeriesPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:SensorConnection"/>
<element ref="nrg3:MonthlyTimeSeries"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ****************************************** -->
<!-- Energy ADE Supporting classes: Schedules -->
<!-- ****************************************** -->
<element abstract="true" name="AbstractSchedule" substitutionGroup="gml:_Feature" type="nrg3:AbstractScheduleType"></element>
<complexType abstract="true" name="AbstractScheduleType">
<!-- MONTHLY TIME SERIES FILE -->
<element name="MonthlyTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:MonthlyTimeSeriesFileType"></element>
<complexType name="MonthlyTimeSeriesFileType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<extension base="nrg3:AbstractTimeSeriesType">
<sequence>
<element minOccurs="0" name="libraryCode" type="gml:CodeType"></element>
<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"/>
<element name="uom" type="gml:UnitOfMeasureType"></element>
<element name="fileURI" type="anyURI"></element>
<element name="temporalExtent" type="gml:TimePeriodPropertyType"></element>
<element default="0" minOccurs="0" name="numberOfHeaderLines" type="integer"></element>
<element name="fieldSeparator" type="string"></element>
<element default="\n" minOccurs="0" name="recordSeparator" type="string"></element>
<element default="." minOccurs="0" name="decimalSymbol" type="string"></element>
<element default="1" minOccurs="0" name="valueColumnNumber" type="integer"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractSchedulePropertyType">
<complexType name="MonthlyTimeSeriesFilePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractSchedule"/>
<element ref="nrg3:MonthlyTimeSeriesFile"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="DualValueSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:DualValueScheduleType"/>
<complexType name="DualValueScheduleType">
<!-- TYPICAL VALUES MONTHLY TIME SERIES -->
<element name="TypicalValuesMonthlyTimeSeries" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesMonthlyTimeSeriesType"/>
<complexType name="TypicalValuesMonthlyTimeSeriesType">
<complexContent>
<extension base="nrg3:AbstractScheduleType">
<extension base="nrg3:AbstractTimeSeriesType">
<sequence>
<element name="idleValue" type="gml:MeasureType"/>
<element name="usageValue" type="gml:MeasureType"/>
<element name="startUsageTime" type="time"/>
<element name="endUsageTime" type="time"/>
<element minOccurs="0" name="startMonth" type="integer"/>
<element name="temporalExtent" type="gml:TimeIntervalLengthType"/>
<element name="valuesList" type="gml:MeasureListType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="DualValueSchedulePropertyType">
<complexType name="TypicalValuesMonthlyTimeSeriesPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:DualValueSchedule"/>
<element ref="nrg3:TypicalValuesMonthlyTimeSeries"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="AtomicSchedule" substitutionGroup="nrg3:AbstractSchedule" type="nrg3:AtomicScheduleType"></element>
<complexType name="AtomicScheduleType">
<!-- TYPICAL VALUES MONTHLY TIME SERIES FILE -->
<element name="TypicalValuesMonthlyTimeSeriesFile" substitutionGroup="nrg3:AbstractTimeSeries" type="nrg3:TypicalValuesMonthlyTimeSeriesFileType"></element>
<complexType name="TypicalValuesMonthlyTimeSeriesFileType">
<complexContent>
<extension base="nrg3:AbstractScheduleType">
<extension base="nrg3:AbstractTimeSeriesType">
<sequence>
<element minOccurs="0" name="constantValue" type="gml:MeasureType"/>
<element minOccurs="0" name="timeSeries" type="nrg3:AbstractTimeSeriesPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
<element minOccurs="0" name="startMonth" type="integer"/>
<element name="uom" type="gml:UnitOfMeasureType"></element>
<element name="fileURI" type="anyURI"></element>
<element name="temporalExtent" type="gml:TimeIntervalLengthType"></element>
<element default="0" minOccurs="0" name="numberOfHeaderLines" type="integer"></element>
<element name="fieldSeparator" type="string"></element>
<element default="\n" minOccurs="0" name="recordSeparator" type="string"></element>
<element default="." minOccurs="0" name="decimalSymbol" type="string"></element>
<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>
</complexContent>
</complexType>
......@@ -570,18 +902,41 @@ version="3.0"
</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>
<complexType name="CompositeScheduleType">
<complexContent>
<extension base="nrg3:AbstractScheduleType">
<sequence>
<element maxOccurs="unbounded" name="scheduleComponent" type="nrg3:ScheduleComponentPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
......@@ -594,21 +949,22 @@ version="3.0"
</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">
<complexContent>
<extension base="gml:AbstractFeatureType">
<extension base="nrg3:AbstractADEFeatureType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element default="1" name="repetitions" type="integer"/>
<element minOccurs="0" name="additionalGap" type="gml:TimeIntervalLengthType"/>
<element name="scheduleComponentMember" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
......@@ -621,6 +977,7 @@ version="3.0"
</complexType>
<!-- SCHEDULE LIBRARY -->
<element name="ScheduleLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:ScheduleLibraryType">
<annotation>
<appinfo>
......@@ -638,7 +995,7 @@ version="3.0"
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</element>
</sequence>
</extension>
</complexContent>
......@@ -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"/>
<complexType abstract="true" name="AbstractBuildingPartitionType">
<!-- ABSTRACT CITYOBJECT SPACE -->
<element abstract="true" name="AbstractCityObjectSpace" substitutionGroup="core:_CityObject" type="nrg3:AbstractCityObjectSpaceType"/>
<complexType abstract="true" name="AbstractCityObjectSpaceType">
<complexContent>
<extension base="core:AbstractCityObjectType">
<sequence>
......@@ -669,49 +1027,34 @@ version="3.0"
<taggedValue tag="lod">1</taggedValue>
</appinfo>
</annotation>
</element>
</element>
<element minOccurs="0" name="lod2Solid" type="gml:SolidPropertyType">
<annotation>
<appinfo>
<taggedValue tag="lod">2</taggedValue>
</appinfo>
</annotation>
</element>
</element>
<element minOccurs="0" name="lod3Solid" type="gml:SolidPropertyType">
<annotation>
<appinfo>
<taggedValue tag="lod">3</taggedValue>
</appinfo>
</annotation>
</element>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractBuildingPartitionPropertyType">
<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">
<complexType name="AbstractCityObjectSpacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractBuildingUnit"/>
<element ref="nrg3:AbstractCityObjectSpace"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ABSTRACT DEVICE -->
<element abstract="true" name="AbstractDevice" substitutionGroup="core:_CityObject" type="nrg3:AbstractDeviceType"/>
<complexType abstract="true" name="AbstractDeviceType">
<complexContent>
......@@ -728,7 +1071,7 @@ version="3.0"
<element minOccurs="0" name="heatDissipationLatentFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="heatDissipationRadiantFraction" type="gml:ScaleType"/>
<element maxOccurs="unbounded" minOccurs="0" name="deviceOperation" type="nrg3:DeviceOperationPropertyType">
<annotation>
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
......@@ -746,6 +1089,7 @@ version="3.0"
</complexType>
<!-- ABSTRACT LIBRARY -->
<element abstract="true" name="AbstractLibrary" substitutionGroup="core:_CityObject" type="nrg3:AbstractLibraryType"/>
<complexType abstract="true" name="AbstractLibraryType">
<complexContent>
......@@ -766,849 +1110,704 @@ version="3.0"
</complexType>
<element abstract="true" name="AbstractLayeredConstruction" substitutionGroup="gml:_Feature" type="nrg3:AbstractLayeredConstructionType"></element>
<complexType abstract="true" name="AbstractLayeredConstructionType">
<!-- CITYOBJECT RELATION (Manually converted) -->
<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>
<extension base="gml:AbstractFeatureType">
<sequence/>
<extension base="nrg3:AbstractFeatureWithLifeSpanType">
<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>
</complexContent>
</complexType>
<complexType name="AbstractLayeredConstructionPropertyType">
<complexType name="EnergyPerformanceCertificatePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractLayeredConstruction"/>
<element ref="nrg3:EnergyPerformanceCertificate"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element abstract="true" name="AbstractResource" substitutionGroup="gml:_Feature" type="nrg3:AbstractResourceType"/>
<complexType abstract="true" name="AbstractResourceType">
<!-- OCCUPANTS -->
<element name="Occupants" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:OccupantsType"></element>
<complexType name="OccupantsType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<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 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 minOccurs="0" name="valueType" type="gml:CodeType"/>
<element minOccurs="0" name="yearlyValue" type="gml:MeasureType"/>
<element minOccurs="0" name="timeDependentValues" type="nrg3:AbstractTimeSeriesPropertyType">
<element minOccurs="0" name="numberOfOccupants" type="integer"/>
<element minOccurs="0" name="averageDietType" type="gml:CodeType"/>
<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>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</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>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="FoodPropertyType">
<complexType name="OccupantsPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Food"/>
<element ref="nrg3:Occupants"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="OtherResource" substitutionGroup="nrg3:AbstractResource" type="nrg3:OtherResourceType"></element>
<complexType name="OtherResourceType">
<!-- REFURBISHMENT MEASURE -->
<element name="RefurbishmentMeasure" substitutionGroup="nrg3:AbstractFeatureWithLifeSpan" type="nrg3:RefurbishmentMeasureType"></element>
<complexType name="RefurbishmentMeasureType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<extension base="nrg3:AbstractFeatureWithLifeSpanType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
<element name="type" type="gml:CodeType"/>
<element name="status" type="gml:CodeType"/>
<element minOccurs="0" name="refurbishmentStartDate" type="date"/>
<element minOccurs="0" name="refurbishmentEndDate" type="date"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="OtherResourcePropertyType">
<complexType name="RefurbishmentMeasurePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:OtherResource"/>
<element ref="nrg3:RefurbishmentMeasure"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="UrbanSpace" substitutionGroup="nrg3:AbstractResource" type="nrg3:UrbanSpaceType"></element>
<complexType name="UrbanSpaceType">
<!-- ABSTRACT BUILDING SPACE -->
<element abstract="true" name="AbstractBuildingSpace" substitutionGroup="nrg3:AbstractCityObjectSpace" type="nrg3:AbstractBuildingSpaceType"/>
<complexType abstract="true" name="AbstractBuildingSpaceType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<extension base="nrg3:AbstractCityObjectSpaceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
<element maxOccurs="unbounded" minOccurs="0" name="occupiedBy" type="nrg3:OccupantsPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="UrbanSpacePropertyType">
<complexType name="AbstractBuildingSpacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:UrbanSpace"/>
<element ref="nrg3:AbstractBuildingSpace"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Waste" substitutionGroup="nrg3:AbstractResource" type="nrg3:WasteType"></element>
<complexType name="WasteType">
<!-- BUILDING UNIT -->
<element name="BuildingUnit" substitutionGroup="nrg3:AbstractBuildingSpace" type="nrg3:BuildingUnitType"></element>
<complexType name="BuildingUnitType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<extension base="nrg3:AbstractBuildingSpaceType">
<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>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="numberOfRooms" type="integer"></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>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="WastePropertyType">
<complexType name="BuildingUnitPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Waste"/>
<element ref="nrg3:BuildingUnit"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Water" substitutionGroup="nrg3:AbstractResource" type="nrg3:WaterType"></element>
<complexType name="WaterType">
<!-- ABSTRACT ZONE -->
<element abstract="true" name="AbstractZone" substitutionGroup="nrg3:AbstractBuildingSpace" type="nrg3:AbstractZoneType"></element>
<complexType abstract="true" name="AbstractZoneType">
<complexContent>
<extension base="nrg3:AbstractResourceType">
<extension base="nrg3:AbstractBuildingSpaceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
<element name="type" type="gml:CodeType"/>
<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>
</extension>
</complexContent>
</complexType>
<complexType name="WaterPropertyType">
<complexType name="AbstractZonePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Water"/>
<element ref="nrg3:AbstractZone"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ********************************************* -->
<!-- Energy ADE Construction and Material module -->
<!-- ********************************************* -->
<element abstract="true" name="AbstractMaterial" substitutionGroup="gml:_Feature" type="nrg3:AbstractMaterialType"></element>
<complexType abstract="true" name="AbstractMaterialType">
<!-- ZONE -->
<element name="Zone" substitutionGroup="nrg3:AbstractZone" type="nrg3:ZoneType"/>
<complexType name="ZoneType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<extension base="nrg3:AbstractZoneType">
<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>
</extension>
</complexContent>
</complexType>
<complexType name="AbstractMaterialPropertyType">
<complexType name="ZonePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AbstractMaterial"/>
<element ref="nrg3:Zone"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Gas" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:GasType"></element>
<complexType name="GasType">
<!-- ZONE PART -->
<element name="ZonePart" substitutionGroup="nrg3:AbstractZone" type="nrg3:ZonePartType"/>
<complexType name="ZonePartType">
<complexContent>
<extension base="nrg3:AbstractMaterialType">
<sequence>
<element default="false" minOccurs="0" name="isVentilated" type="boolean"></element>
<element minOccurs="0" name="rValue" type="gml:MeasureType"></element>
</sequence>
<extension base="nrg3:AbstractZoneType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="GasPropertyType">
<complexType name="ZonePartPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Gas"/>
<element ref="nrg3:ZonePart"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="LayeredConstructionLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:LayeredConstructionLibraryType">
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="LayeredConstructionLibraryType">
<!-- ABSTRACT ZONE BOUNDARY SURFACE -->
<element abstract="true" name="AbstractZoneBoundarySurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:AbstractZoneBoundarySurfaceType"/>
<complexType abstract="true" name="AbstractZoneBoundarySurfaceType">
<complexContent>
<extension base="nrg3:AbstractLibraryType">
<extension base="bldg:AbstractBoundarySurfaceType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="libraryMember" type="nrg3:AbstractLayeredConstructionPropertyType">
<element maxOccurs="unbounded" minOccurs="0" name="zoneOpening" type="nrg3:AbstractZoneOpeningPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="LayeredConstructionLibraryPropertyType">
<complexType name="AbstractZoneBoundarySurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:LayeredConstructionLibrary"/>
<element ref="nrg3:AbstractZoneBoundarySurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Layer" substitutionGroup="gml:_Feature" type="nrg3:LayerType"></element>
<complexType name="LayerType">
<!-- ABSTRACT ZONE OPENING -->
<element abstract="true" name="AbstractZoneOpening" substitutionGroup="bldg:_Opening" type="nrg3:AbstractZoneOpeningType"/>
<complexType abstract="true" name="AbstractZoneOpeningType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<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 base="bldg:AbstractOpeningType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="LayerPropertyType">
<complexType name="AbstractZoneOpeningPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Layer"/>
<element ref="nrg3:AbstractZoneOpening"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="LayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:LayeredConstructionType"></element>
<complexType name="LayeredConstructionType">
<!-- ZONE ATTIC FLOOR SURFACE -->
<element name="ZoneAtticFloorSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneAtticFloorSurfaceType"/>
<complexType name="ZoneAtticFloorSurfaceType">
<complexContent>
<extension base="nrg3:AbstractLayeredConstructionType">
<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 base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="LayeredConstructionPropertyType">
<complexType name="ZoneAtticFloorSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:LayeredConstruction"/>
<element ref="nrg3:ZoneAtticFloorSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="MaterialLibrary" substitutionGroup="nrg3:AbstractLibrary" type="nrg3:MaterialLibraryType">
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</element>
<complexType name="MaterialLibraryType">
<!-- ZONE ATTIC BASEMENT CEILING SURFACE -->
<element name="ZoneBasementCeilingSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneBasementCeilingSurfaceType"/>
<complexType name="ZoneBasementCeilingSurfaceType">
<complexContent>
<extension base="nrg3:AbstractLibraryType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="libraryMember" type="nrg3:AbstractMaterialPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">composition</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="MaterialLibraryPropertyType">
<complexType name="ZoneBasementCeilingSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:MaterialLibrary"/>
<element ref="nrg3:ZoneBasementCeilingSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="ReverseLayeredConstruction" substitutionGroup="nrg3:AbstractLayeredConstruction" type="nrg3:ReverseLayeredConstructionType"/>
<complexType name="ReverseLayeredConstructionType">
<!-- ZONE CLOSURE SURFACE -->
<element name="ZoneClosureSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneClosureSurfaceType"/>
<complexType name="ZoneClosureSurfaceType">
<complexContent>
<extension base="nrg3:AbstractLayeredConstructionType">
<sequence>
<element name="baseLayeredConstruction" type="nrg3:LayeredConstructionPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">association</taggedValue>
</appinfo>
</annotation>
</element>
</sequence>
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="ReverseLayeredConstructionPropertyType">
<complexType name="ZoneClosureSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:ReverseLayeredConstruction"/>
<element ref="nrg3:ZoneClosureSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="SolidMaterial" substitutionGroup="nrg3:AbstractMaterial" type="nrg3:SolidMaterialType"></element>
<complexType name="SolidMaterialType">
<!-- ZONE EXTERIOR WALL SURFACE -->
<element name="ZoneExteriorWallSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneExteriorWallSurfaceType"/>
<complexType name="ZoneExteriorWallSurfaceType">
<complexContent>
<extension base="nrg3:AbstractMaterialType">
<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 base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="SolidMaterialPropertyType">
<complexType name="ZoneExteriorWallSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:SolidMaterial"/>
<element ref="nrg3:ZoneExteriorWallSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ************************************ -->
<!-- Energy ADE Building Physics module -->
<!-- ************************************ -->
<!-- ZONE GROUND SURFACE -->
<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"/>
<complexType name="AtticFloorSurfaceType">
<!-- ZONE INTERMEDIATE FLOOR SURFACE -->
<element name="ZoneIntermediateFloorSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneIntermediateFloorSurfaceType"/>
<complexType name="ZoneIntermediateFloorSurfaceType">
<complexContent>
<extension base="bldg:AbstractBoundarySurfaceType">
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="AtticFloorSurfacePropertyType">
<complexType name="ZoneIntermediateFloorSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:AtticFloorSurface"/>
<element ref="nrg3:ZoneIntermediateFloorSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="BasementCeilingSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:BasementCeilingSurfaceType"/>
<complexType name="BasementCeilingSurfaceType">
<!-- ZONE ROOF SURFACE -->
<element name="ZoneRoofSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneRoofSurfaceType"/>
<complexType name="ZoneRoofSurfaceType">
<complexContent>
<extension base="bldg:AbstractBoundarySurfaceType">
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="BasementCeilingSurfacePropertyType">
<complexType name="ZoneRoofSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:BasementCeilingSurface"/>
<element ref="nrg3:ZoneRoofSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="IntermediateFloorSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:IntermediateFloorSurfaceType"/>
<complexType name="IntermediateFloorSurfaceType">
<!-- ZONE UNDERGROUND WALL SURFACE -->
<element name="ZoneUndergroundWallSurface" substitutionGroup="nrg3:AbstractZoneBoundarySurface" type="nrg3:ZoneUndergroundWallSurfaceType"/>
<complexType name="ZoneUndergroundWallSurfaceType">
<complexContent>
<extension base="bldg:AbstractBoundarySurfaceType">
<extension base="nrg3:AbstractZoneBoundarySurfaceType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="IntermediateFloorSurfacePropertyType">
<complexType name="ZoneUndergroundWallSurfacePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:IntermediateFloorSurface"/>
<element ref="nrg3:ZoneUndergroundWallSurface"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="PartyWallSurface" substitutionGroup="bldg:_BoundarySurface" type="nrg3:PartyWallSurfaceType"/>
<complexType name="PartyWallSurfaceType">
<!-- ZONE DOOR -->
<element name="ZoneDoor" substitutionGroup="nrg3:AbstractZoneOpening" type="nrg3:ZoneDoorType"/>
<complexType name="ZoneDoorType">
<complexContent>
<extension base="bldg:AbstractBoundarySurfaceType">
<extension base="nrg3:AbstractZoneOpeningType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="PartyWallSurfacePropertyType">
<complexType name="ZoneDoorPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:PartyWallSurface"/>
<element ref="nrg3:ZoneDoor"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="ThermalZone" substitutionGroup="nrg3:AbstractThermalZone" type="nrg3:ThermalZoneType"></element>
<complexType name="ThermalZoneType">
<!-- ZONE WINDOW -->
<element name="ZoneWindow" substitutionGroup="nrg3:AbstractZoneOpening" type="nrg3:ZoneWindowType"/>
<complexType name="ZoneWindowType">
<complexContent>
<extension base="nrg3:AbstractThermalZoneType">
<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 base="nrg3:AbstractZoneOpeningType">
<sequence/>
</extension>
</complexContent>
</complexType>
<complexType name="ThermalZonePropertyType">
<complexType name="ZoneWindowPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:ThermalZone"/>
<element ref="nrg3:ZoneWindow"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ADE Extension of bldg:_BoundarySurface -->
<element name="bdgBdrySurfAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType">
<!-- ADE _ABSTRACT BUILDING -->
<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>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType">
<element name="bdgBasementThermalStatus" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="nrg3:ThermalStatusValueType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfHeatCapacity" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:MeasureType">
<element name="bdgConstructionWeight" substitutionGroup="bldg:_GenericApplicationPropertyOfAbstractBuilding" type="gml:CodeType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</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>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfIsAdiabatic" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="boolean">
<element name="bdgBdrySurfTotalSurfaceArea" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AreaType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
......@@ -1629,21 +1828,35 @@ version="3.0"
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfSkyViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:ScaleType">
<element name="bdgBdrySurfHeatCapacity" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:MeasureType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgBdrySurfThickness" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:LengthType">
<element name="bdgBdrySurfAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfBoundarySurface" type="gml:AngleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</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>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
......@@ -1652,7 +1865,7 @@ version="3.0"
</element>
<!-- ADE Extension of bldg:_AbstractOpening -->
<!-- ADE _OPENING -->
<element name="bdgOpnArea" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AreaType">
<annotation>
<appinfo>
......@@ -1660,21 +1873,21 @@ version="3.0"
</appinfo>
</annotation>
</element>
<element name="bdgOpnAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<element name="bdgOpnInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgOpnGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:ScaleType">
<element name="bdgOpnAzimuth" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
</appinfo>
</annotation>
</element>
<element name="bdgOpnInclination" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:AngleType">
<element name="bdgOpnGroundViewFactor" substitutionGroup="bldg:_GenericApplicationPropertyOfOpening" type="gml:ScaleType">
<annotation>
<appinfo>
<taggedValue tag="maxOccurs">1</taggedValue>
......@@ -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>
<complexType name="BuildingUnitType">
<!-- CONSTRUCTION MATERIAL -->
<element name="ConstructionMaterial" substitutionGroup="nrg3:AbstractResource" type="nrg3:ConstructionMaterialType"></element>
<complexType name="ConstructionMaterialType">
<complexContent>
<extension base="nrg3:AbstractBuildingUnitType">
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"/>
<element minOccurs="0" name="numberOfRooms" type="integer"></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>
<element name="type" type="gml:CodeType"></element>
<element name="endUse" type="gml:CodeType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="BuildingUnitPropertyType">
<complexType name="ConstructionMaterialPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:BuildingUnit"/>
<element ref="nrg3:ConstructionMaterial"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="Occupants" substitutionGroup="gml:_Feature" type="nrg3:OccupantsType"></element>
<complexType name="OccupantsType">
<!-- ENERGY -->
<element name="Energy" substitutionGroup="nrg3:AbstractResource" type="nrg3:EnergyType"></element>
<complexType name="EnergyType">
<complexContent>
<extension base="gml:AbstractFeatureType">
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="numberOfOccupants" type="integer"></element>
<element minOccurs="0" name="heatDissipation" type="gml:MeasureType"/>
<element minOccurs="0" name="heatDissipationConvectiveFraction" type="gml:ScaleType"/>
<element minOccurs="0" name="heatDissipationLatentFraction" type="gml:ScaleType"/>
<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"/>
<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="OccupantsPropertyType">
<complexType name="EnergyPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Occupants"/>
<element ref="nrg3:Energy"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<element name="UsageZone" substitutionGroup="nrg3:AbstractUsageZone" type="nrg3:UsageZoneType"></element>
<complexType name="UsageZoneType">
<!-- FOOD -->
<element name="Food" substitutionGroup="nrg3:AbstractResource" type="nrg3:FoodType"></element>
<complexType name="FoodType">
<complexContent>
<extension base="nrg3:AbstractUsageZoneType">
<extension base="nrg3:AbstractResourceType">
<sequence>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="isPrimary" type="boolean"></element>
<element minOccurs="0" name="numberOfBuildingUnits" type="integer"></element>
<element minOccurs="0" name="internalHeatGains" type="gml:MeasureType"></element>
<element minOccurs="0" name="internalHeatGainsConvectiveFraction" type="gml:ScaleType"></element>
<element minOccurs="0" name="internalHeatGainsLatentFraction" type="gml:ScaleType"></element>
<element minOccurs="0" name="internalHeatGainsRadiantFraction" type="gml:ScaleType"></element>
<element minOccurs="0" name="coolingSchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</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="ventilationSchedule" type="nrg3:AbstractSchedulePropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element maxOccurs="unbounded" minOccurs="0" name="occupiedBy" type="nrg3:OccupantsPropertyType">
<annotation>
<appinfo>
<taggedValue tag="relationType">aggregation</taggedValue>
</appinfo>
</annotation>
</element>
<element name="endUse" type="gml:CodeType"></element>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="FoodPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:Food"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- OTHER RESOURCE -->
<element name="OtherResource" substitutionGroup="nrg3:AbstractResource" type="nrg3:OtherResourceType"></element>
<complexType name="OtherResourceType">
<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="OtherResourcePropertyType">
<sequence minOccurs="0">
<element ref="nrg3:OtherResource"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- 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>
</extension>
</complexContent>
</complexType>
<complexType name="UsageZonePropertyType">
<complexType name="WaterPropertyType">
<sequence minOccurs="0">
<element ref="nrg3:UsageZone"/>
<element ref="nrg3:Water"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ********************************* -->
<!-- Energy ADE Devices module -->
<!-- Energy ADE Devices Module -->
<!-- ******************************** -->
<!-- ABSTRACT SOLAR COLLECTOR -->
<element abstract="true" name="AbstractSolarCollector" substitutionGroup="nrg3:AbstractDevice" type="nrg3:AbstractSolarCollectorType"></element>
<complexType abstract="true" name="AbstractSolarCollectorType">
<complexContent>
......@@ -1849,14 +2074,14 @@ version="3.0"
<taggedValue tag="lod">2</taggedValue>
</appinfo>
</annotation>
</element>
</element>
<element minOccurs="0" name="lod3MultiSurface" type="gml:MultiSurfacePropertyType">
<annotation>
<appinfo>
<taggedValue tag="lod">3</taggedValue>
</appinfo>
</annotation>
</element>
</element>
</sequence>
</extension>
</complexContent>
......@@ -1869,6 +2094,7 @@ version="3.0"
</complexType>
<!-- BOILER -->
<element name="Boiler" substitutionGroup="nrg3:AbstractDevice" type="nrg3:BoilerType"></element>
<complexType name="BoilerType">
<complexContent>
......@@ -1887,26 +2113,7 @@ version="3.0"
</complexType>
<element name="DeviceOperation" substitutionGroup="gml:_Feature" type="nrg3:DeviceOperationType"></element>
<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>
<!-- ELECTRICAL STORAGE DEVICE -->
<element name="ElectricalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ElectricalStorageDeviceType"/>
<complexType name="ElectricalStorageDeviceType">
<complexContent>
......@@ -1926,6 +2133,7 @@ version="3.0"
</complexType>
<!-- GENERIC DEVICE -->
<element name="GenericDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericDeviceType"/>
<complexType name="GenericDeviceType">
<complexContent>
......@@ -1942,6 +2150,7 @@ version="3.0"
</complexType>
<!-- GENERIC ELECTRICAL DEVICE -->
<element name="GenericElectricalDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:GenericElectricalDeviceType"/>
<complexType name="GenericElectricalDeviceType">
<complexContent>
......@@ -1958,6 +2167,7 @@ version="3.0"
</complexType>
<!-- GENERIC SOLAR COLLECTOR -->
<element name="GenericSolarCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:GenericSolarCollectorType"/>
<complexType name="GenericSolarCollectorType">
<complexContent>
......@@ -1974,6 +2184,24 @@ version="3.0"
</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"/>
<complexType name="HeatPumpType">
<complexContent>
......@@ -1994,6 +2222,7 @@ version="3.0"
</complexType>
<!-- LIGHTING DEVICE -->
<element name="LightingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:LightingDeviceType"/>
<complexType name="LightingDeviceType">
<complexContent>
......@@ -2010,6 +2239,7 @@ version="3.0"
</complexType>
<!-- MOVABLE SHADING DEVICE -->
<element name="MovableShadingDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:MovableShadingDeviceType"/>
<complexType name="MovableShadingDeviceType">
<complexContent>
......@@ -2031,6 +2261,7 @@ version="3.0"
</complexType>
<!-- PHOTOVOLTAIC COLLECTOR -->
<element name="PhotovoltaicCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicCollectorType"/>
<complexType name="PhotovoltaicCollectorType">
<complexContent>
......@@ -2049,6 +2280,7 @@ version="3.0"
</complexType>
<!-- PHOTOVOLTAIC THERMAL COLLECTOR -->
<element name="PhotovoltaicThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:PhotovoltaicThermalCollectorType"></element>
<complexType name="PhotovoltaicThermalCollectorType">
<complexContent>
......@@ -2071,6 +2303,7 @@ version="3.0"
</complexType>
<!-- SOLAR THERMAL COLLECTOR -->
<element name="SolarThermalCollector" substitutionGroup="nrg3:AbstractSolarCollector" type="nrg3:SolarThermalCollectorType"></element>
<complexType name="SolarThermalCollectorType">
<complexContent>
......@@ -2092,6 +2325,7 @@ version="3.0"
</complexType>
<!-- THERMAL STORAGE DEVICE -->
<element name="ThermalStorageDevice" substitutionGroup="nrg3:AbstractDevice" type="nrg3:ThermalStorageDeviceType"/>
<complexType name="ThermalStorageDeviceType">
<complexContent>
......@@ -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">
<annotation>
<appinfo>
......@@ -2131,6 +2366,7 @@ version="3.0"
<sequence>
<element name="type" type="gml:CodeType"></element>
<element minOccurs="0" name="code" type="gml:CodeType"></element>
<element minOccurs="0" name="area" type="gml:MeasureType"/>
</sequence>
</extension>
</complexContent>
......@@ -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">
<annotation>
<appinfo>
<taggedValue tag="topLevel">true</taggedValue>
</appinfo>
</annotation>
</annotation>
</element>
<complexType name="WeatherStationType">
<complexContent>
......@@ -2169,4 +2406,266 @@ version="3.0"
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</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>
\ 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