Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions BuildingSync.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -5206,6 +5206,7 @@
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -5356,6 +5357,7 @@
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -5548,6 +5550,7 @@
<xs:element ref="auc:ThirdPartyCertification" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element name="DeliveryCondition" type="auc:EquipmentCondition" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status">
Expand Down Expand Up @@ -6886,6 +6889,7 @@
</xs:element>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -7361,6 +7365,7 @@
</xs:element>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -7553,6 +7558,7 @@
<xs:element ref="auc:Manufacturer" minOccurs="0"/>
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:Location" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Expand Down Expand Up @@ -7867,6 +7873,7 @@
</xs:element>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -7976,6 +7983,7 @@
</xs:element>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -8228,6 +8236,7 @@
</xs:element>
<xs:element ref="auc:Manufacturer" minOccurs="0"/>
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Expand Down Expand Up @@ -8259,6 +8268,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -8372,6 +8382,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -8484,6 +8495,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -8643,6 +8655,7 @@
<xs:element ref="auc:Location" minOccurs="0"/>
<xs:element ref="auc:LinkedSystemIDs" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -8865,6 +8878,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:LinkedSystemIDs" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -9010,6 +9024,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:LinkedSystemIDs" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -9097,6 +9112,7 @@
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:Location" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -10216,6 +10232,7 @@
<xs:element ref="auc:Manufacturer" minOccurs="0"/>
<xs:element ref="auc:ModelNumber" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -10651,6 +10668,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -10741,6 +10759,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Source"/>
Expand Down Expand Up @@ -10824,6 +10843,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Source"/>
Expand Down Expand Up @@ -10913,6 +10933,7 @@
<xs:element ref="auc:Location" minOccurs="0"/>
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -11218,6 +11239,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -11343,6 +11365,7 @@
<xs:element ref="auc:Location" minOccurs="0"/>
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -11450,6 +11473,7 @@
<xs:element ref="auc:LinkedPremises" minOccurs="0"/>
<xs:element ref="auc:UserDefinedFields" minOccurs="0"/>
<xs:element ref="auc:Quantity" minOccurs="0"/>
<xs:element ref="auc:EquipmentID" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required"/>
<xs:attribute ref="auc:Status"/>
Expand Down Expand Up @@ -16856,4 +16880,9 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EquipmentID" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the equipment.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
53 changes: 53 additions & 0 deletions proposals/2022/Add Equipment ID.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Add Equipment ID

## Overview

This proposal is to add an "Equipment ID" element to the schema.

## Justification

The schema has an "ID" attribute for each top-level plant/system type; however, the IDs themselves are opaque (i.e., their values can be tested for equality, but otherwise, convey no information) and are locally-unique to the XML document (i.e., their values are only unique within the scope of the XML document). Hence, the "ID" attribute can be used to *identify* and *reference* an element, but not to *name* said element.

The schema has elements to describe the equipment manufacturer, the year of manufacture, and the model number; however, there is no element for the equipment ID (e.g., "AHU-1", "PTAC-Room-42", or "ABC123").

## Implementation

This proposal is implemented by adding a new element:

```xml
<xs:element name="EquipmentID" type="xs:string">
<xs:annotation>
<xs:documentation>Identifier for the equipment.</xs:documentation>
</xs:annotation>
</xs:element>
```

The new element is added to the `<xs:sequence>` for the following types:

* `<auc:AntiSweatHeaters>`
* `<auc:ConveyanceSystemType>`
* `<auc:CookingSystemType>`
* `<auc:CoolingSource>`
* `<auc:CriticalITSystemType>`
* `<auc:Delivery>`
* `<auc:DishwasherSystemType>`
* `<auc:DomesticHotWaterSystemType>`
* `<auc:DuctSystemType>`
* `<auc:FanSystemType>`
* `<auc:FenestrationSystemType>`
* `<auc:HeatRecoverySystemType>`
* `<auc:HeatingSource>`
* `<auc:LaundrySystemType>`
* `<auc:LightingSystemType>`
* `<auc:MotorSystemType>`
* `<auc:OnsiteStorageTransmissionGenerationSystemType>`
* `<auc:OtherHVACSystemType>`
* `<auc:PlugElectricLoadType>`
* `<auc:PoolType>`
* `<auc:ProcessGasElectricLoadType>`
* `<auc:PumpSystemType>`
* `<auc:RefrigerationSystemType>`
* `<auc:Solar>`
* `<auc:WaterUseType>`

The types, above, were identified programmatically using the following XPath: `//xs:complexType[xs:sequence/xs:element[@ref = "auc:Manufacturer"]]`.