Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
5024 lines (5023 sloc) 719 KB
<?xml version="1.0" encoding="UTF-8"?>
<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" title="Audit Template">
<sch:ns prefix="auc" uri="http://buildingsync.net/schemas/bedes-auc/2019"/>
<sch:pattern name="New York City Energy Efficiency Report">
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Measures/auc:Measure/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Measures/auc:Measure/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Measures/auc:Measure/auc:LinkedPremises/auc:Site/auc:LinkedSiteID]">
<sch:assert test="auc:Measures/auc:Measure/auc:LinkedPremises/auc:Site/auc:LinkedSiteID/@IDref/text() = auc:Sites/auc:Site[count(auc:Buildings/auc:Building) &gt;= 1]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Reports/auc:Report/auc:AuditorContactID]">
<sch:assert test="auc:Reports/auc:Report/auc:AuditorContactID/@IDref/text() = auc:Contacts/auc:Contact/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Reports/auc:Report/auc:Qualifications/auc:Qualification/auc:CertifiedAuditTeamMemberContactID]">
<sch:assert test="auc:Reports/auc:Report/auc:Qualifications/auc:Qualification/auc:CertifiedAuditTeamMemberContactID/@IDref/text() = auc:Contacts/auc:Contact/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID]">
<sch:assert test="auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID/@IDref/text() = auc:Sites/auc:Site[count(auc:Buildings/auc:Building) &gt;= 1]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:ExteriorFloors/auc:ExteriorFloor/auc:ExteriorFloorID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:ExteriorFloors/auc:ExteriorFloor/auc:ExteriorFloorID/@IDref/text() = auc:Systems/auc:ExteriorFloorSystems/auc:ExteriorFloorSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Foundations/auc:Foundation/auc:FoundationID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Foundations/auc:Foundation/auc:FoundationID/@IDref/text() = auc:Systems/auc:FoundationSystems/auc:FoundationSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Roofs/auc:Roof/auc:RoofID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Roofs/auc:Roof/auc:RoofID/@IDref/text() = auc:Systems/auc:RoofSystems/auc:RoofSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Roofs/auc:Roof/auc:RoofID/auc:SkylightIDs/auc:SkylightID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Roofs/auc:Roof/auc:RoofID/auc:SkylightIDs/auc:SkylightID/@IDref/text() = auc:Systems/auc:FenestrationSystems/auc:FenestrationSystem[auc:FenestrationType/auc:Skylight]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:DoorID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:DoorID/@IDref/text() = auc:Systems/auc:FenestrationSystems/auc:FenestrationSystem[auc:FenestrationType/auc:Door]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:WallID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:WallID/@IDref/text() = auc:Systems/auc:WallSystems/auc:WallSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:WindowID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:Sides/auc:Side/auc:WindowID/@IDref/text() = auc:Systems/auc:FenestrationSystems/auc:FenestrationSystem[auc:FenestrationType/auc:Window]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:ThermalZones/auc:ThermalZone/auc:HVACScheduleIDs/auc:HVACScheduleID]">
<sch:assert test="auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:ThermalZones/auc:ThermalZone/auc:HVACScheduleIDs/auc:HVACScheduleID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:AirInfiltrationSystems/auc:AirInfiltrationSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:AirInfiltrationSystems/auc:AirInfiltrationSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:ConveyanceSystems/auc:ConveyanceSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:ConveyanceSystems/auc:ConveyanceSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:ConveyanceSystems/auc:ConveyanceSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID]">
<sch:assert test="auc:Systems/auc:ConveyanceSystems/auc:ConveyanceSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType/text() = 'Space function']/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:CriticalITSystems/auc:CriticalITSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:CriticalITSystems/auc:CriticalITSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:DomesticHotWaterSystems/auc:DomesticHotWaterSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:DomesticHotWaterSystems/auc:DomesticHotWaterSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:DomesticHotWaterSystems/auc:DomesticHotWaterSystem/auc:DomesticHotWaterType/auc:StorageTank/auc:TankHeatingType/auc:Indirect/auc:IndirectTankHeatingSource/auc:SpaceHeatingSystem/auc:HeatingPlantID]">
<sch:assert test="auc:Systems/auc:DomesticHotWaterSystems/auc:DomesticHotWaterSystem/auc:DomesticHotWaterType/auc:StorageTank/auc:TankHeatingType/auc:Indirect/auc:IndirectTankHeatingSource/auc:SpaceHeatingSystem/auc:HeatingPlantID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:HeatingPlants/auc:HeatingPlant/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:FanSystems/auc:FanSystem/auc:LinkedSystemIDs/auc:LinkedSystemID]">
<sch:assert test="auc:Systems/auc:FanSystems/auc:FanSystem/auc:LinkedSystemIDs/auc:LinkedSystemID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:FoundationSystems/auc:FoundationSystem/auc:UserDefinedFields/auc:UserDefinedField/auc:FieldName/text() = 'Linked Wall ID']">
<sch:assert test="auc:Systems/auc:FoundationSystems/auc:FoundationSystem/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Linked Wall ID']/auc:FieldValue/text() = auc:Systems/auc:WallSystems/auc:WallSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:CoolingSources/auc:CoolingSource/auc:CoolingSourceType/auc:CoolingPlantID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:CoolingSources/auc:CoolingSource/auc:CoolingSourceType/auc:CoolingPlantID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:DeliveryType/auc:CentralAirDistribution/auc:ReheatPlantID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:DeliveryType/auc:CentralAirDistribution/auc:ReheatPlantID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:HeatingPlants/auc:HeatingPlant/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:HeatingSources/auc:HeatingSource/auc:HeatingSourceType/auc:SourceHeatingPlantID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:HeatingAndCoolingSystems/auc:HeatingSources/auc:HeatingSource/auc:HeatingSourceType/auc:SourceHeatingPlantID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:HeatingPlants/auc:HeatingPlant/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType/text() = 'Space function']/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Site/auc:LinkedSiteID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:LinkedPremises/auc:Site/auc:LinkedSiteID/@IDref/text() = auc:Sites/auc:Site[count(auc:Buildings/auc:Building) &gt;= 1]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CondenserPlants/auc:CondenserPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CondenserPlants/auc:CondenserPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue/text() = auc:Sites/auc:Site[not(auc:Buildings/auc:Building)]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/auc:Chiller/auc:CondenserPlantIDs/auc:CondenserPlantID]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/auc:Chiller/auc:CondenserPlantIDs/auc:CondenserPlantID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CondenserPlants/auc:CondenserPlant/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue/text() = auc:Sites/auc:Site[not(auc:Buildings/auc:Building)]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:HeatingPlants/auc:HeatingPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue]">
<sch:assert test="auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:HeatingPlants/auc:HeatingPlant/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Site ID']/auc:FieldValue/text() = auc:Sites/auc:Site[not(auc:Buildings/auc:Building)]/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:LightingSystems/auc:LightingSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:LightingSystems/auc:LightingSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:LightingSystems/auc:LightingSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID]">
<sch:assert test="auc:Systems/auc:LightingSystems/auc:LightingSystem/auc:LinkedPremises/auc:Section/auc:LinkedSectionID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType/text() = 'Space function']/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:MotorSystems/auc:MotorSystem/auc:LinkedSystemIDs/auc:LinkedSystemID]">
<sch:assert test="auc:Systems/auc:MotorSystems/auc:MotorSystem/auc:LinkedSystemIDs/auc:LinkedSystemID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:OnsiteStorageTransmissionGenerationSystems/auc:OnsiteStorageTransmissionGenerationSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="auc:Systems/auc:OnsiteStorageTransmissionGenerationSystems/auc:OnsiteStorageTransmissionGenerationSystem/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:PlugLoads/auc:PlugLoad[auc:PlugLoadType/text() = 'Miscellaneous Electric Load']/auc:LinkedPremises/auc:Section/auc:LinkedSectionID]">
<sch:assert test="auc:Systems/auc:PlugLoads/auc:PlugLoad[auc:PlugLoadType/text() = 'Miscellaneous Electric Load']/auc:LinkedPremises/auc:Section/auc:LinkedSectionID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType/text() = 'Space function']/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:ProcessLoads/auc:ProcessLoad[auc:ProcessLoadType/text() = 'Miscellaneous Gas Load']/auc:LinkedPremises/auc:Section/auc:LinkedSectionID]">
<sch:assert test="auc:Systems/auc:ProcessLoads/auc:ProcessLoad[auc:ProcessLoadType/text() = 'Miscellaneous Gas Load']/auc:LinkedPremises/auc:Section/auc:LinkedSectionID/@IDref/text() = auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType/text() = 'Space function']/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility[auc:Systems/auc:PumpSystems/auc:PumpSystem/auc:LinkedSystemIDs/auc:LinkedSystemID]">
<sch:assert test="(auc:Systems/auc:PumpSystems/auc:PumpSystem/auc:LinkedSystemIDs/auc:LinkedSystemID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CondenserPlants/auc:CondenserPlant/@ID/text()) | (auc:Systems/auc:PumpSystems/auc:PumpSystem/auc:LinkedSystemIDs/auc:LinkedSystemID/@IDref/text() = auc:Systems/auc:HVACSystems/auc:HVACSystem/auc:Plants/auc:CoolingPlants/auc:CoolingPlant/@ID/text())"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Systems/auc:HVACSystems/auc:HVACSystem[auc:OtherHVACSystems/auc:OtherHVACSystem/auc:LinkedDeliveryIDs/auc:LinkedDeliveryID]">
<sch:assert test="auc:OtherHVACSystems/auc:OtherHVACSystem/auc:LinkedDeliveryIDs/auc:LinkedDeliveryID/@IDref/text() = auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Systems/auc:HVACSystems/auc:HVACSystem[auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:CoolingSourceID]">
<sch:assert test="auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:CoolingSourceID/@IDref/text() = auc:HeatingAndCoolingSystems/auc:CoolingSources/auc:CoolingSource/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Systems/auc:HVACSystems/auc:HVACSystem[auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:HeatingSourceID]">
<sch:assert test="auc:HeatingAndCoolingSystems/auc:Deliveries/auc:Delivery/auc:HeatingSourceID/@IDref/text() = auc:HeatingAndCoolingSystems/auc:HeatingSources/auc:HeatingSource/@ID/text()"></sch:assert>
</sch:rule>
<sch:rule context="/">
<sch:assert test="count(auc:BuildingSync) &gt;= 1">element "auc:BuildingSync" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync">
<sch:assert test="count(auc:Facilities) &gt;= 1">element "auc:Facilities" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities">
<sch:assert test="count(auc:Facility) &gt;= 1">element "auc:Facility" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Programs)">element "auc:Programs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Contacts) &gt;= 0">element "auc:Contacts" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Measures) &gt;= 0">element "auc:Measures" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Reports) &gt;= 0">element "auc:Reports" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Schedules) &gt;= 0">element "auc:Schedules" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Sites) &gt;= 1">element "auc:Sites" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Systems) &gt;= 0">element "auc:Systems" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Tenants)">element "auc:Tenants" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts">
<sch:assert test="count(auc:Contact) &gt;= 0">element "auc:Contact" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Address) &gt;= 0">element "auc:Address" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ContactCompany) &gt;= 0">element "auc:ContactCompany" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ContactEmailAddresses) &gt;= 0">element "auc:ContactEmailAddresses" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ContactName) &gt;= 0">element "auc:ContactName" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ContactRoles) &gt;= 0">element "auc:ContactRoles" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ContactTelephoneNumbers) &gt;= 0">element "auc:ContactTelephoneNumbers" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:ContactTitle)">element "auc:ContactTitle" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:UserDefinedFields) &gt;= 0">element "auc:UserDefinedFields" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:Address">
<sch:assert test="count(auc:City) &gt;= 0">element "auc:City" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Country)">element "auc:Country" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:County)">element "auc:County" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:PostalCode) &gt;= 0">element "auc:PostalCode" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:PostalCodePlus4)">element "auc:PostalCodePlus4" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:State) &gt;= 0">element "auc:State" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:StreetAddressDetail) &gt;= 0">element "auc:StreetAddressDetail" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:Address/auc:StreetAddressDetail">
<sch:assert test="not(auc:Complex)">element "auc:Complex" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Simplified) &gt;= 1">element "auc:Simplified" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:Address/auc:StreetAddressDetail/auc:Simplified">
<sch:assert test="count(auc:StreetAddress) &gt;= 1">element "auc:StreetAddress" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:ContactEmailAddresses">
<sch:assert test="count(auc:ContactEmailAddress) &gt;= 0">element "auc:ContactEmailAddress" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:ContactRoles">
<sch:assert test="count(auc:ContactRole) &gt;= 0">element "auc:ContactRole" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:ContactRoles/auc:ContactRole">
<sch:assert test="contains('_Contributor_ _Energy Auditor_ _Operator_ _Owner_ _Property Management Company_ _Qualified Assessor_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Contributor", "Energy Auditor", "Operator", "Owner", "Property Management Company", or "Qualified Assessor"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:ContactTelephoneNumbers">
<sch:assert test="count(auc:ContactTelephoneNumber) &gt;= 0">element "auc:ContactTelephoneNumber" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:UserDefinedFields">
<sch:assert test="count(auc:UserDefinedField) &gt;= 0">element "auc:UserDefinedField" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Contacts/auc:Contact/auc:UserDefinedFields/auc:UserDefinedField">
<sch:assert test="count(auc:FieldName) &gt;= 1">element "auc:FieldName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FieldValue) &gt;= 1">element "auc:FieldValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures">
<sch:assert test="count(auc:Measure) &gt;= 0">element "auc:Measure" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:CapitalReplacementCost)">element "auc:CapitalReplacementCost" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:CustomMeasureName)">element "auc:CustomMeasureName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:DiscardReason)">element "auc:DiscardReason" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:EndDate)">element "auc:EndDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:ImplementationStatus) &gt;= 0">element "auc:ImplementationStatus" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:LinkedPremises) &gt;= 0">element "auc:LinkedPremises" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:LongDescription) &gt;= 0">element "auc:LongDescription" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:MVCost) &gt;= 0">element "auc:MVCost" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:MVOption)">element "auc:MVOption" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:MeasureInstallationCost) &gt;= 0">element "auc:MeasureInstallationCost" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:MeasureMaterialCost) &gt;= 0">element "auc:MeasureMaterialCost" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:MeasureSavingsAnalysis) &gt;= 0">element "auc:MeasureSavingsAnalysis" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:MeasureScaleOfApplication) &gt;= 0">element "auc:MeasureScaleOfApplication" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:MeasureTotalFirstCost) &gt;= 0">element "auc:MeasureTotalFirstCost" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Recommended) &gt;= 0">element "auc:Recommended" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:ResidualValue)">element "auc:ResidualValue" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:StartDate)">element "auc:StartDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:SystemCategoryAffected) &gt;= 0">element "auc:SystemCategoryAffected" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:TechnologyCategories) &gt;= 0">element "auc:TechnologyCategories" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:TypeOfMeasure)">element "auc:TypeOfMeasure" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:UsefulLife) &gt;= 0">element "auc:UsefulLife" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedFields) &gt;= 0">element "auc:UserDefinedFields" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:ImplementationStatus">
<sch:assert test="contains('_Completed_ _Evaluated_ _Proposed_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Completed", "Evaluated", or "Proposed"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:LinkedPremises">
<sch:assert test="count(auc:Building) &gt;= 0">element "auc:Building" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Facility)">element "auc:Facility" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Section)">element "auc:Section" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Site) &gt;= 0">element "auc:Site" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Space)">element "auc:Space" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ThermalZone)">element "auc:ThermalZone" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:LinkedPremises/auc:Building">
<sch:assert test="count(auc:LinkedBuildingID) &gt;= 1">element "auc:LinkedBuildingID" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:LinkedPremises/auc:Building/auc:LinkedBuildingID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:LinkedScheduleIDs)">element "auc:LinkedScheduleIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:LinkedPremises/auc:Site">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:LinkedScheduleIDs)">element "auc:LinkedScheduleIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MVCost">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureInstallationCost">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureMaterialCost">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureSavingsAnalysis">
<sch:assert test="not(auc:AnnualDemandSavingsCost)">element "auc:AnnualDemandSavingsCost" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualPeakElectricityReduction)">element "auc:AnnualPeakElectricityReduction" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualSavingsByFuels)">element "auc:AnnualSavingsByFuels" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualSavingsCost)">element "auc:AnnualSavingsCost" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualSavingsSiteEnergy)">element "auc:AnnualSavingsSiteEnergy" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualSavingsSourceEnergy)">element "auc:AnnualSavingsSourceEnergy" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualWaterCostSavings)">element "auc:AnnualWaterCostSavings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AnnualWaterSavings)">element "auc:AnnualWaterSavings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:CalculationMethodType) &gt;= 0">element "auc:CalculationMethodType" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:CostEffectivenessScreeningMethod)">element "auc:CostEffectivenessScreeningMethod" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:EquipmentDisposalAndSalvageCosts)">element "auc:EquipmentDisposalAndSalvageCosts" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FundingFromIncentives) &gt;= 0">element "auc:FundingFromIncentives" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:FundingFromTaxCredits)">element "auc:FundingFromTaxCredits" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:InternalRateOfReturn)">element "auc:InternalRateOfReturn" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:MeasureRank)">element "auc:MeasureRank" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:NPVofTaxImplications)">element "auc:NPVofTaxImplications" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:NetPresentValue)">element "auc:NetPresentValue" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:OMCostAnnualSavings) &gt;= 0">element "auc:OMCostAnnualSavings" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:OtherCostAnnualSavings)">element "auc:OtherCostAnnualSavings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ReferenceCase)">element "auc:ReferenceCase" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SimplePayback)">element "auc:SimplePayback" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SummerPeakElectricityReduction)">element "auc:SummerPeakElectricityReduction" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WinterPeakElectricityReduction)">element "auc:WinterPeakElectricityReduction" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureSavingsAnalysis/auc:CalculationMethodType">
<sch:assert test="contains('_Estimated_ _Modeled_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Estimated" or "Modeled"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureSavingsAnalysis/auc:FundingFromIncentives">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureSavingsAnalysis/auc:OMCostAnnualSavings">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureScaleOfApplication">
<sch:assert test="contains('_Common areas_ _Entire building_ _Tenant areas_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Common areas", "Entire building", or "Tenant areas"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:MeasureTotalFirstCost">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:SystemCategoryAffected">
<sch:assert test="contains('_Air Distribution_ _Ceiling_ _Conveyance_ _Cooking_ _Cooling System_ _Critical IT System_ _Dishwasher_ _Domestic Hot Water_ _Fan_ _Fenestration_ _Foundation_ _General Controls and Operations_ _Heat Recovery_ _Heating System_ _Laundry_ _Lighting_ _Motor_ _Onsite Storage, Transmission, Generation_ _Other_ _Other HVAC_ _Plug Load_ _Pool_ _Process Load_ _Pump_ _Refrigeration_ _Roof_ _Wall_ _Water Use_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Air Distribution", "Ceiling", "Conveyance", "Cooking", "Cooling System", "Critical IT System", "Dishwasher", "Domestic Hot Water", "Fan", "Fenestration", "Foundation", "General Controls and Operations", "Heat Recovery", "Heating System", "Laundry", "Lighting", "Motor", "Onsite Storage, Transmission, Generation", "Other", "Other HVAC", "Plug Load", "Pool", "Process Load", "Pump", "Refrigeration", "Roof", "Wall", or "Water Use"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories">
<sch:assert test="count(auc:TechnologyCategory) &gt;= 0">element "auc:TechnologyCategory" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory">
<sch:assert test="count(auc:AdvancedMeteringSystems) &gt;= 0">element "auc:AdvancedMeteringSystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:BoilerPlantImprovements) &gt;= 0">element "auc:BoilerPlantImprovements" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:BuildingAutomationSystems) &gt;= 0">element "auc:BuildingAutomationSystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:BuildingEnvelopeModifications) &gt;= 0">element "auc:BuildingEnvelopeModifications" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ChilledWaterHotWaterAndSteamDistributionSystems) &gt;= 0">element "auc:ChilledWaterHotWaterAndSteamDistributionSystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ChillerPlantImprovements) &gt;= 0">element "auc:ChillerPlantImprovements" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ConveyanceSystems) &gt;= 0">element "auc:ConveyanceSystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:DataCenterImprovements) &gt;= 0">element "auc:DataCenterImprovements" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:DistributedGeneration) &gt;= 0">element "auc:DistributedGeneration" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ElectricalPeakShavingLoadShifting) &gt;= 0">element "auc:ElectricalPeakShavingLoadShifting" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:EnergyCostReductionThroughRateAdjustments) &gt;= 0">element "auc:EnergyCostReductionThroughRateAdjustments" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:EnergyDistributionSystems) &gt;= 0">element "auc:EnergyDistributionSystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:EnergyRelatedProcessImprovements) &gt;= 0">element "auc:EnergyRelatedProcessImprovements" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:FutureOtherECMs) &gt;= 0">element "auc:FutureOtherECMs" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:HealthAndSafety)">element "auc:HealthAndSafety" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:LightingImprovements) &gt;= 0">element "auc:LightingImprovements" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:OtherElectricMotorsAndDrives) &gt;= 0">element "auc:OtherElectricMotorsAndDrives" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:OtherHVAC) &gt;= 0">element "auc:OtherHVAC" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:PlugLoadReductions) &gt;= 0">element "auc:PlugLoadReductions" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Refrigeration) &gt;= 0">element "auc:Refrigeration" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:RenewableEnergySystems) &gt;= 0">element "auc:RenewableEnergySystems" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ServiceHotWaterSystems) &gt;= 0">element "auc:ServiceHotWaterSystems" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Uncategorized)">element "auc:Uncategorized" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:WaterAndSewerConservationSystems) &gt;= 0">element "auc:WaterAndSewerConservationSystems" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:AdvancedMeteringSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:AdvancedMeteringSystems/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement training and/or documentation_ _Install advanced metering systems_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement training and/or documentation", "Install advanced metering systems", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BoilerPlantImprovements">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BoilerPlantImprovements/auc:MeasureName">
<sch:assert test="contains('_Add energy recovery_ _Clean and/or repair_ _Convert gas-fired unit to boiler loop_ _Convert system from steam to hot water_ _Convert to Cleaner Fuels_ _Decentralize boiler_ _Implement training and/or documentation_ _Insulate boiler room_ _Other_ _Replace boiler_ _Replace burner_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add energy recovery", "Clean and/or repair", "Convert gas-fired unit to boiler loop", "Convert system from steam to hot water", "Convert to Cleaner Fuels", "Decentralize boiler", "Implement training and/or documentation", "Insulate boiler room", "Other", "Replace boiler", "Replace burner", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BuildingAutomationSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BuildingAutomationSystems/auc:MeasureName">
<sch:assert test="contains('_Add or upgrade BAS/EMS/EMCS_ _Add or upgrade controls_ _Convert pneumatic controls to DDC_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add or upgrade BAS/EMS/EMCS", "Add or upgrade controls", "Convert pneumatic controls to DDC", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BuildingEnvelopeModifications">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:BuildingEnvelopeModifications/auc:MeasureName">
<sch:assert test="contains('_Add attic/knee wall insulation_ _Add shading devices_ _Add window films_ _Air seal envelope_ _Clean and/or repair_ _Close shaft vents for elevators or stairwells_ _Increase ceiling insulation_ _Increase floor insulation_ _Increase roof insulation_ _Increase wall insulation_ _Install cool/green roof_ _Install or replace solar screens_ _Insulate attic hatch / stair box_ _Insulate foundation_ _Insulate thermal bypasses_ _Other_ _Replace glazing_ _Replace windows_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add attic/knee wall insulation", "Add shading devices", "Add window films", "Air seal envelope", "Clean and/or repair", "Close shaft vents for elevators or stairwells", "Increase ceiling insulation", "Increase floor insulation", "Increase roof insulation", "Increase wall insulation", "Install cool/green roof", "Install or replace solar screens", "Insulate attic hatch / stair box", "Insulate foundation", "Insulate thermal bypasses", "Other", "Replace glazing", or "Replace windows"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ChilledWaterHotWaterAndSteamDistributionSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ChilledWaterHotWaterAndSteamDistributionSystems/auc:MeasureName">
<sch:assert test="contains('_Add energy recovery_ _Add pipe insulation_ _Add recirculating pumps_ _Clean and/or repair_ _Implement training and/or documentation_ _Install or upgrade master venting_ _Install solar hot water system_ _Install steam condensate heat recovery_ _Other_ _Repair and/or replace steam traps_ _Repair or replace existing condensate return systems or install new condensate return systems_ _Replace or upgrade water heater_ _Replace steam traps with orifice plates_ _Replace with higher efficiency pump_ _Replace with variable speed pump_ _Retrofit and replace chiller plant pumping, piping, and controls_ _Separate SHW from heating_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add energy recovery", "Add pipe insulation", "Add recirculating pumps", "Clean and/or repair", "Implement training and/or documentation", "Install or upgrade master venting", "Install solar hot water system", "Install steam condensate heat recovery", "Other", "Repair and/or replace steam traps", "Repair or replace existing condensate return systems or install new condensate return systems", "Replace or upgrade water heater", "Replace steam traps with orifice plates", "Replace with higher efficiency pump", "Replace with variable speed pump", "Retrofit and replace chiller plant pumping, piping, and controls", "Separate SHW from heating", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ChillerPlantImprovements">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ChillerPlantImprovements/auc:MeasureName">
<sch:assert test="contains('_Add energy recovery_ _Add or repair economizer cycle_ _Add or replace cooling tower_ _Clean and/or repair_ _Implement training and/or documentation_ _Install VSD on electric centrifugal chillers_ _Install gas cooling_ _Other_ _Replace chiller_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add energy recovery", "Add or repair economizer cycle", "Add or replace cooling tower", "Clean and/or repair", "Implement training and/or documentation", "Install VSD on electric centrifugal chillers", "Install gas cooling", "Other", "Replace chiller", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ConveyanceSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ConveyanceSystems/auc:MeasureName">
<sch:assert test="contains('_Add elevator regenerative drives_ _Clean and/or repair_ _Implement training and/or documentation_ _Other_ _Upgrade controls_ _Upgrade motors_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add elevator regenerative drives", "Clean and/or repair", "Implement training and/or documentation", "Other", "Upgrade controls", "Upgrade motors", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:DataCenterImprovements">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:DataCenterImprovements/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement hot aisle hold aisle design_ _Implement server virtualization_ _Implement training and/or documentation_ _Improve data center efficiency_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_ _Upgrade servers_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement hot aisle hold aisle design", "Implement server virtualization", "Implement training and/or documentation", "Improve data center efficiency", "Other", "Upgrade operating protocols, calibration, and/or sequencing", or "Upgrade servers"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:DistributedGeneration">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:DistributedGeneration/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Convert fuels_ _Implement training and/or documentation_ _Install CHP/cogeneration systems_ _Install fuel cells_ _Install microturbines_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Convert fuels", "Implement training and/or documentation", "Install CHP/cogeneration systems", "Install fuel cells", "Install microturbines", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ElectricalPeakShavingLoadShifting">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ElectricalPeakShavingLoadShifting/auc:MeasureName">
<sch:assert test="contains('_Implement training and/or documentation_ _Install thermal energy storage_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Implement training and/or documentation", "Install thermal energy storage", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyCostReductionThroughRateAdjustments">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyCostReductionThroughRateAdjustments/auc:MeasureName">
<sch:assert test="contains('_Change to lower energy cost supplier(s)_ _Change to more favorable rate schedule_ _Energy cost reduction through rate adjustments - uncategorized_ _Energy service billing and meter auditing recommendations_ _Other_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Change to lower energy cost supplier(s)", "Change to more favorable rate schedule", "Energy cost reduction through rate adjustments - uncategorized", "Energy service billing and meter auditing recommendations", or "Other"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyDistributionSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyDistributionSystems/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement power factor corrections_ _Implement power quality upgrades_ _Implement training and/or documentation_ _Install gas distribution systems_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_ _Upgrade transformers_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement power factor corrections", "Implement power quality upgrades", "Implement training and/or documentation", "Install gas distribution systems", "Other", "Upgrade operating protocols, calibration, and/or sequencing", or "Upgrade transformers"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyRelatedProcessImprovements">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:EnergyRelatedProcessImprovements/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement industrial process improvements_ _Implement production and/or manufacturing improvements_ _Implement training and/or documentation_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement industrial process improvements", "Implement production and/or manufacturing improvements", "Implement training and/or documentation", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:FutureOtherECMs">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:FutureOtherECMs/auc:MeasureName">
<sch:assert test="contains('_Other_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Other"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:LightingImprovements">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:LightingImprovements/auc:MeasureName">
<sch:assert test="contains('_Add daylight controls_ _Add occupancy sensors_ _Clean and/or repair_ _Implement training and/or documentation_ _Install photocell control_ _Install spectrally enhanced lighting_ _Install timers_ _Other_ _Replace diffusers_ _Retrofit with CFLs_ _Retrofit with T-5_ _Retrofit with T-8_ _Retrofit with fiber optic lighting technologies_ _Retrofit with light emitting diode technologies_ _Upgrade exit signs to LED_ _Upgrade exterior lighting_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add daylight controls", "Add occupancy sensors", "Clean and/or repair", "Implement training and/or documentation", "Install photocell control", "Install spectrally enhanced lighting", "Install timers", "Other", "Replace diffusers", "Retrofit with CFLs", "Retrofit with T-5", "Retrofit with T-8", "Retrofit with fiber optic lighting technologies", "Retrofit with light emitting diode technologies", "Upgrade exit signs to LED", "Upgrade exterior lighting", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:OtherElectricMotorsAndDrives">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:OtherElectricMotorsAndDrives/auc:MeasureName">
<sch:assert test="contains('_Add VFD/VSD motor controller_ _Add drive controls_ _Clean and/or repair_ _Implement training and/or documentation_ _Other_ _Replace with higher efficiency_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add VFD/VSD motor controller", "Add drive controls", "Clean and/or repair", "Implement training and/or documentation", "Other", "Replace with higher efficiency", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:OtherHVAC">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:OtherHVAC/auc:MeasureName">
<sch:assert test="contains('_Add duct insulation_ _Add energy recovery_ _Add enhanced dehumidification_ _Add or repair economizer_ _Add or replace cooling tower_ _Balance ventilation/distribution system_ _Capture and return condensate_ _Clean and/or repair_ _Convert CAV system to VAV system_ _Implement training and/or documentation_ _Improve distribution fans_ _Improve ventilation fans_ _Install air source heat pump_ _Install demand control ventilation_ _Install gas cooling_ _Install or Upgrade Master Venting_ _Install passive solar heating_ _Install solar ventilation preheating system_ _Install thermal destratification fans_ _Install variable refrigerant flow system_ _Other_ _Other cooling_ _Other distribution_ _Other heating_ _Other ventilation_ _Repair leaks / seal ducts_ _Repair or replace HVAC damper and controller_ _Replace AC and heating units with ground coupled heat pump systems_ _Replace burner_ _Replace or modify AHU_ _Replace package units_ _Replace packaged terminal units_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Add duct insulation", "Add energy recovery", "Add enhanced dehumidification", "Add or repair economizer", "Add or replace cooling tower", "Balance ventilation/distribution system", "Capture and return condensate", "Clean and/or repair", "Convert CAV system to VAV system", "Implement training and/or documentation", "Improve distribution fans", "Improve ventilation fans", "Install air source heat pump", "Install demand control ventilation", "Install gas cooling", "Install or Upgrade Master Venting", "Install passive solar heating", "Install solar ventilation preheating system", "Install thermal destratification fans", "Install variable refrigerant flow system", "Other", "Other cooling", "Other distribution", "Other heating", "Other ventilation", "Repair leaks / seal ducts", "Repair or replace HVAC damper and controller", "Replace AC and heating units with ground coupled heat pump systems", "Replace burner", "Replace or modify AHU", "Replace package units", "Replace packaged terminal units", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:PlugLoadReductions">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:PlugLoadReductions/auc:MeasureName">
<sch:assert test="contains('_Automatic shutdown or sleep mode for computers_ _Clean and/or repair_ _De-lamp vending machines_ _Implement training and/or documentation_ _Install plug load controls_ _Other_ _Replace clothes dryers_ _Replace washing machines_ _Replace with ENERGY STAR rated_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Automatic shutdown or sleep mode for computers", "Clean and/or repair", "De-lamp vending machines", "Implement training and/or documentation", "Install plug load controls", "Other", "Replace clothes dryers", "Replace washing machines", "Replace with ENERGY STAR rated", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:Refrigeration">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:Refrigeration/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement training and/or documentation_ _Other_ _Replace air-cooled ice/refrigeration equipment_ _Replace ice/refrigeration equipment with high efficiency units_ _Replace refrigerators_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement training and/or documentation", "Other", "Replace air-cooled ice/refrigeration equipment", "Replace ice/refrigeration equipment with high efficiency units", "Replace refrigerators", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:RenewableEnergySystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:RenewableEnergySystems/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement training and/or documentation_ _Install landfill gas, wastewater treatment plant digester gas, or coal bed methane power plant_ _Install photovoltaic system_ _Install wind energy system_ _Install wood waste or other organic waste stream heating or power plant_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement training and/or documentation", "Install landfill gas, wastewater treatment plant digester gas, or coal bed methane power plant", "Install photovoltaic system", "Install wind energy system", "Install wood waste or other organic waste stream heating or power plant", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ServiceHotWaterSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:ServiceHotWaterSystems/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Decrease SHW temperature_ _Implement training and/or documentation_ _Install SHW controls_ _Install heat pump SHW system_ _Install solar thermal SHW_ _Install tankless water heaters_ _Install water pressure booster_ _Insulate SHW piping_ _Insulate SHW tank_ _Other_ _Replace piping_ _Replace tankless coil_ _Separate SHW from heating_ _Upgrade SHW boiler_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Decrease SHW temperature", "Implement training and/or documentation", "Install SHW controls", "Install heat pump SHW system", "Install solar thermal SHW", "Install tankless water heaters", "Install water pressure booster", "Insulate SHW piping", "Insulate SHW tank", "Other", "Replace piping", "Replace tankless coil", "Separate SHW from heating", "Upgrade SHW boiler", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:WaterAndSewerConservationSystems">
<sch:assert test="count(auc:MeasureName) &gt;= 1">element "auc:MeasureName" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:TechnologyCategories/auc:TechnologyCategory/auc:WaterAndSewerConservationSystems/auc:MeasureName">
<sch:assert test="contains('_Clean and/or repair_ _Implement training and/or documentation_ _Implement water efficient irrigation_ _Install low-flow faucets and showerheads_ _Install low-flow plumbing equipment_ _Install on-site sewer treatment systems_ _Other_ _Upgrade operating protocols, calibration, and/or sequencing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Clean and/or repair", "Implement training and/or documentation", "Implement water efficient irrigation", "Install low-flow faucets and showerheads", "Install low-flow plumbing equipment", "Install on-site sewer treatment systems", "Other", or "Upgrade operating protocols, calibration, and/or sequencing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UsefulLife">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UserDefinedFields">
<sch:assert test="count(auc:UserDefinedField) &gt;= 0">element "auc:UserDefinedField" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Rebate Available']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Rebate Available']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Affected']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Affected']/auc:FieldValue" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UserDefinedFields/auc:UserDefinedField">
<sch:assert test="count(auc:FieldName) &gt;= 1">element "auc:FieldName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FieldValue) &gt;= 1">element "auc:FieldValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UserDefinedFields/auc:UserDefinedField/auc:FieldName">
<sch:assert test="contains('_Rebate Available_ _Shared Resource Affected_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Rebate Available" or "Shared Resource Affected"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Rebate Available']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Measures/auc:Measure/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Resource Affected']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports">
<sch:assert test="count(auc:Report) &gt;= 0">element "auc:Report" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]) &gt;= 0">element "auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Report[auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID]) &gt;= 0">element "auc:Report[auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID]" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:AnalysisPeriod)">element "auc:AnalysisPeriod" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AuditCost)">element "auc:AuditCost" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AuditExemption)">element "auc:AuditExemption" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:AuditorContactID) &gt;= 0">element "auc:AuditorContactID" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:DiscountFactor)">element "auc:DiscountFactor" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ElectricityPriceEscalationRate)">element "auc:ElectricityPriceEscalationRate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:GasPriceEscalationRate)">element "auc:GasPriceEscalationRate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:InflationRate)">element "auc:InflationRate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:LinkedPremisesOrSystem) &gt;= 0">element "auc:LinkedPremisesOrSystem" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:OtherEscalationRates)">element "auc:OtherEscalationRates" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Scenarios) &gt;= 0">element "auc:Scenarios" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:WaterPriceEscalationRate)">element "auc:WaterPriceEscalationRate" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:LinkedPremisesOrSystem">
<sch:assert test="count(auc:Building) &gt;= 0">element "auc:Building" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Section)">element "auc:Section" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Site) &gt;= 0">element "auc:Site" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Space)">element "auc:Space" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:System)">element "auc:System" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Building">
<sch:assert test="count(auc:LinkedBuildingID) &gt;= 1">element "auc:LinkedBuildingID" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:LinkedScheduleIDs)">element "auc:LinkedScheduleIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Site">
<sch:assert test="count(auc:LinkedSiteID) &gt;= 1">element "auc:LinkedSiteID" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:LinkedScheduleIDs)">element "auc:LinkedScheduleIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:Scenarios">
<sch:assert test="count(auc:Scenario) &gt;= 0">element "auc:Scenario" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report/auc:Scenarios/auc:Scenario">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]">
<sch:assert test="count(auc:ASHRAEAuditLevel) &gt;= 0">element "auc:ASHRAEAuditLevel" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditDates) &gt;= 0">element "auc:AuditDates" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Qualifications) &gt;= 0">element "auc:Qualifications" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:RetrocommissioningAudit) &gt;= 0">element "auc:RetrocommissioningAudit" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedFields) &gt;= 0">element "auc:UserDefinedFields" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Utilities) &gt;= 0">element "auc:Utilities" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates">
<sch:assert test="count(auc:AuditDate) &gt;= 0">element "auc:AuditDate" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditDate[auc:DateType/text() != 'Custom']) &gt;= 0">element "auc:AuditDate[auc:DateType/text() != 'Custom']" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditDate[auc:DateType/text() = 'Custom']) &gt;= 0">element "auc:AuditDate[auc:DateType/text() = 'Custom']" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates/auc:AuditDate">
<sch:assert test="count(auc:Date) &gt;= 1">element "auc:Date" is REQUIRED</sch:assert>
<sch:assert test="count(auc:DateType) &gt;= 1">element "auc:DateType" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates/auc:AuditDate/auc:DateType">
<sch:assert test="contains('_Custom_ _Site Visit_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Custom" or "Site Visit"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates/auc:AuditDate[auc:DateType/text() != 'Custom']">
<sch:assert test="not(auc:CustomDateType)">element "auc:CustomDateType" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates/auc:AuditDate[auc:DateType/text() = 'Custom']">
<sch:assert test="count(auc:CustomDateType) &gt;= 1">element "auc:CustomDateType" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:AuditDates/auc:AuditDate[auc:DateType/text() = 'Custom']/auc:CustomDateType">
<sch:assert test="contains('_Level 1: Walk-through_ _Level 2: Energy Survey and Analysis_ _Level 3: Detailed Survey and Analysis_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Level 1: Walk-through", "Level 2: Energy Survey and Analysis", or "Level 3: Detailed Survey and Analysis"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Qualifications">
<sch:assert test="count(auc:Qualification) &gt;= 0">element "auc:Qualification" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Qualifications/auc:Qualification">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="count(auc:AuditTeamMemberCertificationType) &gt;= 0">element "auc:AuditTeamMemberCertificationType" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditorQualificationNumber) &gt;= 0">element "auc:AuditorQualificationNumber" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditorQualificationState) &gt;= 0">element "auc:AuditorQualificationState" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:AuditorQualificationType) &gt;= 0">element "auc:AuditorQualificationType" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:CertificationExpirationDate) &gt;= 0">element "auc:CertificationExpirationDate" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:CertifiedAuditTeamMemberContactID) &gt;= 0">element "auc:CertifiedAuditTeamMemberContactID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Qualifications/auc:Qualification/auc:AuditTeamMemberCertificationType">
<sch:assert test="contains('_ASHRAE Building Commissioning Professional (BCxP)_ _ASHRAE Building Energy Assessment Professional (BEAP)_ _ASHRAE Building Energy Modeling Professional (BEMP)_ _Accredited Commissioning Process Authority Professional (CxAP)_ _Associate Commissioning Professional (ACP)_ _Associated Air Balance Council (AABC) Certified Member Agency_ _Associated Air Balance Council (AABC) Test and Balance Technician_ _Association of Energy Engineers Certified Building Commissioning Firm Program (CBCF)_ _Association of Energy Engineers Certified Building Commissioning Professional (CBCP)_ _Association of Energy Engineers Certified Building Energy Simulation Analyst (BESA)_ _Association of Energy Engineers Certified Business Energy Professional (BEP)_ _Association of Energy Engineers Certified Carbon Reduction Manager (CRM)_ _Association of Energy Engineers Certified Demand Side Manager (CDSM)_ _Association of Energy Engineers Certified Energy Auditor (CEA)_ _Association of Energy Engineers Certified Energy Manager (CEM)_ _Association of Energy Engineers Certified Energy Procurement Professional (CEP)_ _Association of Energy Engineers Certified GeoExchange Designer Program (CGD)_ _Association of Energy Engineers Certified Green Building Engineer (GBE)_ _Association of Energy Engineers Certified Industrial Energy Professional (CIEP)_ _Association of Energy Engineers Certified Lighting Efficiency Professional (CLEP)_ _Association of Energy Engineers Certified Measurement &amp;#38; Verification Professional (CMVP)_ _Association of Energy Engineers Certified Power Quality Professional (CPQ)_ _Association of Energy Engineers Certified Residential Energy Auditor (REA)_ _Association of Energy Engineers Certified Sustainable Development Professional (CSDP)_ _Association of Energy Engineers Certified Water Efficiency Professional (CWEP)_ _Association of Energy Engineers Distributed Generation Certified Professional (DGCP)_ _Association of Energy Engineers Energy Efficiency Practitioner (EEP)_ _Association of Energy Engineers Performance Contracting and Funding Professional (PCF)_ _Association of Energy Engineers Renewable Energy Professional (REP)_ _Building Operator Certification (BOC): Level 1_ _Building Operator Certification (BOC): Level 2_ _Building Performance Institute (BPI) Certification_ _Building Performance Institute (BPI): Advanced Home Energy Professional (HEP)_ _Building Performance Institute (BPI): Advanced Home Energy Professional - Crew Leader (HEP-CL)_ _Building Performance Institute (BPI): Advanced Home Energy Professional - Energy Auditor (HEP-EA)_ _Building Performance Institute (BPI): Advanced Home Energy Professional - Quality Control Inspector (HEP-QCI)_ _Building Performance Institute (BPI): Advanced Home Energy Professional - Retrofit Installer (HEP-RI)_ _Building Performance Institute (BPI): Building Analyst (BA)_ _Building Performance Institute (BPI): Multifamily Building Analyst_ _Commissioning Process Management Professional (CPMP)_ _Department of Buildings (DOB) Approved Agent_ _Existing Building Commissioning Professional (EBCP)_ _GreenPoint Rater Existing Home Multifamily Rater_ _HERS Whole House (HERS II) Rater_ _High Pressure Boiler Operating Engineer_ _High-Performance Building Design Professional (HBDP)_ _International Union of Operating Engineers Certified Energy Specialist_ _NYSERDA FlexTech Consultant_ _Northwest Energy Education Institute Energy Management Certification_ _Other_ _PhD in Mechanical Engineering_ _Professional Engineer (PE)_ _Refrigerating System Operating Engineer_ _Registered Architect (RA)_ _Residential Energy Services Network (RESNET) - Home Partner_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "ASHRAE Building Commissioning Professional (BCxP)", "ASHRAE Building Energy Assessment Professional (BEAP)", "ASHRAE Building Energy Modeling Professional (BEMP)", "Accredited Commissioning Process Authority Professional (CxAP)", "Associate Commissioning Professional (ACP)", "Associated Air Balance Council (AABC) Certified Member Agency", "Associated Air Balance Council (AABC) Test and Balance Technician", "Association of Energy Engineers Certified Building Commissioning Firm Program (CBCF)", "Association of Energy Engineers Certified Building Commissioning Professional (CBCP)", "Association of Energy Engineers Certified Building Energy Simulation Analyst (BESA)", "Association of Energy Engineers Certified Business Energy Professional (BEP)", "Association of Energy Engineers Certified Carbon Reduction Manager (CRM)", "Association of Energy Engineers Certified Demand Side Manager (CDSM)", "Association of Energy Engineers Certified Energy Auditor (CEA)", "Association of Energy Engineers Certified Energy Manager (CEM)", "Association of Energy Engineers Certified Energy Procurement Professional (CEP)", "Association of Energy Engineers Certified GeoExchange Designer Program (CGD)", "Association of Energy Engineers Certified Green Building Engineer (GBE)", "Association of Energy Engineers Certified Industrial Energy Professional (CIEP)", "Association of Energy Engineers Certified Lighting Efficiency Professional (CLEP)", "Association of Energy Engineers Certified Measurement &amp;#38; Verification Professional (CMVP)", "Association of Energy Engineers Certified Power Quality Professional (CPQ)", "Association of Energy Engineers Certified Residential Energy Auditor (REA)", "Association of Energy Engineers Certified Sustainable Development Professional (CSDP)", "Association of Energy Engineers Certified Water Efficiency Professional (CWEP)", "Association of Energy Engineers Distributed Generation Certified Professional (DGCP)", "Association of Energy Engineers Energy Efficiency Practitioner (EEP)", "Association of Energy Engineers Performance Contracting and Funding Professional (PCF)", "Association of Energy Engineers Renewable Energy Professional (REP)", "Building Operator Certification (BOC): Level 1", "Building Operator Certification (BOC): Level 2", "Building Performance Institute (BPI) Certification", "Building Performance Institute (BPI): Advanced Home Energy Professional (HEP)", "Building Performance Institute (BPI): Advanced Home Energy Professional - Crew Leader (HEP-CL)", "Building Performance Institute (BPI): Advanced Home Energy Professional - Energy Auditor (HEP-EA)", "Building Performance Institute (BPI): Advanced Home Energy Professional - Quality Control Inspector (HEP-QCI)", "Building Performance Institute (BPI): Advanced Home Energy Professional - Retrofit Installer (HEP-RI)", "Building Performance Institute (BPI): Building Analyst (BA)", "Building Performance Institute (BPI): Multifamily Building Analyst", "Commissioning Process Management Professional (CPMP)", "Department of Buildings (DOB) Approved Agent", "Existing Building Commissioning Professional (EBCP)", "GreenPoint Rater Existing Home Multifamily Rater", "HERS Whole House (HERS II) Rater", "High Pressure Boiler Operating Engineer", "High-Performance Building Design Professional (HBDP)", "International Union of Operating Engineers Certified Energy Specialist", "NYSERDA FlexTech Consultant", "Northwest Energy Education Institute Energy Management Certification", "Other", "PhD in Mechanical Engineering", "Professional Engineer (PE)", "Refrigerating System Operating Engineer", "Registered Architect (RA)", or "Residential Energy Services Network (RESNET) - Home Partner"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Qualifications/auc:Qualification/auc:CertifiedAuditTeamMemberContactID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields">
<sch:assert test="count(auc:UserDefinedField) &gt;= 0">element "auc:UserDefinedField" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 1: Walk-through Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 1: Walk-through Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 2: Energy Survey and Analysis Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 2: Energy Survey and Analysis Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 3: Detailed Survey and Analysis Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 3: Detailed Survey and Analysis Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Notes For Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Notes For Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Notes Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Notes Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Team Notes Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Team Notes Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Audit Template Report Type']/auc:FieldValue) &gt;= 1">element "auc:UserDefinedField[auc:FieldName/text() = 'Audit Template Report Type']/auc:FieldValue" is REQUIRED</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Auditor Years Of Experience']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Auditor Years Of Experience']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year']/auc:FieldValue" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField">
<sch:assert test="count(auc:FieldName) &gt;= 1">element "auc:FieldName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FieldValue) &gt;= 1">element "auc:FieldValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField/auc:FieldName">
<sch:assert test="contains('_Audit Date For Level 1: Walk-through Is Not Applicable_ _Audit Date For Level 2: Energy Survey and Analysis Is Not Applicable_ _Audit Date For Level 3: Detailed Survey and Analysis Is Not Applicable_ _Audit Filing Status_ _Audit Filing Status Is Not Applicable_ _Audit Notes_ _Audit Notes For Not Applicable_ _Audit Notes Is Not Applicable_ _Audit Team Notes_ _Audit Team Notes Is Not Applicable_ _Audit Template Report Type_ _Auditor Years Of Experience_ _Early Compliance_ _Early Compliance Is Not Applicable_ _Required Audit Year_ _Required Audit Year Is Not Applicable_ _San Francisco Affidavit Whole Audit Signature_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Audit Date For Level 1: Walk-through Is Not Applicable", "Audit Date For Level 2: Energy Survey and Analysis Is Not Applicable", "Audit Date For Level 3: Detailed Survey and Analysis Is Not Applicable", "Audit Filing Status", "Audit Filing Status Is Not Applicable", "Audit Notes", "Audit Notes For Not Applicable", "Audit Notes Is Not Applicable", "Audit Team Notes", "Audit Team Notes Is Not Applicable", "Audit Template Report Type", "Auditor Years Of Experience", "Early Compliance", "Early Compliance Is Not Applicable", "Required Audit Year", "Required Audit Year Is Not Applicable", or "San Francisco Affidavit Whole Audit Signature"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 1: Walk-through Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 2: Energy Survey and Analysis Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Date For Level 3: Detailed Survey and Analysis Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Filing Status']/auc:FieldValue">
<sch:assert test="contains('_Amended Filing_ _Initial Filing_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Amended Filing" or "Initial Filing"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Notes Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Team Notes Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Audit Template Report Type']/auc:FieldValue">
<sch:assert test="contains('_New York City Energy Efficiency Report_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "New York City Energy Efficiency Report"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Auditor Years Of Experience']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Early Compliance']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Required Audit Year']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 1800)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 1800</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Utilities">
<sch:assert test="count(auc:Utility) &gt;= 0">element "auc:Utility" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Utilities/auc:Utility">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:ElectricDistributionUtility)">element "auc:ElectricDistributionUtility" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FuelInterruptibility)">element "auc:FuelInterruptibility" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:MeteringConfiguration) &gt;= 0">element "auc:MeteringConfiguration" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:PowerPlant)">element "auc:PowerPlant" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:RateSchedules) &gt;= 0">element "auc:RateSchedules" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:SourceSiteRatio)">element "auc:SourceSiteRatio" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:TypeOfResourceMeter)">element "auc:TypeOfResourceMeter" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:UtilityAccountNumber) &gt;= 0">element "auc:UtilityAccountNumber" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:UtilityBillpayer)">element "auc:UtilityBillpayer" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UtilityMeterNumbers)">element "auc:UtilityMeterNumbers" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UtilityName)">element "auc:UtilityName" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Utilities/auc:Utility/auc:MeteringConfiguration">
<sch:assert test="contains('_Direct metering_ _Master meter with sub metering_ _Master meter without sub metering_ _Other_ _Unknown_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Direct metering", "Master meter with sub metering", "Master meter without sub metering", "Other", or "Unknown"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Utilities/auc:Utility/auc:RateSchedules">
<sch:assert test="count(auc:RateSchedule) &gt;= 0">element "auc:RateSchedule" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Building/auc:LinkedBuildingID]/auc:Utilities/auc:Utility/auc:RateSchedules/auc:RateSchedule">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:AverageMarginalCostRate)">element "auc:AverageMarginalCostRate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FixedMonthlyCharge)">element "auc:FixedMonthlyCharge" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:MinimumPowerFactorWithoutPenalty)">element "auc:MinimumPowerFactorWithoutPenalty" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:NetMetering)">element "auc:NetMetering" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:RateStructureEffectiveDate)">element "auc:RateStructureEffectiveDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:RateStructureEndDate)">element "auc:RateStructureEndDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:RateStructureName) &gt;= 0">element "auc:RateStructureName" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:RateStructureSector)">element "auc:RateStructureSector" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ReactivePowerCharge)">element "auc:ReactivePowerCharge" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ReferenceForRateStructure)">element "auc:ReferenceForRateStructure" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:TypeOfRateStructure)">element "auc:TypeOfRateStructure" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Reports/auc:Report[auc:LinkedPremisesOrSystem/auc:Site/auc:LinkedSiteID]">
<sch:assert test="not(auc:ASHRAEAuditLevel)">element "auc:ASHRAEAuditLevel" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:AuditDates)">element "auc:AuditDates" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Qualifications)">element "auc:Qualifications" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:RetrocommissioningAudit)">element "auc:RetrocommissioningAudit" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Utilities)">element "auc:Utilities" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Schedules">
<sch:assert test="count(auc:Schedule) &gt;= 0">element "auc:Schedule" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Schedules/auc:Schedule">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(@Status)">element "@Status" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:ScheduleDetails) &gt;= 0">element "auc:ScheduleDetails" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:SchedulePeriodBeginDate)">element "auc:SchedulePeriodBeginDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SchedulePeriodEndDate)">element "auc:SchedulePeriodEndDate" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Schedules/auc:Schedule/auc:ScheduleDetails">
<sch:assert test="count(auc:ScheduleDetail) &gt;= 0">element "auc:ScheduleDetail" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Schedules/auc:Schedule/auc:ScheduleDetails/auc:ScheduleDetail">
<sch:assert test="count(auc:DayEndTime) &gt;= 1">element "auc:DayEndTime" is REQUIRED</sch:assert>
<sch:assert test="count(auc:DayStartTime) &gt;= 1">element "auc:DayStartTime" is REQUIRED</sch:assert>
<sch:assert test="count(auc:DayType) &gt;= 1">element "auc:DayType" is REQUIRED</sch:assert>
<sch:assert test="not(auc:PartialOperationPercentage)">element "auc:PartialOperationPercentage" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ScheduleCategory)">element "auc:ScheduleCategory" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Schedules/auc:Schedule/auc:ScheduleDetails/auc:ScheduleDetail/auc:DayType">
<sch:assert test="contains('_Saturday_ _Sunday_ _Weekday_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Saturday", "Sunday", or "Weekday"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites">
<sch:assert test="count(auc:Site) &gt;= 1">element "auc:Site" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Site[count(auc:Buildings/auc:Building) &gt;= 1]) &gt;= 0">element "auc:Site[count(auc:Buildings/auc:Building) &gt;= 1]" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Site[not(auc:Buildings/auc:Building)]) &gt;= 0">element "auc:Site[not(auc:Buildings/auc:Building)]" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Address) &gt;= 1">element "auc:Address" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Buildings) &gt;= 0">element "auc:Buildings" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:ClimateZoneType)">element "auc:ClimateZoneType" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:EGRIDRegionCode)">element "auc:EGRIDRegionCode" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Latitude)">element "auc:Latitude" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Longitude)">element "auc:Longitude" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:OccupancyClassification)">element "auc:OccupancyClassification" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Ownership)">element "auc:Ownership" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:OwnershipStatus)">element "auc:OwnershipStatus" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:PremisesIdentifiers) &gt;= 1">element "auc:PremisesIdentifiers" is REQUIRED</sch:assert>
<sch:assert test="not(auc:PremisesNotes)">element "auc:PremisesNotes" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PrimaryContactID)">element "auc:PrimaryContactID" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WeatherDataStationID)">element "auc:WeatherDataStationID" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WeatherStationCategory)">element "auc:WeatherStationCategory" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WeatherStationName)">element "auc:WeatherStationName" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Address">
<sch:assert test="count(auc:City) &gt;= 1">element "auc:City" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Country)">element "auc:Country" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:County)">element "auc:County" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PostalCode)">element "auc:PostalCode" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PostalCodePlus4)">element "auc:PostalCodePlus4" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:State) &gt;= 1">element "auc:State" is REQUIRED</sch:assert>
<sch:assert test="not(auc:StreetAddressDetail)">element "auc:StreetAddressDetail" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Address/auc:City">
<sch:assert test="contains('_New York_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "New York"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Address/auc:State">
<sch:assert test="contains('_NY_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "NY"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings">
<sch:assert test="count(auc:Building) &gt;= 0">element "auc:Building" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="count(auc:Address) &gt;= 1">element "auc:Address" is REQUIRED</sch:assert>
<sch:assert test="count(auc:AspectRatio) &gt;= 0">element "auc:AspectRatio" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Assessments)">element "auc:Assessments" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:BuildingAutomationSystem) &gt;= 0">element "auc:BuildingAutomationSystem" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:BuildingClassification)">element "auc:BuildingClassification" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:ClimateZone) &gt;= 0">element "auc:ClimateZone" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ConditionedFloorsAboveGrade) &gt;= 0">element "auc:ConditionedFloorsAboveGrade" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:ConditionedFloorsBelowGrade) &gt;= 0">element "auc:ConditionedFloorsBelowGrade" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:EGRIDRegionCode)">element "auc:EGRIDRegionCode" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FederalBuilding)">element "auc:FederalBuilding" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FloorAreas) &gt;= 0">element "auc:FloorAreas" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:FloorsAboveGrade)">element "auc:FloorsAboveGrade" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorsBelowGrade)">element "auc:FloorsBelowGrade" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:HeightDistribution)">element "auc:HeightDistribution" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:HistoricalLandmark) &gt;= 0">element "auc:HistoricalLandmark" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:HorizontalSurroundings)">element "auc:HorizontalSurroundings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Latitude) &gt;= 0">element "auc:Latitude" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Longitude) &gt;= 0">element "auc:Longitude" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:NAICSCode)">element "auc:NAICSCode" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:NumberOfBusinesses)">element "auc:NumberOfBusinesses" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:NumberOfFacilitiesOnSite) &gt;= 0">element "auc:NumberOfFacilitiesOnSite" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:OccupancyClassification)">element "auc:OccupancyClassification" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:OccupancyLevels)">element "auc:OccupancyLevels" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:OperatorType)">element "auc:OperatorType" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:OverallWindowToWallRatio) &gt;= 0">element "auc:OverallWindowToWallRatio" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Ownership) &gt;= 0">element "auc:Ownership" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:OwnershipStatus)">element "auc:OwnershipStatus" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:PercentLeasedByOwner) &gt;= 0">element "auc:PercentLeasedByOwner" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:PercentOccupiedByOwner) &gt;= 0">element "auc:PercentOccupiedByOwner" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Perimeter) &gt;= 0">element "auc:Perimeter" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:PortfolioManager)">element "auc:PortfolioManager" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:PremisesIdentifiers) &gt;= 0">element "auc:PremisesIdentifiers" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:PremisesName) &gt;= 0">element "auc:PremisesName" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:PremisesNotes) &gt;= 0">element "auc:PremisesNotes" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:PrimaryContactID)">element "auc:PrimaryContactID" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PubliclySubsidized)">element "auc:PubliclySubsidized" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:RetrocommissioningDate) &gt;= 0">element "auc:RetrocommissioningDate" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Sections) &gt;= 0">element "auc:Sections" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:SpatialUnits)">element "auc:SpatialUnits" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:TenantIDs)">element "auc:TenantIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:TotalExteriorAboveGradeWallArea) &gt;= 0">element "auc:TotalExteriorAboveGradeWallArea" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:TotalExteriorBelowGradeWallArea) &gt;= 0">element "auc:TotalExteriorBelowGradeWallArea" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:TypicalOccupantUsages)">element "auc:TypicalOccupantUsages" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:UnconditionedFloorsAboveGrade) &gt;= 0">element "auc:UnconditionedFloorsAboveGrade" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UnconditionedFloorsBelowGrade) &gt;= 0">element "auc:UnconditionedFloorsBelowGrade" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedFields) &gt;= 0">element "auc:UserDefinedFields" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:VerticalSurroundings)">element "auc:VerticalSurroundings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:WeatherDataStationID) &gt;= 0">element "auc:WeatherDataStationID" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:WeatherStationCategory)">element "auc:WeatherStationCategory" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:WeatherStationName) &gt;= 0">element "auc:WeatherStationName" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:YearOccupied)">element "auc:YearOccupied" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:YearOfConstruction) &gt;= 1">element "auc:YearOfConstruction" is REQUIRED</sch:assert>
<sch:assert test="count(auc:YearOfLastEnergyAudit) &gt;= 0">element "auc:YearOfLastEnergyAudit" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:YearOfLastMajorRemodel) &gt;= 0">element "auc:YearOfLastMajorRemodel" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:YearOfLatestRetrofit)">element "auc:YearOfLatestRetrofit" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Address">
<sch:assert test="count(auc:City) &gt;= 1">element "auc:City" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Country)">element "auc:Country" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:County)">element "auc:County" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:PostalCode) &gt;= 1">element "auc:PostalCode" is REQUIRED</sch:assert>
<sch:assert test="not(auc:PostalCodePlus4)">element "auc:PostalCodePlus4" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:State) &gt;= 1">element "auc:State" is REQUIRED</sch:assert>
<sch:assert test="count(auc:StreetAddressDetail) &gt;= 0">element "auc:StreetAddressDetail" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Address/auc:City">
<sch:assert test="contains('_New York_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "New York"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Address/auc:State">
<sch:assert test="contains('_NY_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "NY"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Address/auc:StreetAddressDetail">
<sch:assert test="not(auc:Complex)">element "auc:Complex" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Simplified) &gt;= 1">element "auc:Simplified" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Address/auc:StreetAddressDetail/auc:Simplified">
<sch:assert test="count(auc:StreetAddress) &gt;= 0">element "auc:StreetAddress" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:AspectRatio">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ClimateZone">
<sch:assert test="count(auc:ASHRAE) &gt;= 0">element "auc:ASHRAE" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:BuildingAmerica)">element "auc:BuildingAmerica" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:CBECSType)">element "auc:CBECSType" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:CaliforniaTitle24) &gt;= 0">element "auc:CaliforniaTitle24" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:DOE)">element "auc:DOE" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:EnergyStar)">element "auc:EnergyStar" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:IECC)">element "auc:IECC" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Other)">element "auc:Other" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ClimateZone/auc:ASHRAE">
<sch:assert test="count(auc:ClimateZone) &gt;= 0">element "auc:ClimateZone" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ClimateZone/auc:ASHRAE/auc:ClimateZone">
<sch:assert test="contains('_1A_ _2A_ _2B_ _3A_ _3B_ _3C_ _4A_ _4B_ _4C_ _5A_ _5B_ _6A_ _6B_ _7_ _8_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "1A", "2A", "2B", "3A", "3B", "3C", "4A", "4B", "4C", "5A", "5B", "6A", "6B", "7", or "8"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ClimateZone/auc:CaliforniaTitle24">
<sch:assert test="count(auc:ClimateZone) &gt;= 0">element "auc:ClimateZone" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ClimateZone/auc:CaliforniaTitle24/auc:ClimateZone">
<sch:assert test="contains('_Climate Zone 1_ _Climate Zone 10_ _Climate Zone 11_ _Climate Zone 12_ _Climate Zone 13_ _Climate Zone 14_ _Climate Zone 15_ _Climate Zone 16_ _Climate Zone 2_ _Climate Zone 3_ _Climate Zone 4_ _Climate Zone 5_ _Climate Zone 6_ _Climate Zone 7_ _Climate Zone 8_ _Climate Zone 9_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Climate Zone 1", "Climate Zone 10", "Climate Zone 11", "Climate Zone 12", "Climate Zone 13", "Climate Zone 14", "Climate Zone 15", "Climate Zone 16", "Climate Zone 2", "Climate Zone 3", "Climate Zone 4", "Climate Zone 5", "Climate Zone 6", "Climate Zone 7", "Climate Zone 8", or "Climate Zone 9"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ConditionedFloorsAboveGrade">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:ConditionedFloorsBelowGrade">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:FloorAreas">
<sch:assert test="count(auc:FloorArea) &gt;= 0">element "auc:FloorArea" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:FloorAreas/auc:FloorArea">
<sch:assert test="not(auc:FloorAreaCustomName)">element "auc:FloorAreaCustomName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorAreaPercentage)">element "auc:FloorAreaPercentage" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FloorAreaType) &gt;= 1">element "auc:FloorAreaType" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FloorAreaValue) &gt;= 1">element "auc:FloorAreaValue" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Story)">element "auc:Story" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:FloorAreas/auc:FloorArea/auc:FloorAreaType">
<sch:assert test="contains('_Cooled only_ _Footprint_ _Gross_ _Heated and Cooled_ _Heated only_ _Net_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Cooled only", "Footprint", "Gross", "Heated and Cooled", "Heated only", or "Net"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:FloorAreas/auc:FloorArea/auc:FloorAreaValue">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Latitude">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= -90) and (number() &lt;= 90)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to -90, and MUST be less than or equal to 90</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Longitude">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= -180) and (number() &lt;= 180)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to -180, and MUST be less than or equal to 180</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:NumberOfFacilitiesOnSite">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:OverallWindowToWallRatio">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Ownership">
<sch:assert test="contains('_Corporation/partnership/LLC_ _Individual_ _Non-profit organization_ _Other_ _Privately owned_ _Property management company_ _Religious organization_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Corporation/partnership/LLC", "Individual", "Non-profit organization", "Other", "Privately owned", "Property management company", or "Religious organization"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PercentLeasedByOwner">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PercentOccupiedByOwner">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Perimeter">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PremisesIdentifiers">
<sch:assert test="count(auc:PremisesIdentifier) &gt;= 0">element "auc:PremisesIdentifier" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PremisesIdentifiers/auc:PremisesIdentifier">
<sch:assert test="count(auc:IdentifierCustomName) &gt;= 1">element "auc:IdentifierCustomName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:IdentifierLabel) &gt;= 1">element "auc:IdentifierLabel" is REQUIRED</sch:assert>
<sch:assert test="count(auc:IdentifierValue) &gt;= 1">element "auc:IdentifierValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PremisesIdentifiers/auc:PremisesIdentifier/auc:IdentifierCustomName">
<sch:assert test="contains('_Atlanta Building ID_ _BIN_ _City Custom Building ID_ _Custom ID 1_ _Custom ID 2_ _EER_ _Portfolio Manager Building ID_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Atlanta Building ID", "BIN", "City Custom Building ID", "Custom ID 1", "Custom ID 2", "EER", or "Portfolio Manager Building ID"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:PremisesIdentifiers/auc:PremisesIdentifier/auc:IdentifierLabel">
<sch:assert test="contains('_Custom_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Custom"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections">
<sch:assert test="count(auc:Section) &gt;= 0">element "auc:Section" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Section[auc:SectionType = 'Space function']) &gt;= 0">element "auc:Section[auc:SectionType = 'Space function']" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Section[auc:SectionType = 'Whole building']) &gt;= 0">element "auc:Section[auc:SectionType = 'Whole building']" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Ceilings)">element "auc:Ceilings" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorToCeilingHeight)">element "auc:FloorToCeilingHeight" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorToFloorHeight)">element "auc:FloorToFloorHeight" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorsAboveGrade)">element "auc:FloorsAboveGrade" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorsBelowGrade)">element "auc:FloorsBelowGrade" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorsPartiallyBelowGrade)">element "auc:FloorsPartiallyBelowGrade" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Latitude)">element "auc:Latitude" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Longitude)">element "auc:Longitude" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PerimeterZoneDepth)">element "auc:PerimeterZoneDepth" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PremisesIdentifiers)">element "auc:PremisesIdentifiers" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PremisesName)">element "auc:PremisesName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PremisesNotes)">element "auc:PremisesNotes" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PrimaryContactID)">element "auc:PrimaryContactID" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:SectionType) &gt;= 1">element "auc:SectionType" is REQUIRED</sch:assert>
<sch:assert test="not(auc:SideA1Orientation)">element "auc:SideA1Orientation" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Story)">element "auc:Story" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:TenantIDs)">element "auc:TenantIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ThermalZoneLayout)">element "auc:ThermalZoneLayout" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WeatherDataStationID)">element "auc:WeatherDataStationID" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WeatherStationName)">element "auc:WeatherStationName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:XOffset)">element "auc:XOffset" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:YOffset)">element "auc:YOffset" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:YearOfConstruction)">element "auc:YearOfConstruction" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ZOffset)">element "auc:ZOffset" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section/auc:SectionType">
<sch:assert test="contains('_Space function_ _Whole building_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Space function" or "Whole building"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']">
<sch:assert test="not(auc:ExteriorFloors)">element "auc:ExteriorFloors" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FloorAreas) &gt;= 0">element "auc:FloorAreas" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:FootprintShape)">element "auc:FootprintShape" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Foundations)">element "auc:Foundations" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:OccupancyClassification) &gt;= 0">element "auc:OccupancyClassification" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:OccupancyLevels) &gt;= 0">element "auc:OccupancyLevels" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:Roofs)">element "auc:Roofs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Sides)">element "auc:Sides" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:ThermalZones) &gt;= 0">element "auc:ThermalZones" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:TypicalOccupantUsages) &gt;= 0">element "auc:TypicalOccupantUsages" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedFields) &gt;= 0">element "auc:UserDefinedFields" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:FloorAreas">
<sch:assert test="count(auc:FloorArea) &gt;= 0">element "auc:FloorArea" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:FloorAreas/auc:FloorArea">
<sch:assert test="not(auc:FloorAreaCustomName)">element "auc:FloorAreaCustomName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:FloorAreaPercentage)">element "auc:FloorAreaPercentage" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FloorAreaType) &gt;= 1">element "auc:FloorAreaType" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FloorAreaValue) &gt;= 1">element "auc:FloorAreaValue" is REQUIRED</sch:assert>
<sch:assert test="not(auc:Story)">element "auc:Story" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:FloorAreas/auc:FloorArea/auc:FloorAreaType">
<sch:assert test="contains('_Common_ _Conditioned_ _Gross_ _Tenant_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Common", "Conditioned", "Gross", or "Tenant"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:FloorAreas/auc:FloorArea/auc:FloorAreaValue">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:OccupancyClassification">
<sch:assert test="contains('_Assembly-Arcade or casino without lodging_ _Assembly-Convention center_ _Assembly-Cultural entertainment_ _Assembly-Indoor arena_ _Assembly-Public_ _Assembly-Race track_ _Assembly-Religious_ _Assembly-Social entertainment_ _Assembly-Stadium_ _Assembly-Stadium (closed)_ _Assembly-Stadium (open)_ _Bank_ _Bar_ _Bar-Nightclub_ _Convenience store_ _Courthouse_ _Data center_ _Education_ _Education-Adult_ _Education-Higher_ _Education-Preschool or daycare_ _Education-Primary_ _Education-Vocational_ _Energy generation plant_ _Food sales_ _Food sales-Grocery store_ _Food service_ _Food service-Fast_ _Food service-Full_ _Gas station_ _Health care_ _Health care-Inpatient hospital_ _Health care-Outpatient facility_ _Health care-Outpatient non-diagnostic_ _Health care-Outpatient rehabilitation_ _Health care-Outpatient surgical_ _Health care-Skilled nursing facility_ _Health care-Veterinary_ _Industrial manufacturing plant_ _Laboratory_ _Lodging_ _Lodging with extended amenities_ _Lodging-Barracks_ _Lodging-Institutional_ _Media center_ _Mixed-use commercial_ _Multifamily_ _Non-office work area_ _Office_ _Office-Financial_ _Other_ _Parking_ _Public safety station_ _Public safety station-Fire_ _Public safety station-Police_ _Public safety-Correctional facility_ _Recreation_ _Recreation-Bowling alley_ _Recreation-Fitness center_ _Recreation-Ice rink_ _Recreation-Pool_ _Recreation-Roller rink_ _Residential_ _Retail_ _Retail-Automobile dealership_ _Retail-Enclosed mall_ _Retail-Hypermarket_ _Retail-Mall_ _Retail-Strip mall_ _Science park_ _Service_ _Service-Beauty and health_ _Service-Postal_ _Service-Repair_ _Shipping and receiving_ _Sport play area_ _Stage_ _Transportation terminal_ _Utility_ _Vivarium_ _Warehouse-Refrigerated_ _Warehouse-Self-storage_ _Warehouse-Unrefrigerated_ _Water treatment-Drinking water and distribution_ _Water treatment-Wastewater_ _Zoo_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Assembly-Arcade or casino without lodging", "Assembly-Convention center", "Assembly-Cultural entertainment", "Assembly-Indoor arena", "Assembly-Public", "Assembly-Race track", "Assembly-Religious", "Assembly-Social entertainment", "Assembly-Stadium", "Assembly-Stadium (closed)", "Assembly-Stadium (open)", "Bank", "Bar", "Bar-Nightclub", "Convenience store", "Courthouse", "Data center", "Education", "Education-Adult", "Education-Higher", "Education-Preschool or daycare", "Education-Primary", "Education-Vocational", "Energy generation plant", "Food sales", "Food sales-Grocery store", "Food service", "Food service-Fast", "Food service-Full", "Gas station", "Health care", "Health care-Inpatient hospital", "Health care-Outpatient facility", "Health care-Outpatient non-diagnostic", "Health care-Outpatient rehabilitation", "Health care-Outpatient surgical", "Health care-Skilled nursing facility", "Health care-Veterinary", "Industrial manufacturing plant", "Laboratory", "Lodging", "Lodging with extended amenities", "Lodging-Barracks", "Lodging-Institutional", "Media center", "Mixed-use commercial", "Multifamily", "Non-office work area", "Office", "Office-Financial", "Other", "Parking", "Public safety station", "Public safety station-Fire", "Public safety station-Police", "Public safety-Correctional facility", "Recreation", "Recreation-Bowling alley", "Recreation-Fitness center", "Recreation-Ice rink", "Recreation-Pool", "Recreation-Roller rink", "Residential", "Retail", "Retail-Automobile dealership", "Retail-Enclosed mall", "Retail-Hypermarket", "Retail-Mall", "Retail-Strip mall", "Science park", "Service", "Service-Beauty and health", "Service-Postal", "Service-Repair", "Shipping and receiving", "Sport play area", "Stage", "Transportation terminal", "Utility", "Vivarium", "Warehouse-Refrigerated", "Warehouse-Self-storage", "Warehouse-Unrefrigerated", "Water treatment-Drinking water and distribution", "Water treatment-Wastewater", or "Zoo"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:OccupancyLevels">
<sch:assert test="count(auc:OccupancyLevel) &gt;= 0">element "auc:OccupancyLevel" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:OccupancyLevels/auc:OccupancyLevel">
<sch:assert test="count(auc:OccupantQuantity) &gt;= 1">element "auc:OccupantQuantity" is REQUIRED</sch:assert>
<sch:assert test="count(auc:OccupantQuantityType) &gt;= 1">element "auc:OccupantQuantityType" is REQUIRED</sch:assert>
<sch:assert test="not(auc:OccupantType)">element "auc:OccupantType" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:OccupancyLevels/auc:OccupancyLevel/auc:OccupantQuantity">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:OccupancyLevels/auc:OccupancyLevel/auc:OccupantQuantityType">
<sch:assert test="contains('_Peak total occupants_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Peak total occupants"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones">
<sch:assert test="count(auc:ThermalZone) &gt;= 0">element "auc:ThermalZone" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones/auc:ThermalZone">
<sch:assert test="count(@ID) &gt;= 1">element "@ID" is REQUIRED</sch:assert>
<sch:assert test="not(auc:ACAdjusted)">element "auc:ACAdjusted" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:DeliveryIDs)">element "auc:DeliveryIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:HVACScheduleIDs) &gt;= 0">element "auc:HVACScheduleIDs" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:HeatLowered)">element "auc:HeatLowered" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PremisesName)">element "auc:PremisesName" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SetbackTemperatureHeating)">element "auc:SetbackTemperatureHeating" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:SetpointTemperatureCooling) &gt;= 0">element "auc:SetpointTemperatureCooling" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:SetpointTemperatureHeating) &gt;= 0">element "auc:SetpointTemperatureHeating" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:SetupTemperatureCooling)">element "auc:SetupTemperatureCooling" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:Spaces)">element "auc:Spaces" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones/auc:ThermalZone/auc:HVACScheduleIDs">
<sch:assert test="count(auc:HVACScheduleID) &gt;= 0">element "auc:HVACScheduleID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones/auc:ThermalZone/auc:HVACScheduleIDs/auc:HVACScheduleID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones/auc:ThermalZone/auc:SetpointTemperatureCooling">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text())">text "<sch:value-of select="text()"/>": element "text()" MUST be a number</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:ThermalZones/auc:ThermalZone/auc:SetpointTemperatureHeating">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text())">text "<sch:value-of select="text()"/>": element "text()" MUST be a number</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:TypicalOccupantUsages">
<sch:assert test="count(auc:TypicalOccupantUsage) &gt;= 0">element "auc:TypicalOccupantUsage" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:TypicalOccupantUsages/auc:TypicalOccupantUsage">
<sch:assert test="count(auc:TypicalOccupantUsageUnits) &gt;= 1">element "auc:TypicalOccupantUsageUnits" is REQUIRED</sch:assert>
<sch:assert test="count(auc:TypicalOccupantUsageValue) &gt;= 1">element "auc:TypicalOccupantUsageValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:TypicalOccupantUsages/auc:TypicalOccupantUsage/auc:TypicalOccupantUsageUnits">
<sch:assert test="contains('_Hours per week_ _Weeks per year_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Hours per week" or "Weeks per year"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:TypicalOccupantUsages/auc:TypicalOccupantUsage/auc:TypicalOccupantUsageValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields">
<sch:assert test="count(auc:UserDefinedField) &gt;= 0">element "auc:UserDefinedField" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Occupancy Classification Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Occupancy Classification Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Original Occupancy Classification']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Original Occupancy Classification']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Principal HVAC System Type']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Principal HVAC System Type']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Principal Lighting System Type']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Principal Lighting System Type']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Computers']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Computers']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Dwellings']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Dwellings']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Quantity of Dwellings Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Quantity of Dwellings Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Section Notes For Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Section Notes For Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField">
<sch:assert test="count(auc:FieldName) &gt;= 1">element "auc:FieldName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FieldValue) &gt;= 1">element "auc:FieldValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField/auc:FieldName">
<sch:assert test="contains('_Miscellaneous Electric Load_ _Miscellaneous Electric Load Is Not Applicable_ _Occupancy Classification Is Not Applicable_ _Original Occupancy Classification_ _Percentage Dwellings Occupied_ _Percentage Dwellings Occupied Is Not Applicable_ _Principal HVAC System Type_ _Principal Lighting System Type_ _Quantity Of Computers_ _Quantity Of Dwellings_ _Quantity Of Dwellings Is Not Applicable_ _Section Notes For Not Applicable_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Miscellaneous Electric Load", "Miscellaneous Electric Load Is Not Applicable", "Occupancy Classification Is Not Applicable", "Original Occupancy Classification", "Percentage Dwellings Occupied", "Percentage Dwellings Occupied Is Not Applicable", "Principal HVAC System Type", "Principal Lighting System Type", "Quantity Of Computers", "Quantity Of Dwellings", "Quantity Of Dwellings Is Not Applicable", or "Section Notes For Not Applicable"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Miscellaneous Electric Load']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Occupancy Classification Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Original Occupancy Classification']/auc:FieldValue">
<sch:assert test="contains('_Assembly-Arcade or casino without lodging_ _Assembly-Convention center_ _Assembly-Cultural entertainment_ _Assembly-Indoor arena_ _Assembly-Public_ _Assembly-Race track_ _Assembly-Religious_ _Assembly-Social entertainment_ _Assembly-Stadium_ _Assembly-Stadium (closed)_ _Assembly-Stadium (open)_ _Bank_ _Bar_ _Bar-Nightclub_ _Convenience store_ _Courthouse_ _Data center_ _Education_ _Education-Adult_ _Education-Higher_ _Education-Preschool or daycare_ _Education-Primary_ _Education-Vocational_ _Energy generation plant_ _Food sales_ _Food sales-Grocery store_ _Food service_ _Food service-Fast_ _Food service-Full_ _Gas station_ _Health care_ _Health care-Inpatient hospital_ _Health care-Outpatient facility_ _Health care-Outpatient non-diagnostic_ _Health care-Outpatient rehabilitation_ _Health care-Outpatient surgical_ _Health care-Skilled nursing facility_ _Health care-Veterinary_ _Industrial manufacturing plant_ _Laboratory_ _Lodging_ _Lodging with extended amenities_ _Lodging-Barracks_ _Lodging-Institutional_ _Media center_ _Mixed-use commercial_ _Multifamily_ _Non-office work area_ _Office_ _Office-Financial_ _Other_ _Parking_ _Public safety station_ _Public safety station-Fire_ _Public safety station-Police_ _Public safety-Correctional facility_ _Recreation_ _Recreation-Bowling alley_ _Recreation-Fitness center_ _Recreation-Ice rink_ _Recreation-Pool_ _Recreation-Roller rink_ _Residential_ _Retail_ _Retail-Automobile dealership_ _Retail-Enclosed mall_ _Retail-Hypermarket_ _Retail-Mall_ _Retail-Strip mall_ _Science park_ _Service_ _Service-Beauty and health_ _Service-Postal_ _Service-Repair_ _Shipping and receiving_ _Sport play area_ _Stage_ _Transportation terminal_ _Utility_ _Vivarium_ _Warehouse-Refrigerated_ _Warehouse-Self-storage_ _Warehouse-Unrefrigerated_ _Water treatment-Drinking water and distribution_ _Water treatment-Wastewater_ _Zoo_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Assembly-Arcade or casino without lodging", "Assembly-Convention center", "Assembly-Cultural entertainment", "Assembly-Indoor arena", "Assembly-Public", "Assembly-Race track", "Assembly-Religious", "Assembly-Social entertainment", "Assembly-Stadium", "Assembly-Stadium (closed)", "Assembly-Stadium (open)", "Bank", "Bar", "Bar-Nightclub", "Convenience store", "Courthouse", "Data center", "Education", "Education-Adult", "Education-Higher", "Education-Preschool or daycare", "Education-Primary", "Education-Vocational", "Energy generation plant", "Food sales", "Food sales-Grocery store", "Food service", "Food service-Fast", "Food service-Full", "Gas station", "Health care", "Health care-Inpatient hospital", "Health care-Outpatient facility", "Health care-Outpatient non-diagnostic", "Health care-Outpatient rehabilitation", "Health care-Outpatient surgical", "Health care-Skilled nursing facility", "Health care-Veterinary", "Industrial manufacturing plant", "Laboratory", "Lodging", "Lodging with extended amenities", "Lodging-Barracks", "Lodging-Institutional", "Media center", "Mixed-use commercial", "Multifamily", "Non-office work area", "Office", "Office-Financial", "Other", "Parking", "Public safety station", "Public safety station-Fire", "Public safety station-Police", "Public safety-Correctional facility", "Recreation", "Recreation-Bowling alley", "Recreation-Fitness center", "Recreation-Ice rink", "Recreation-Pool", "Recreation-Roller rink", "Residential", "Retail", "Retail-Automobile dealership", "Retail-Enclosed mall", "Retail-Hypermarket", "Retail-Mall", "Retail-Strip mall", "Science park", "Service", "Service-Beauty and health", "Service-Postal", "Service-Repair", "Shipping and receiving", "Sport play area", "Stage", "Transportation terminal", "Utility", "Vivarium", "Warehouse-Refrigerated", "Warehouse-Self-storage", "Warehouse-Unrefrigerated", "Water treatment-Drinking water and distribution", "Water treatment-Wastewater", or "Zoo"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Dwellings Occupied']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Principal HVAC System Type']/auc:FieldValue">
<sch:assert test="contains('_Dedicated Outdoor Air System_ _Four Pipe Fan Coil Unit_ _Ground Source Heat Pump_ _Packaged Rooftop Air Conditioner_ _Packaged Rooftop Heat Pump_ _Packaged Rooftop VAV with Electric Reheat_ _Packaged Rooftop VAV with Hot Water Reheat_ _Packaged Terminal Air Conditioner_ _Packaged Terminal Heat Pump_ _VAV with Electric Reheat_ _VAV with Hot Water Reheat_ _Ventilation Only_ _Warm Air Furnace_ _Water Loop Heat Pump_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Dedicated Outdoor Air System", "Four Pipe Fan Coil Unit", "Ground Source Heat Pump", "Packaged Rooftop Air Conditioner", "Packaged Rooftop Heat Pump", "Packaged Rooftop VAV with Electric Reheat", "Packaged Rooftop VAV with Hot Water Reheat", "Packaged Terminal Air Conditioner", "Packaged Terminal Heat Pump", "VAV with Electric Reheat", "VAV with Hot Water Reheat", "Ventilation Only", "Warm Air Furnace", or "Water Loop Heat Pump"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Principal Lighting System Type']/auc:FieldValue">
<sch:assert test="contains('_Compact Fluorescent_ _T5_ _T5HO_ _T8_ _Super T8_ _T12_ _T12HO_ _Halogen_ _Sodium Vapor High Pressure_ _Incandescent_ _LED_ _Mercury Vapor_ _Metal Halide_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Compact Fluorescent", "T5", "T5HO", "T8", "Super T8", "T12", "T12HO", "Halogen", "Sodium Vapor High Pressure", "Incandescent", "LED", "Mercury Vapor", or "Metal Halide"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Computers']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Quantity Of Dwellings']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Space function']/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Quantity of Dwellings Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']">
<sch:assert test="count(auc:ExteriorFloors) &gt;= 0">element "auc:ExteriorFloors" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:FloorAreas)">element "auc:FloorAreas" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:FootprintShape) &gt;= 0">element "auc:FootprintShape" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Foundations) &gt;= 0">element "auc:Foundations" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:OccupancyClassification)">element "auc:OccupancyClassification" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:OccupancyLevels)">element "auc:OccupancyLevels" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:Roofs) &gt;= 0">element "auc:Roofs" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:Sides) &gt;= 0">element "auc:Sides" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:ThermalZones)">element "auc:ThermalZones" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:TypicalOccupantUsages)">element "auc:TypicalOccupantUsages" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:UserDefinedFields)">element "auc:UserDefinedFields" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:ExteriorFloors">
<sch:assert test="count(auc:ExteriorFloor) &gt;= 0">element "auc:ExteriorFloor" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:ExteriorFloors/auc:ExteriorFloor">
<sch:assert test="count(auc:ExteriorFloorID) &gt;= 0">element "auc:ExteriorFloorID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:ExteriorFloors/auc:ExteriorFloor/auc:ExteriorFloorID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:ExteriorFloorArea)">element "auc:ExteriorFloorArea" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SpaceIDs)">element "auc:SpaceIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ThermalZoneIDs)">element "auc:ThermalZoneIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:FootprintShape">
<sch:assert test="contains('_L-Shape_ _O-Shape_ _Rectangular_ _T-Shape_ _U-Shape_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "L-Shape", "O-Shape", "Rectangular", "T-Shape", or "U-Shape"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Foundations">
<sch:assert test="count(auc:Foundation) &gt;= 0">element "auc:Foundation" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Foundations/auc:Foundation">
<sch:assert test="count(auc:FoundationID) &gt;= 0">element "auc:FoundationID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Foundations/auc:Foundation/auc:FoundationID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FoundationArea)">element "auc:FoundationArea" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SpaceIDs)">element "auc:SpaceIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ThermalZoneIDs)">element "auc:ThermalZoneIDs" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs">
<sch:assert test="count(auc:Roof) &gt;= 0">element "auc:Roof" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs/auc:Roof">
<sch:assert test="count(auc:RoofID) &gt;= 0">element "auc:RoofID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs/auc:Roof/auc:RoofID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:RoofArea)">element "auc:RoofArea" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:RoofCondition) &gt;= 0">element "auc:RoofCondition" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:RoofInsulatedArea)">element "auc:RoofInsulatedArea" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:SkylightIDs) &gt;= 0">element "auc:SkylightIDs" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs/auc:Roof/auc:RoofID/auc:RoofCondition">
<sch:assert test="contains('_Average_ _Excellent_ _Good_ _Poor_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Average", "Excellent", "Good", or "Poor"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs/auc:Roof/auc:RoofID/auc:SkylightIDs">
<sch:assert test="count(auc:SkylightID) &gt;= 0">element "auc:SkylightID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Roofs/auc:Roof/auc:RoofID/auc:SkylightIDs/auc:SkylightID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:PercentSkylightArea)">element "auc:PercentSkylightArea" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Sides">
<sch:assert test="count(auc:Side) &gt;= 0">element "auc:Side" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Sides/auc:Side">
<sch:assert test="count(auc:DoorID) &gt;= 0">element "auc:DoorID" is OPTIONAL</sch:assert>
<sch:assert test="not(auc:SideLength)">element "auc:SideLength" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:SideNumber)">element "auc:SideNumber" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:ThermalZoneIDs)">element "auc:ThermalZoneIDs" is NOT RECOMMENDED</sch:assert>
<sch:assert test="count(auc:WallID) &gt;= 0">element "auc:WallID" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:WindowID) &gt;= 0">element "auc:WindowID" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Sides/auc:Side/auc:DoorID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FenestrationArea)">element "auc:FenestrationArea" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Sides/auc:Side/auc:WallID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:WallArea)">element "auc:WallArea" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:Sections/auc:Section[auc:SectionType = 'Whole building']/auc:Sides/auc:Side/auc:WindowID">
<sch:assert test="count(@IDref) &gt;= 1">element "@IDref" is REQUIRED</sch:assert>
<sch:assert test="not(auc:FenestrationArea)">element "auc:FenestrationArea" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:PercentOfWindowAreaShaded)">element "auc:PercentOfWindowAreaShaded" is NOT RECOMMENDED</sch:assert>
<sch:assert test="not(auc:WindowToWallRatio)">element "auc:WindowToWallRatio" is NOT RECOMMENDED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:TotalExteriorAboveGradeWallArea">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:TotalExteriorBelowGradeWallArea">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UnconditionedFloorsAboveGrade">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UnconditionedFloorsBelowGrade">
<sch:assert test="not(@Source)">element "@Source" is NOT RECOMMENDED</sch:assert>
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields">
<sch:assert test="count(auc:UserDefinedField) &gt;= 0">element "auc:UserDefinedField" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Building Status Type']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Building Status Type']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Calculate Annual Energy Use Summary']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Calculate Annual Energy Use Summary']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Above Grade Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Above Grade Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Below Grade Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Below Grade Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Demising Above Grade Wall Area']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Demising Above Grade Wall Area']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Cooled only Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Cooled only Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Gross Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Gross Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated and Cooled Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated and Cooled Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated only Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated only Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Number Of Facilities On Site Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Number Of Facilities On Site Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Capacity']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Capacity']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Fuel cell Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Fuel cell Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Microturbine Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Microturbine Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For PV Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For PV Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Reciprocating engine Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Reciprocating engine Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Turbine Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Turbine Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Wind Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Wind Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System For Solar Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System For Solar Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Other Energy Generation Technology Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Other Energy Generation Technology Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Skylight Area']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Skylight Area']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Percentage Terrace Area']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Percentage Terrace Area']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Atlanta Building ID Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Atlanta Building ID Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For City Custom Building ID Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For City Custom Building ID Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Portfolio Manager Building ID Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Portfolio Manager Building ID Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Shared Metering Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Shared Metering Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Space functions For Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Space functions For Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Tenant Metering Configurations For Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes For Tenant Metering Configurations For Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Retrocommissioning Date Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Retrocommissioning Date Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Roof Area']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Roof Area']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Spaces Excluded From Gross Floor Area Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Spaces Excluded From Gross Floor Area Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Year Of Last Energy Audit Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Year Of Last Energy Audit Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
<sch:assert test="count(auc:UserDefinedField[auc:FieldName/text() = 'Year Of Last Major Remodel Is Not Applicable']/auc:FieldValue) &gt;= 0">element "auc:UserDefinedField[auc:FieldName/text() = 'Year Of Last Major Remodel Is Not Applicable']/auc:FieldValue" is OPTIONAL</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField">
<sch:assert test="count(auc:FieldName) &gt;= 1">element "auc:FieldName" is REQUIRED</sch:assert>
<sch:assert test="count(auc:FieldValue) &gt;= 1">element "auc:FieldValue" is REQUIRED</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField/auc:FieldName">
<sch:assert test="contains('_Alternative Roof Surface Construction Method_ _Alternative Roof Surface Construction Method Is Not Applicable_ _Building Status Type_ _Calculate Annual Energy Use Summary_ _Commercial Tenant Metering Configuration For Electricity Is Direct metering_ _Commercial Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable_ _Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering_ _Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable_ _Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering_ _Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable_ _Commercial Tenant Metering Configuration For Natural gas Is Direct metering_ _Commercial Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable_ _Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering_ _Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable_ _Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering_ _Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable_ _Conditioned Floors Above Grade Is Not Applicable_ _Conditioned Floors Below Grade Is Not Applicable_ _Floor Area For Cooled only Is Not Applicable_ _Floor Area For Gross Is Not Applicable_ _Floor Area For Heated only Is Not Applicable_ _Floor Area For Heated and Cooled Is Not Applicable_ _Demising Above Grade Wall Area_ _Metering Year Start Dates_ _Multi Tenant_ _Multi Tenant Is Not Applicable_ _Number Of Facilities On Site Is Not Applicable_ _Onsite Generation Operation Average Annual Hours_ _Onsite Generation Operation Average Annual Hours Is Not Applicable_ _Onsite Generation System_ _Onsite Generation System Capacity_ _Onsite Generation System For Fuel cell Is Not Applicable_ _Onsite Generation System For Microturbine Is Not Applicable_ _Onsite Generation System For PV Is Not Applicable_ _Onsite Generation System For Reciprocating engine Is Not Applicable_ _Onsite Generation System For Turbine Is Not Applicable_ _Onsite Generation System For Wind Is Not Applicable_ _Onsite Generation System Is Not Applicable_ _Onsite Renewable Peak Generating Capacity_ _Onsite Renewable Peak Generating Capacity Is Not Applicable_ _Onsite Renewable System_ _Onsite Renewable System For Solar Is Not Applicable_ _Onsite Renewable System Is Not Applicable_ _Other Energy Generation Technology Is Not Applicable_ _Percentage Onsite Generation Peak Generating Capacity_ _Percentage Onsite Generation Peak Generating Capacity Is Not Applicable_ _Percentage Skylight Area_ _Percentage Terrace Area_ _Premises Identifier For Atlanta Building ID Is Not Applicable_ _Premises Identifier For City Custom Building ID Is Not Applicable_ _Premises Identifier For Portfolio Manager Building ID Is Not Applicable_ _Premises Notes For Not Applicable_ _Premises Notes For Shared Metering Not Applicable_ _Premises Notes For Space Functions For Not Applicable_ _Premises Notes For Tenant Metering Configuration For Not Applicable_ _Premises Notes Is Not Applicable_ _Residential Tenant Metering Configuration For Electricity Is Direct metering_ _Residential Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable_ _Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering_ _Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable_ _Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering_ _Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable_ _Residential Tenant Metering Configuration For Natural gas Is Direct metering_ _Residential Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable_ _Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering_ _Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable_ _Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering_ _Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable_ _Retrocommissioning Date Is Not Applicable_ _Roof Area_ _Shared Chilled water_ _Shared Chilled water Is Not Applicable_ _Shared Fuel oil_ _Shared Fuel oil Is Not Applicable_ _Shared Heating_ _Shared Heating Is Not Applicable_ _Shared Meter For District steam_ _Shared Meter For District steam Is Not Applicable_ _Shared Meter For Electricity_ _Shared Meter For Electricity Is Not Applicable_ _Shared Meters For Multiple buildings on a single lot_ _Shared Meters For Multiple buildings on a single lot Is Not Applicable_ _Shared Meters For Multiple buildings on multiple lots_ _Shared Meters For Multiple buildings on multiple lots Is Not Applicable_ _Shared Meter For Natural gas_ _Shared Meter For Natural gas Is Not Applicable_ _Spaces Excluded From Gross Floor Area_ _Spaces Excluded From Gross Floor Area Is Not Applicable_ _Terrace R Value_ _Terrace R Value Is Not Applicable_ _Validate 100% Lighting Status_ _Validate 100% Lighting Status Is Not Applicable_ _Year Of Last Energy Audit Is Not Applicable_ _Year Of Last Major Remodel Is Not Applicable_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Alternative Roof Surface Construction Method", "Alternative Roof Surface Construction Method Is Not Applicable", "Building Status Type", "Calculate Annual Energy Use Summary", "Commercial Tenant Metering Configuration For Electricity Is Direct metering", "Commercial Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable", "Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering", "Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable", "Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering", "Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable", "Commercial Tenant Metering Configuration For Natural gas Is Direct metering", "Commercial Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable", "Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering", "Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable", "Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering", "Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable", "Conditioned Floors Above Grade Is Not Applicable", "Conditioned Floors Below Grade Is Not Applicable", "Floor Area For Cooled only Is Not Applicable", "Floor Area For Gross Is Not Applicable", "Floor Area For Heated only Is Not Applicable", "Floor Area For Heated and Cooled Is Not Applicable", "Demising Above Grade Wall Area", "Metering Year Start Dates", "Multi Tenant", "Multi Tenant Is Not Applicable", "Number Of Facilities On Site Is Not Applicable", "Onsite Generation Operation Average Annual Hours", "Onsite Generation Operation Average Annual Hours Is Not Applicable", "Onsite Generation System", "Onsite Generation System Capacity", "Onsite Generation System For Fuel cell Is Not Applicable", "Onsite Generation System For Microturbine Is Not Applicable", "Onsite Generation System For PV Is Not Applicable", "Onsite Generation System For Reciprocating engine Is Not Applicable", "Onsite Generation System For Turbine Is Not Applicable", "Onsite Generation System For Wind Is Not Applicable", "Onsite Generation System Is Not Applicable", "Onsite Renewable Peak Generating Capacity", "Onsite Renewable Peak Generating Capacity Is Not Applicable", "Onsite Renewable System", "Onsite Renewable System For Solar Is Not Applicable", "Onsite Renewable System Is Not Applicable", "Other Energy Generation Technology Is Not Applicable", "Percentage Onsite Generation Peak Generating Capacity", "Percentage Onsite Generation Peak Generating Capacity Is Not Applicable", "Percentage Skylight Area", "Percentage Terrace Area", "Premises Identifier For Atlanta Building ID Is Not Applicable", "Premises Identifier For City Custom Building ID Is Not Applicable", "Premises Identifier For Portfolio Manager Building ID Is Not Applicable", "Premises Notes For Not Applicable", "Premises Notes For Shared Metering Not Applicable", "Premises Notes For Space Functions For Not Applicable", "Premises Notes For Tenant Metering Configuration For Not Applicable", "Premises Notes Is Not Applicable", "Residential Tenant Metering Configuration For Electricity Is Direct metering", "Residential Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable", "Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering", "Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable", "Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering", "Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable", "Residential Tenant Metering Configuration For Natural gas Is Direct metering", "Residential Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable", "Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering", "Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable", "Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering", "Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable", "Retrocommissioning Date Is Not Applicable", "Roof Area", "Shared Chilled water", "Shared Chilled water Is Not Applicable", "Shared Fuel oil", "Shared Fuel oil Is Not Applicable", "Shared Heating", "Shared Heating Is Not Applicable", "Shared Meter For District steam", "Shared Meter For District steam Is Not Applicable", "Shared Meter For Electricity", "Shared Meter For Electricity Is Not Applicable", "Shared Meters For Multiple buildings on a single lot", "Shared Meters For Multiple buildings on a single lot Is Not Applicable", "Shared Meters For Multiple buildings on multiple lots", "Shared Meters For Multiple buildings on multiple lots Is Not Applicable", "Shared Meter For Natural gas", "Shared Meter For Natural gas Is Not Applicable", "Spaces Excluded From Gross Floor Area", "Spaces Excluded From Gross Floor Area Is Not Applicable", "Terrace R Value", "Terrace R Value Is Not Applicable", "Validate 100% Lighting Status", "Validate 100% Lighting Status Is Not Applicable", "Year Of Last Energy Audit Is Not Applicable", or "Year Of Last Major Remodel Is Not Applicable"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Alternative Roof Surface Construction Method']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Building Status Type']/auc:FieldValue">
<sch:assert test="contains('_Editing_ _Rated_ _Running_ _Submitted_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "Editing", "Rated", "Running", or "Submitted"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Calculate Annual Energy Use Summary']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Commercial Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Above Grade Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Conditioned Floors Below Grade Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Demising Above Grade Wall Area']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Cooled only Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Gross Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated and Cooled Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Floor Area For Heated only Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Multi Tenant']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Number Of Facilities On Site Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation Operation Average Annual Hours']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Capacity']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Fuel cell Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Microturbine Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For PV Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Reciprocating engine Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Turbine Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System For Wind Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Generation System']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable Peak Generating Capacity']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System For Solar Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Onsite Renewable System']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Other Energy Generation Technology Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Onsite Generation Peak Generating Capacity']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Skylight Area']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Percentage Terrace Area']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0) and (number() &lt;= 100)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number, MUST be greater than or equal to 0, and MUST be less than or equal to 100</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Atlanta Building ID Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For City Custom Building ID Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Premises Identifier For Portfolio Manager Building ID Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Premises Notes Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Direct metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter with sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Electricity Is Master meter without sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Direct metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter with sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Residential Tenant Metering Configuration For Natural gas Is Master meter without sub metering']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Retrocommissioning Date Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Roof Area']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Chilled water']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Fuel oil']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Heating']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For District steam']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Electricity']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meter For Natural gas']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on a single lot']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Shared Meters For Multiple buildings on multiple lots']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Spaces Excluded From Gross Floor Area Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Terrace R Value']/auc:FieldValue">
<sch:assert test="(number(text()) = text()) and (number() &gt;= 0)">text "<sch:value-of select="text()"/>": element "text()" MUST be a number and MUST be greater than or equal to 0</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Validate 100% Lighting Status']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<sch:value-of select="text()"/>": element "text()" MUST be "false" or "true"</sch:assert>
</sch:rule>
<sch:rule context="/auc:BuildingSync/auc:Facilities/auc:Facility/auc:Sites/auc:Site/auc:Buildings/auc:Building/auc:UserDefinedFields/auc:UserDefinedField[auc:FieldName/text() = 'Year Of Last Energy Audit Is Not Applicable']/auc:FieldValue">
<sch:assert test="contains('_false_ _true_', concat('_', text(), '_'))">text "<