<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://purl.oclc.org/dsdl/schematron">
  <ns prefix="auc" uri="http://buildingsync.net/schemas/bedes-auc/2019"/>
  <phase id="Check_IDs">
    <active pattern="id.airInfiltrationSystem"/>
    <active pattern="id.building"/>
    <active pattern="id.condenserPlant"/>
    <active pattern="id.contact"/>
    <active pattern="id.conveyanceSystem"/>
    <active pattern="id.coolingPlant"/>
    <active pattern="id.coolingSource"/>
    <active pattern="id.criticalITSystem"/>
    <active pattern="id.delivery"/>
    <active pattern="id.domesticHotWaterSystem"/>
    <active pattern="id.exteriorFloorSystem"/>
    <active pattern="id.facility"/>
    <active pattern="id.fanSystem"/>
    <active pattern="id.fenestrationSystem"/>
    <active pattern="id.foundationSystem"/>
    <active pattern="id.heatingPlant"/>
    <active pattern="id.heatingSource"/>
    <active pattern="id.hvacSystem"/>
    <active pattern="id.lightingSystem"/>
    <active pattern="id.measure"/>
    <active pattern="id.motorSystem"/>
    <active pattern="id.onsiteStorageTransmissionGenerationSystem"/>
    <active pattern="id.otherHVACSystem"/>
    <active pattern="id.plugLoad"/>
    <active pattern="id.processLoad"/>
    <active pattern="id.pumpSystem"/>
    <active pattern="id.qualification"/>
    <active pattern="id.report"/>
    <active pattern="id.resourceUse"/>
    <active pattern="id.roofSystem"/>
    <active pattern="id.scenario"/>
    <active pattern="id.schedule"/>
    <active pattern="id.section"/>
    <active pattern="id.site"/>
    <active pattern="id.tenant"/>
    <active pattern="id.utility"/>
    <active pattern="id.wallSystem"/>
  </phase>
  <phase id="L000_Simulation">
    <active pattern="root.oneOfEachUntilBuilding"/>
    <active pattern="root.oneOfEachFacilityUntilScenario"/>
    <active pattern="be.L000BuildingInfo"/>
    <active pattern="sbe.sbe.cityStateOrClimateZone"/>
    <active pattern="sc.baseline.ID"/>
    <active pattern="sc.baseline.asPackageOfMeasures"/>
    <active pattern="be.fa.haveTypeAndValue"/>
    <active pattern="be.fa.oneGrossFloorArea"/>
  </phase>
  <include href="../../testsuitelib/id.sch#id.facility"/>
  <include href="../../testsuitelib/id.sch#id.site"/>
  <include href="../../testsuitelib/id.sch#id.building"/>
  <include href="../../testsuitelib/id.sch#id.section"/>
  <include href="../../testsuitelib/id.sch#id.hvacSystem"/>
  <include href="../../testsuitelib/id.sch#id.heatingPlant"/>
  <include href="../../testsuitelib/id.sch#id.coolingPlant"/>
  <include href="../../testsuitelib/id.sch#id.condenserPlant"/>
  <include href="../../testsuitelib/id.sch#id.heatingSource"/>
  <include href="../../testsuitelib/id.sch#id.coolingSource"/>
  <include href="../../testsuitelib/id.sch#id.delivery"/>
  <include href="../../testsuitelib/id.sch#id.otherHVACSystem"/>
  <include href="../../testsuitelib/id.sch#id.lightingSystem"/>
  <include href="../../testsuitelib/id.sch#id.domesticHotWaterSystem"/>
  <include href="../../testsuitelib/id.sch#id.pumpSystem"/>
  <include href="../../testsuitelib/id.sch#id.fanSystem"/>
  <include href="../../testsuitelib/id.sch#id.motorSystem"/>
  <include href="../../testsuitelib/id.sch#id.wallSystem"/>
  <include href="../../testsuitelib/id.sch#id.roofSystem"/>
  <include href="../../testsuitelib/id.sch#id.fenestrationSystem"/>
  <include href="../../testsuitelib/id.sch#id.exteriorFloorSystem"/>
  <include href="../../testsuitelib/id.sch#id.foundationSystem"/>
  <include href="../../testsuitelib/id.sch#id.criticalITSystem"/>
  <include href="../../testsuitelib/id.sch#id.plugLoad"/>
  <include href="../../testsuitelib/id.sch#id.processLoad"/>
  <include href="../../testsuitelib/id.sch#id.conveyanceSystem"/>
  <include href="../../testsuitelib/id.sch#id.onsiteStorageTransmissionGenerationSystem"/>
  <include href="../../testsuitelib/id.sch#id.airInfiltrationSystem"/>
  <include href="../../testsuitelib/id.sch#id.schedule"/>
  <include href="../../testsuitelib/id.sch#id.measure"/>
  <include href="../../testsuitelib/id.sch#id.report"/>
  <include href="../../testsuitelib/id.sch#id.scenario"/>
  <include href="../../testsuitelib/id.sch#id.resourceUse"/>
  <include href="../../testsuitelib/id.sch#id.qualification"/>
  <include href="../../testsuitelib/id.sch#id.utility"/>
  <include href="../../testsuitelib/id.sch#id.contact"/>
  <include href="../../testsuitelib/id.sch#id.tenant"/>
  <include href="../../testsuitelib/rootElements.sch#root.oneOfEachUntilBuilding"/>
  <include href="../../testsuitelib/rootElements.sch#root.oneOfEachFacilityUntilScenario"/>
  <include href="../../testsuitelib/siteBuildingElements.sch#sbe.cityStateOrClimateZone"/>
  <include href="../../testsuitelib/scenarioElements.sch#sc.baseline.ID"/>
  <include href="../../testsuitelib/scenarioElements.sch#sc.baseline.asPackageOfMeasures"/>
  <include href="../../testsuitelib/buildingElements.sch#be.L000BuildingInfo"/>
  <include href="../../testsuitelib/floorElements.sch#fa.oneOfType"/>
  <include href="../../testsuitelib/floorElements.sch#fa.haveTypeAndValue"/>
  <!--  Instantiate abstract patterns  -->
  <pattern id="be.fa.haveTypeAndValue" is-a="fa.haveTypeAndValue">
    <param name="parent" value="auc:Building/auc:FloorAreas/auc:FloorArea"/>
  </pattern>
  <pattern id="be.fa.oneGrossFloorArea" is-a="fa.oneOfType">
    <param name="parent" value="auc:Building/auc:FloorAreas"/>
    <param name="floorAreaType" value="'Gross'"/>
  </pattern>
  <pattern id="sbe.sbe.cityStateOrClimateZone" is-a="sbe.cityStateOrClimateZone">
    <param name="parent" value="auc:Sites/auc:Site"/>
  </pattern>
</schema>
