<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  xmlns="https://epbr.digital.communities.gov.uk/xsd/sap"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="https://epbr.digital.communities.gov.uk/xsd/sap"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="19.1.0"
>
  <xs:include schemaLocation="../UDT/SAP-Domains.xsd"/>
  <xs:include schemaLocation="../UDT/EPC-Domains.xsd"/>
  <xs:element name="SAP-Deselected-Improvements"
              type="SAP-Deselected-Improvements"/>
  <xs:complexType name="SAP-Deselected-Improvements">
    <xs:annotation>
      <xs:documentation>There are 22 possible improvement measures, designated
        from A to V. This must record measures deselected by DEA
        (A to V is the full set, only E, N, U and V are considered at the moment
        for new build).
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Deselected-Improvement-Measure"
                  type="SAP-ImprovementMeasureCode" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Wall" type="SAP-Wall"/>
  <xs:complexType name="SAP-Wall">
    <xs:annotation>
      <xs:documentation>Various measurements for each wall of a particular
        storey.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string">
        <xs:annotation>
          <xs:documentation>Unique name which identifies this wall within its
            storey. Can be just a number, e.g. "1". However, a wall cannot have
            the same name as an opening or a roof.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="Sentence" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Descriptive notes about the wall.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wall-Type" type="SAP-WallTypeCode">
        <xs:annotation>
          <xs:documentation>Type of wall (exposure).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Total-Wall-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>Total wall area in square metres, inclusive of any
            openings.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="U-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Exposed wall U-value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Curtain-Walling" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether the wall is curtain walling, i.e. a facade
            construction consisting of a frame of aluminium vertical and
            horizontal members, infilled with glazing units and opaque panels.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kappa-Value" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat capacity per unit area in kJ/m²K.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Roof" type="SAP-Roof"/>
  <xs:complexType name="SAP-Roof">
    <xs:annotation>
      <xs:documentation>Various measurements for each exposed roof that makes up
        a particular Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string">
        <xs:annotation>
          <xs:documentation>Unique name which identifies this roof. Can be just
            a number, e.g. "1". However, a roof cannot have the same name as a
            wall.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="Sentence" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Descriptive notes about the roof.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Roof-Type" type="SAP-RoofTypeCode"/>
      <xs:element name="Total-Roof-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>Total roof area in square metres, inclusive of any
            openings.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="U-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Exposed roof U-value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kappa-Value" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat capacity per unit area in kJ/m²K.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Community-Heating-Systems"
              type="SAP-Community-Heating-Systems"/>
  <xs:complexType name="SAP-Community-Heating-Systems">
    <xs:annotation>
      <xs:documentation>Community heating systems used by the property.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Community-Heating-System"
                  type="SAP-Community-Heating-System" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Thermal-Bridge" type="SAP-Thermal-Bridge"/>
  <xs:complexType name="SAP-Thermal-Bridge">
    <xs:annotation>
      <xs:documentation>Various measurements for each thermal bridge that makes
        up a particular Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Thermal-Bridge-Type" type="SAP-ThermalBridgeTypeCode">
        <xs:annotation>
          <xs:documentation>Code to indicate a particular type of thermal
            bridge; only if thermal bridge code is: user defined (individual
            values).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Length" type="Measurement">
        <xs:annotation>
          <xs:documentation>Length of the thermal bridge in metres; only if
            thermal bridge code is: user defined (individual values).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Psi-Value" type="Measurement">
        <xs:annotation>
          <xs:documentation>Linear thermal transmittance (psi-value); only if
            thermal bridging is user defined individual values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Psi-Value-Source" type="PsiValueSourceCode"/>
      <xs:element name="Psi-Value-Calculation-Reference" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Reference to the details of the calculation of the
            psi-value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Opening" type="SAP-Opening"/>
  <xs:complexType name="SAP-Opening">
    <xs:annotation>
      <xs:documentation>Various measurements for each exposed opening that makes
        up a particular Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string">
        <xs:annotation>
          <xs:documentation>Unique name which identifies this opening. Can be
            just a number, e.g. "1". However, an opening cannot have the same
            name as a wall.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" type="xs:string">
        <xs:annotation>
          <xs:documentation>The name of the SAP-Opening-Type for this opening.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Location" type="xs:string">
        <xs:annotation>
          <xs:documentation>Name of the wall or roof which contains the
            opening.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Orientation" type="SAP-OrientationCode">
        <xs:annotation>
          <xs:documentation>Compass direction in which the opening faces.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Width" type="Measurement">
        <xs:annotation>
          <xs:documentation>The width of the opening in metres. If the Width
            field is used to record the opening area, set the Height to 1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Height" type="Measurement">
        <xs:annotation>
          <xs:documentation>The height of the opening in metres. If the Height
            field is used to record the opening area, set the Width to 1.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Pitch" type="SAP-VerticalPitch" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Pitch of roof containing roof window.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Openings" type="SAP-Openings"/>
  <xs:complexType name="SAP-Openings">
    <xs:annotation>
      <xs:documentation>Exposed openings that make up a particular
        Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Opening" type="SAP-Opening" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Roofs" type="SAP-Roofs"/>
  <xs:complexType name="SAP-Roofs">
    <xs:annotation>
      <xs:documentation>Exposed roofs that make up a particular Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Roof" type="SAP-Roof" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Community-Heating-System"
              type="SAP-Community-Heating-System"/>
  <xs:complexType name="SAP-Community-Heating-System">
    <xs:annotation>
      <xs:documentation>Details of a community system which heats the Main
        Building.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Community-Heating-Name" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The name of the community heating system
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heating-CO2-Emission-Factor" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>the community heating CO2 emission factor
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heating-Primary-Energy-Factor"
                  type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The community heating Primary Energy Factor
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heating-Use"
                  type="SAP-CommunityHeatingUseCode">
        <xs:annotation>
          <xs:documentation>Specifies what kind of heating the community system
            is used for.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Community-Heating-Cylinder-In-Dwelling"
                  type="xs:boolean" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Community heating, cylinder in dwelling?
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-HIU-In-Dwelling" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Community heating, HIU in dwelling?
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HIU-Index-Number" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat Interface Unit index number, if present.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heating-Distribution-Type"
                  type="SAP-HeatingDistributionCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Community heating distribution</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heat-Sources" type="Community-Heat-Sources"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>To be provided when there is no
            Heat-Network-Index-Number.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Community-Heating-Distribution-Loss-Factor"
                  type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Used when Community-Heating-Distribution-Type is
            calculated.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Charging-Linked-To-Heat-Use" type="xs:boolean"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Used for hot-water-only systems.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Network-Index-Number" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Index number of heat network, if applicable.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Sub-Network-Name" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The name by which the sub community heat network is known.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Network-Existing" type="xs:boolean" default="true" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether the heat network is existing or new.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Network-Assessed-As-New" type="xs:boolean" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether the heat network is assessed as a new heat
            network (post June 2022) for Eng with a standalone gas boiler
            notional building.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Floor-Dimensions" type="SAP-Floor-Dimensions"/>
  <xs:complexType name="SAP-Floor-Dimensions">
    <xs:annotation>
      <xs:documentation>Storeys that make up a particular Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Floor-Dimension" type="SAP-Floor-Dimension"
                  maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Thermal-Bridges" type="SAP-Thermal-Bridges"/>
  <xs:complexType name="SAP-Thermal-Bridges">
    <xs:annotation>
      <xs:documentation>Thermal bridges that make up a particular
        Building-Part.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Thermal-Bridge-Code" type="SAP-ThermalBridgeCode">
        <xs:annotation>
          <xs:documentation>Code which indicates how the thermal bridge data has
            been recorded.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="User-Defined-Y-Value" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Global y-value for all thermal bridges in watts per
            square metre per kelvin; only if thermal bridge code is: user
            defined (global y-value)
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Calculation-Reference" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Reference to the details of the calculation of the
            global y-value; only if thermal bridging is user defined global
            y-value.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAP-Thermal-Bridge" type="SAP-Thermal-Bridge"
                  minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Walls" type="SAP-Walls"/>
  <xs:complexType name="SAP-Walls">
    <xs:annotation>
      <xs:documentation>Exposed walls that make up a particular Storey.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Wall" type="SAP-Wall" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Opening-Type" type="SAP-Opening-Type"/>
  <xs:complexType name="SAP-Opening-Type">
    <xs:annotation>
      <xs:documentation>Various measurements for a particular type of exposed
        opening that makes up a particular property. Opening types are used to
        capture common features shared by multiple openings, to avoid having to
        record the same data explicitly for each opening.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string">
        <xs:annotation>
          <xs:documentation>Unique name which identifies this opening type. Can
            be just a number, e.g. "1".
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="Sentence" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Descriptive notes about the opening type.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Data-Source" type="SAP-OpeningDataSourceCode">
        <xs:annotation>
          <xs:documentation>The source of the data for this type of opening.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" type="SAP-OpeningTypeCode">
        <xs:annotation>
          <xs:documentation>The (physical) type of opening that this opening
            type represents.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Glazing-Type" type="SAP-GlazingTypeCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of glazing; if U-value is from BFRC or
            manufacturer declaration, give as one of
            - single
            - double
            - triple.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Glazing-Gap" type="SAP-GlazingGapTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Gap between glass panes; only if SAP table and
            double, triple glazed or secondary glazing.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsArgonFilled" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is the opening argon-filled? Only if SAP table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsKryptonFilled" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is the opening krypton-filled? Only if SAP table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Frame-Type" type="SAP-FrameTypeCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of frame, only if data source is SAP table
            and it is a window, roof window or half-glazed door.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Transmittance" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The solar transmittance; not if a door.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Frame-Factor" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The frame factor; not if a door.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="U-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>The U-value. For rooflights, the U-value should be
            in the horizontal plane.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Opening-Types" type="SAP-Opening-Types"/>
  <xs:complexType name="SAP-Opening-Types">
    <xs:annotation>
      <xs:documentation>Types of exposed openings that make up a particular
        property. Opening types are used to capture common features shared by
        multiple openings, to avoid having to record the same data explicitly
        for each opening.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Opening-Type" type="SAP-Opening-Type"
                  maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Ventilation" type="SAP-Ventilation"/>
  <xs:complexType name="SAP-Ventilation">
    <xs:annotation>
      <xs:documentation>Details of the means by which the building is
        ventilated
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Closed-Flues-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Closed Flues or chimneys in the
            Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Open-Flues-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Open Flues in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Boilers-Flues-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Boiler Flues or chimneys in the
            Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Other-Flues-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Other Flues or chimneys in the
            Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Open-Chimneys-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Open Chimneys in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Blocked-Chimneys-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of Blocked Chimneys in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Fans-Vents-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backward compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Flueless-Gas-Fires-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of flueless gas fires in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Pressure-Test" type="SAP-PressureTestCode">
        <xs:annotation>
          <xs:documentation>Whether there has been a pressure test, or whether
            an assumed value is used for the air permeability.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Pressure-Test-Certificate-Number" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The pressure test certificate number or test
            engineer reference.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Air-Permeability" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Air permeability; only if pressure test (yes or
            assumed).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Ground-Floor-Type" type="SAP-FloorConstructionCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of ground floor; nly if no pressure test.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wall-Type" type="SAP-WallConstructionCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The construction of the walls; only if no pressure
            test.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Draught-Lobby" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is there a draft lobby? Only if no pressure test.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DraughtStripping" type="Percentage" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Draughtstripping percentage; only if no pressure
            test.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Sheltered-Sides-Count" type="Count">
        <xs:annotation>
          <xs:documentation>The number of sheltered sides in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Ventilation-Type" type="SAP-VentilationTypeCode">
        <xs:annotation>
          <xs:documentation>The type of ventilation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Ventilation-Data-Source"
                  type="SAP-DataSourceCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Source of mechanical ventilation data; only if
            mechanical ventilation.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-System-Index-Number"
                  type="xs:nonNegativeInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent system index number; if mechanical
            vent data from database (MEV c, MEV dc, MV, MVHR).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Commissioning-Certificate-Number"
                  type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical ventilation Commissioning certificate
            number .
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Installation-Engineer" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical ventilation installation engineer
            registration reference.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-System-Make-Model" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical ventilation system make and model.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wet-Rooms-Count" type="NonZeroCount" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Number of wet rooms, including the kitchen; if mech
            vent data from manufacturer declaration or database (MEV c, MV,
            MVHR).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Specific-Fan-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent specific fan power in watts per
            (litres per second); if mechanical vent data (PIV from outside, MEV
            c or dc, MV, MVHR).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Heat-Recovery-Efficiency"
                  type="Percentage" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent heat recovery efficiency percentage;
            if mechanical vent (MVHR).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Duct-Type" type="SAP-DuctTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent duct type; if MEV c, MV or MVHR.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Duct-Insulation"
                  type="SAP-DuctInsulationCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent duct insulation; if MVHR.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Duct-Insulation-Level"
                  type="SAP-DuctInsulationLevel" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent duct insulation; if MVHR.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Duct-Placement" type="SAP-DuctPlacement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical ventilation duct insulation; if MVHR.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Mechanical-Vent-Measured-Installation" type="xs:boolean"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical ventilation SPF measured in situ; if MVHR
            or balanced.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Room-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans in room, kitchen; if
            mechanical vent data from database or manufacturer declaration (MEV
            dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Room-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans in room, kitchen,
            in watts per (litres per second); if mechanical vent data from
            manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Room-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans in room, rooms other than
            kitchen; if mechanical vent data from database or manufacturer
            declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Room-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans in room, rooms
            other than kitchen, in watts per (litres per second); if mechanical
            vent data from manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Duct-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans via duct, kitchen; if
            mechanical vent data from database or manufacturer declaration (MEV
            dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Duct-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans via duct,
            kitchen, in watts per (litres per second); if mechanical vent data
            from manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Duct-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans via duct, rooms other than
            kitchen; if mechanical vent data from database or manufacturer
            declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Duct-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans via duct, rooms
            other than kitchen, in watts per (litres per second); if mechanical
            vent data from manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Wall-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans through wall, kitchen; if
            mechanical vent data from database or manufacturer declaration (MEV
            dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kitchen-Wall-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans through wall,
            kitchen, in watts per (litres per second); if mechanical vent data
            from manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Wall-Fans-Count" type="Count" minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, number of fans through wall, rooms other
            than kitchen; if mechanical vent data from database or manufacturer
            declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Non-Kitchen-Wall-Fans-Specific-Power" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MEV dc, specific fan power of fans through wall,
            rooms other than kitchen, in watts per (litres per second); if
            mechanical vent data from manufacturer declaration (MEV dc).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Extract-Fans-Count" type="Count" minOccurs="0"/>
      <xs:element name="PSV-Count" type="Count" minOccurs="0"/>
      <xs:element name="Is-Mechanical-Vent-Approved-Installer-Scheme"
                  type="xs:boolean" minOccurs="0"/>
      <xs:element name="Mechanical-Vent-Ducts-Index-Number"
                  type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Mechanical vent ducts index number; if applicable.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP10-Data" type="SAP10-Data"/>
  <xs:complexType name="SAP10-Data">
    <xs:annotation>
      <xs:documentation>These are the specific data-items collected by the HI /
        EA needed to perform the SAP calculation.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Data-Type" type="SAP-DataTypeCode">
        <xs:annotation>
          <xs:documentation>Type of SAP data that has been collected.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAP-Property-Details" type="SAP-Property-Details"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Property-Details" type="SAP-Property-Details"/>
  <xs:complexType name="SAP-Property-Details">
    <xs:annotation>
      <xs:documentation>Various measurements a particular Property.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Property-Type" type="PropertyTypeCode">
        <xs:annotation>
          <xs:documentation>The type of Property, such as House, Flat, Mansion,
            Maisonette etc.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Built-Form" type="SAP-BuiltFormCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The building type of the Property e.g. Detached,
            Semi-Detached, Terrace etc.

            Together with the Property Type, the Built Form provides a
            structured description of the property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Living-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>The size of the living area in square metres. The
            living area is the room marked on a plan as the lounge or living
            room, or the largest public room (irrespective of usage by
            particular occupants), together with any rooms not separated from
            the lounge or living room by doors, and including any cupboards
            directly accessed from the lounge or living room. Living area does
            not, however, extend over more than one storey, even when stairs
            enter the living area directly.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Lowest-Storey-Area" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>The Area of the lowest storey in square meters
            including unheated or communal areas such as garages or corridors.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Orientation" type="SAP-OrientationCode">
        <xs:annotation>
          <xs:documentation>The orientation of the front of the property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Conservatory-Type" type="SAP-ConservatoryTypeCode">
        <xs:annotation>
          <xs:documentation>Type of conservatory.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Terrain-Type" type="SAP-TerrainTypeCode">
        <xs:annotation>
          <xs:documentation>Terrain type. Needed for wind-turbines and for
            applying measures.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Special-Feature" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Special-Feature-Description" type="Sentence"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Energy-Saved-Or-Generated" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Saved-Or-Generated-Fuel" type="HeatingFuelTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Energy-Used" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Energy-Used-Fuel" type="HeatingFuelTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>For backwards compatibility only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-In-Smoke-Control-Area" type="ExtendedBoolean">
        <xs:annotation>
          <xs:documentation>Is property in a smoke control area? Only if a solid
            fuel appliance is used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Cold-Water-Source" type="ColdWaterSourceCode">
        <xs:annotation>
          <xs:documentation>What is the cold water source? Either mains or
            header tank.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Windows-Overshading" type="SAP-WindowOvershadingCode">
        <xs:annotation>
          <xs:documentation>Average amount of overshading of windows.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Thermal-Mass-Parameter" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Average thermal mass parameter for the dwelling in
            kJ/m²K. If omitted it is calculated using the kappa values of each
            element.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Additional-Allowable-Electricity-Generation"
                  type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Additional allowable electricity generation
            applicable to this dwelling in kWh per square metre; only if Zero
            Carbon Home assessment.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gas-Smart-Meter-Present" type="xs:boolean"
                  default="false"/>
      <xs:element name="Electricity-Smart-Meter-Present" type="xs:boolean"
                  default="false"/>
      <xs:element name="Is-Dwelling-Export-Capable" type="xs:boolean"/>
      <xs:element name="PV-Connection" type="PVConnectionCode" minOccurs="0"/>
      <xs:element name="PV-Diverter" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Diverter present.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Battery-Capacity" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Battery capacity if diverter present.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Wind-Turbine-Connected-To-Dwelling-Meter"
                  type="xs:boolean" default="true" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether the wind turbine is connected to the
            Dwelling's meter.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAP-Heating" type="SAP-Heating"/>
      <xs:element name="SAP-Energy-Source" type="SAP-Energy-Source"
                  minOccurs="0"/>
      <xs:element name="SAP-Building-Parts" type="SAP-Building-Parts"/>
      <xs:element name="SAP-Opening-Types" type="SAP-Opening-Types"
                  minOccurs="0"/>
      <xs:element name="SAP-Ventilation" type="SAP-Ventilation" minOccurs="0"/>
      <xs:element name="SAP-Lighting" type="SAP-Lighting" minOccurs="0"/>
      <xs:element name="SAP-Deselected-Improvements"
                  type="SAP-Deselected-Improvements" minOccurs="0"/>
      <xs:element name="SAP-Flat-Details" type="SAP-Flat-Details"
                  minOccurs="0"/>
      <xs:element name="SAP-Special-Features" type="SAP-Special-Features"
                  minOccurs="0"/>
      <xs:element name="Design-Water-Use" type="DesignWaterUseCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Design limit for total water use.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAP-Cooling" type="SAP-Cooling" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Flat-Details" type="SAP-Flat-Details"/>
  <xs:complexType name="SAP-Flat-Details">
    <xs:all>
      <xs:element name="Level" type="SAP-FlatLevelCode">
        <xs:annotation>
          <xs:documentation>Indication of where a flat is located in a
            building.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Storeys" type="NonZeroCount">
        <xs:annotation>
          <xs:documentation>Count of number of storeys present in the block of
            flats.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Lighting" type="SAP-Lighting"/>
  <xs:complexType name="SAP-Lighting">
    <xs:annotation>
      <xs:documentation>Details of the main lighting for the property
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Fixed-Lights" type="Fixed-Lights" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The record of a lighting type within the building.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Fixed-Lights" type="Fixed-Lights"/>
  <xs:complexType name="Fixed-Lights">
    <xs:annotation>
      <xs:documentation>Fixed lighting present in the property.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Fixed-Light" type="Fixed-Light" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Fixed-Light" type="Fixed-Light"/>
  <xs:complexType name="Fixed-Light">
    <xs:annotation>
      <xs:documentation>Various details for each fixed lighting type in the
        property.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Lighting-Efficacy" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>The efficacy of the lighting type in lumens/Watt.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Lighting-Power" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>The power of the selected lighting type in Watts.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Lighting-Outlets" type="Count">
        <xs:annotation>
          <xs:documentation>The number of light fitting outlets of that type.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Floor-Dimension" type="SAP-Floor-Dimension"/>
  <xs:complexType name="SAP-Floor-Dimension">
    <xs:annotation>
      <xs:documentation>Various measurements for the floor of a particular
        storey.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>A name describing the floor dimensioned.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Storey" type="SAP-StoreyFloorCode">
        <xs:annotation>
          <xs:documentation>Building storey on which the floor is located.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="Sentence" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Descriptive notes about the floor.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Floor-Type" type="SAP-FloorTypeCode">
        <xs:annotation>
          <xs:documentation>Type of floor (exposure).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Total-Floor-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>The total floor area of the storey in square
            metres.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Storey-Height" type="Measurement">
        <xs:annotation>
          <xs:documentation>Average height of the storey in metres.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Loss-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>The estimated total heat loss area for the floor in
            square metres.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="U-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Heat loss floor U-value.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kappa-Value" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat capacity of floor per unit area in kJ/m²K.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Kappa-Value-From-Below" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat capacity of ceiling below. Applies to the
            non-heat-loss area of an upper floor.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Building-Parts" type="SAP-Building-Parts"/>
  <xs:complexType name="SAP-Building-Parts">
    <xs:annotation>
      <xs:documentation>Details of the significant building parts that comprise
        the main habitable building in the property. The main habitable area
        generally consists of a single main building but can over time be
        extended to include extensions such as new wings and additional storeys.

        For the purpose of calculating the overall Energy Assessment for the
        property details of each distinct Building Part, such as its
        construction, have to be gathered because different materials have
        different insulation ratings (obviously) which affects the overall
        rating.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SAP-Building-Part" type="SAP-Building-Part"
                  maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Building-Part" type="SAP-Building-Part"/>
  <xs:complexType name="SAP-Building-Part">
    <xs:annotation>
      <xs:documentation>A permanent structure that forms part of the Property
        and is built primarily for human habitation. A Building Part is usually
        made up of one or more Storey's and may contain a number of Internal
        Structural Features. An extension is also a Building Part.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Building-Part-Number" type="xs:positiveInteger">
        <xs:annotation>
          <xs:documentation>An integer value which uniquely identifies the
            building part in the property. The value "1" must be assigned to the
            main dwelling.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Identifier" type="IDString" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifier for the Building part - generally only
            required if there are more that one Building Parts of the same type
            e.g. "West Wing" and "East Wing" Extensions
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Construction-Year" type="xs:nonNegativeInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The year when this building part was constructed.
            Not used if 'Construction-Age-Band' is used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Construction-Age-Band" type="ConstructionDateCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The age band when this building part was
            constructed. Not used if 'Construction-Year' is used.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAP-Openings" type="SAP-Openings" minOccurs="0"/>
      <xs:element name="SAP-Roofs" type="SAP-Roofs" minOccurs="0"/>
      <xs:element name="SAP-Floor-Dimensions" type="SAP-Floor-Dimensions"
                  minOccurs="0"/>
      <xs:element name="SAP-Thermal-Bridges" type="SAP-Thermal-Bridges"
                  minOccurs="0"/>
      <xs:element name="SAP-Walls" type="SAP-Walls" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Energy-Source" type="SAP-Energy-Source"/>
  <xs:complexType name="SAP-Energy-Source">
    <xs:annotation>
      <xs:documentation>Details of the main Electricity supply to the
        Property.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="PV-Arrays" type="PV-Arrays" minOccurs="0"/>
      <xs:element name="Wind-Turbines" type="Wind-Turbines" minOccurs="0"/>
      <xs:element name="Electricity-Tariff" type="SAP-ElectricityTariffCode">
        <xs:annotation>
          <xs:documentation>Type of electricity tariff.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hydro-Electric-Generation" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Electricity generated by hydro-electric generator,
            in kWh/year. To be provided if Hydro-Electric-Generation-Month is
            not provided.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hydro-Electric-Certificate" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Reference to certification of hydro electric
            output.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hydro-Electric-Generation-Months"
                  type="Hydro-Electric-Generation-Months" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Electricity generated by hydro-electric generator,
            in kWh/month. To be provided if Hydro-Electric-Generation is not
            provided.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Hydro-Output-Connected-To-Dwelling-Meter"
                  type="xs:boolean" default="true" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether the hydro-electric station is connected to
            dwelling's electricity meter
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Heating" type="SAP-Heating"/>
  <xs:complexType name="SAP-Heating">
    <xs:annotation>
      <xs:documentation>Details of the means by which the Main Building is
        heated.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Water-Heating-Code" type="SAP-WaterHeatingCode">
        <xs:annotation>
          <xs:documentation>The type of Water Heating present in the Property.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Water-Fuel-Type" type="HeatingFuelTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of fuel used to power the central heating
            e.g. Gas, Electricity. Not used if water system is main or secondary
            system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Hot-Water-Cylinder" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water cylinder?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Category"
                  type="SAP-SecondaryHeatingCategoryCode">
        <xs:annotation>
          <xs:documentation>Category of heating system for the secondary heating
            system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Data-Source"
                  type="SAP-NonDatabaseSourceCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Source of secondary heating system data; only if
            secondary heating system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Efficiency" type="xs:decimal"
                  minOccurs="0"/>
      <xs:element name="Secondary-Heating-Commisioning-Certificate"
                  type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Secondary heating system commisioning certificate
            number.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Installation-Engineer"
                  type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Secondary heating installation engineer registration
            reference.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Code" type="SAP-SpaceHeatingCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Type of secondary heating present in the property;
            only if required and if heating data source is SAP table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Fuel-Type" type="HeatingFuelTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of fuel used to power the secondary heating
            e.g. Gas, Electricity; only if required.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-PCDF-Fuel-Index"
                  type="xs:positiveInteger" minOccurs="0">
        <xs:annotation>
          <xs:documentation>PCDF index number of the fuel type, only if
            Secondary-Fuel-Type is 99 (fuel from database).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Secondary-Heating-Flue-Type" type="FlueTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Secondary flue type; only if secondary efficiency is
            manufacturer declaration and if there is a flue.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Thermal-Store" type="SAP-ThermalStoreCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of thermal store; not used if main heating
            system is community heating scheme.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Fixed-Air-Conditioning" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Fixed air conditioning?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Immersion-Heating-Type" type="ImmersionHeatingTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of immersion heating; only if immersion.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Heat-Pump-Assisted-By-Immersion" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is heat pump assisted by immersion? Applicable only
            to hot water only heat pumps
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Heat-Pump-Installed-To-MIS" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is heat pump installed to MIS standard? Only if
            water heating from hot water only heat pump.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Immersion-For-Summer-Use" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Immersion for summer use? Only if main heating is
            solid fuel fire or room heater with boiler.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Secondary-Heating-HETAS-Approved" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Secondary heating appliance is HETAS approved? Only
            if solid fuel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Manufacturer" type="xs:string"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Store Manufacturer name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Model" type="xs:string" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Store Model name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Commissioning-Certificate"
                  type="xs:string" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Store comissioning certificate number.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Installer-Engineer-Registration"
                  type="xs:string" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Store installer engineer registration number.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Size" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water store size in litres; if there is a hot
            water store. Store refers to hot water store type which can be
            cylinder (if thermal store is "none"), hot-water only thermal store
            or integrated thermal store. Not applicable if (a) combi boiler
            whose data source database or (b) instantaneous combi boiler or (c)
            combi boiler from SAP table or (d) instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Heat-Transfer-Area" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Used when a heat pump is associated with a separate
            and specified hot water vessel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Heat-Loss-Source"
                  type="SAP-NonDatabaseSourceCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The source of the hot water store heat loss
            information; if there is a hot water store. Not applicable if (a)
            combi boiler whose data source database or (b) instantaneous combi
            boiler or (c) combi boiler from SAP table or (d) instantaneous water
            heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Heat-Loss" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water store declared loss in kWh/day; only if
            there is a hot water store and if manufacturer declared loss. Not
            applicable if (a) combi boiler whose data source database or (b)
            instantaneous combi boiler or (c) combi boiler from SAP table or (d)
            instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Insulation-Type"
                  type="HotWaterStoreInsulationTypeCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water store insulation; only if there is a hot
            water store and if loss from SAP table. Not applicable if (a) combi
            boiler whose data source database or (b) instantaneous combi boiler
            or (c) combi boiler from SAP table or (d) instantaneous water
            heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Store-Insulation-Thickness" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water store insulation thickness in mm; only if
            there is a hot water store and if loss from SAP table. Not
            applicable if (a) combi boiler whose data source database or (b)
            instantaneous combi boiler or (c) combi boiler from SAP table or (d)
            instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Thermal-Store-Near-Boiler" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Thermal store connected to boiler by no more than
            1.5 m of insulated pipework? Only if thermal store. Not applicable
            if combi boiler or instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Thermal-Store-Or-CPSU-In-Airing-Cupboard"
                  type="xs:boolean" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Thermal store or CPSU in airing cupboard? Only if
            (a) boiler with integrated or hot-water-only thermal store, or (b)
            main heating is CPSU.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Cylinder-Thermostat" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water cylinder thermostat? Not applicable if
            combi boiler or instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Cylinder-In-Heated-Space" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water cylinder in heated space? Not applicable
            if combi boiler or instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Hot-Water-Separately-Timed" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Hot water separately timed? Not applicable if combi
            boiler or instantaneous water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Hot-Water-Controls-Manufacturer" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Hot-Water-Controls-Model" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="SAP-Community-Heating-Systems"
                  type="SAP-Community-Heating-Systems" minOccurs="0"/>
      <xs:element name="Main-Heating-Details" type="Main-Heating-Details"/>
      <xs:element name="SAP-Heating-Design-Water-Use" type="DesignWaterUseCode"
                  minOccurs="0"/>
      <xs:element name="Main-Heating-Systems-Interaction"
                  type="MainHeatingSystemsInteraction" minOccurs="0"/>
      <xs:element name="Secondary-Heating-Declared-Values"
                  type="Heating-Declared-Values" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Use when manufacturer’s declared values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Primary-Pipework-Insulation"
                  type="PipeworkInsulationCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Not applicable to combi boiler or instantaneous
            water heater.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Heating-Details" type="Solar-Heating-Details"
                  minOccurs="0"/>
      <xs:element name="Instantaneous-WWHRS" type="Instantaneous-WWHRS"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Waste Water Heat Recovery System.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Storage-WWHRS" type="Storage-WWHRS" minOccurs="0"/>
      <xs:element name="Shower-Outlets" type="Shower-Outlets" minOccurs="0"/>
      <xs:element name="Number-Baths" type="Count" minOccurs="0"/>
      <xs:element name="Number-Baths-WWHRS" type="Count" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAP-Special-Feature" type="SAP-Special-Feature"/>
  <xs:complexType name="SAP-Special-Feature">
    <xs:sequence>
      <xs:element name="Description" type="xs:string"/>
      <xs:choice>
        <xs:element name="Energy-Feature" type="Energy-Feature"/>
        <xs:element name="Emissions-Feature" type="Emission-Feature"/>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Special-Features" type="SAP-Special-Features"/>
  <xs:complexType name="SAP-Special-Features">
    <xs:sequence>
      <xs:element name="SAP-Special-Feature" type="SAP-Special-Feature"
                  maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SAP-Cooling" type="SAP-Cooling"/>
  <xs:complexType name="SAP-Cooling">
    <xs:all>
      <xs:element name="Cooled-Area" type="xs:decimal" minOccurs="0"/>
      <xs:element name="Cooling-System-Data-Source" type="SAP-DataSourceCode"
                  minOccurs="0"/>
      <xs:element name="Cooling-System-Class" type="SAP-CoolingSystemClassCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Data set includes either class or SEER, not both.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="System-Energy-Efficiency-Ratio" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>SEER.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Main-Heating" type="Main-Heating"/>
  <xs:complexType name="Main-Heating">
    <xs:all>
      <xs:element name="Main-Heating-Number">
        <xs:annotation>
          <xs:documentation>Identifies the main heating as system 1 or system 2.
            System 1 must always be present, system 2 is included only when
            there are two systems.
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="2"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Main-Heating-Category"
                  type="SAP-MainHeatingCategoryCode">
        <xs:annotation>
          <xs:documentation>Category of heating system for the main heating
            system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Data-Source" type="SAP-DataSourceCode">
        <xs:annotation>
          <xs:documentation>Source of main heating system data.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Index-Number" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The ID of the heating system from the product
            database, if system from database.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Manufacturer" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Main-Heating-Model" type="xs:string" minOccurs="0"/>
      <xs:element name="Main-Heating-Commissioning-Certificate" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Main-Heating-Installation-Engineer" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Main heating installation engineer registration
            reference.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Condensing-Boiler" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Is the boiler a condensing boiler? If boiler
            efficiency is manufacturer declaration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Condensing-Boiler-Heat-Distribution"
                  type="xs:positiveInteger" default="80" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The temperature distribution of the condensing
            boiler.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Pump-Heat-Distribution" type="xs:positiveInteger"
                  default="80" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The temperature distribution of the heat pump, for
            wet systems only.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gas-Or-Oil-Boiler-Type"
                  type="SAP-GasOrOilBoilerTypeCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Boiler type; if boiler efficiency is manufacturer
            declaration and fuel is gas or oil.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Combi-Boiler-Type" type="SAP-CombiBoilerTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Combi boiler type; if it is a combi boiler and
            boiler efficiency is manufacturer declaration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Case-Heat-Emission" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Case heat emission at full load in kW; if it is a
            range cooker boiler and boiler efficiency is manufacturer
            declaration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Transfer-To-Water" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Heat transfer to water at full load in kW; if it is
            a range cooker boiler and boiler efficiency is manufacturer
            declaration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solid-Fuel-Boiler-Type" type="SAP-SolidFuelBoilerType"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Boiler type; if boiler efficiency is manufacturer
            declaration and fuel is solid.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Code" type="SAP-SpaceHeatingCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Main heating code; when heating data source is SAP
            table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Fuel-Type" type="HeatingFuelTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of fuel used to power the central heating
            e.g. Gas, Electricity; not used if main heating system is community
            heating scheme.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PCDF-Fuel-Index" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>PCDF index number of the fuel type, only if
            Main-Fuel-Type is 99 (fuel from database).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Control" type="SAP-HeatingControlCode">
        <xs:annotation>
          <xs:documentation>Type of Main Control for the Heating System.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heat-Emitter-Type" type="HeatEmitterCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Identifies the means by which the central heating
            system (if present) emits heat; only when wet system (radiators or
            underfloor).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Underfloor-Heat-Emitter-Type"
                  type="UnderfloorHeatEmitterCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Means by which an underfloor heating system (if
            present) emits heat; only when wet system (underfloor).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Flue-Type" type="FlueTypeCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of main heating flue; only if flued
            appliance.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Flue-Fan-Present" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Indicates whether the heating system contains a fan
            flue; only if boiler.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Central-Heating-Pump-In-Heated-Space"
                  type="xs:boolean" default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Central heating pump in heated space? Only when wet
            system (radiators or underfloor).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Oil-Pump-In-Heated-Space" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Oil pump in heated space? Only if oil boiler.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Interlocked-System" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Interlocked system? Only when wet system (radiators
            or underfloor).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-Separate-Delayed-Start" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>True if there is a delayed start control separate
            from a controller in the database.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Boiler-Fuel-Feed" type="SAP-BoilerFuelFeedCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The type of boiler fuel feed; only if solid fuel
            boiler with manufacturer declaration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Main-Heating-HETAS-Approved" type="xs:boolean"
                  default="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Main heating appliance is HETAS approved? Only if
            solid fuel.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Electric-CPSU-Operating-Temperature" type="Measurement"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Electric CPSU operating temperature in Celcius; only
            if main heating is electric CPSU.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Fraction" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Fraction of main heating provided by this system, is
            1 if only one main system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Burner-Control" type="SAP-BurnerControlCode"
                  minOccurs="0"/>
      <xs:element name="Efficiency-Type" type="SAP-EfficiencyTypeCode"
                  minOccurs="0"/>
      <xs:element name="Main-Heating-Efficiency-Winter" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>To be used if main heating data is manufacturer
            declaration and Efficiency-Type is winter and summer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Efficiency-Summer" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>To be used if main heating data is manufacturer
            declaration and Efficiency-Type is winter and summer.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-Efficiency" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>If main heating is any system other than heat
            network.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Main-Heating-System-Type" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Main heating system type or technology, for e.g.,
            combi boiler, air source heat pump, etc.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Has-FGHRS" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Flue Gas Heat Recovery System.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FGHRS-Index-Number" type="xs:nonNegativeInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>FGHRS index number; only if FGHRS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FGHRS-Energy-Source" type="SAP-Energy-Source"
                  minOccurs="0"/>
      <xs:element name="Main-Heating-Declared-Values"
                  type="Heating-Declared-Values" minOccurs="0"/>
      <xs:element name="Storage-Heaters" type="Storage-Heaters" minOccurs="0"/>
      <xs:element name="Emitter-Temperature" type="EmitterTemperatureCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Gas and oil boilers and heat pump from database: 0,
            1, 3 or 4
            Other heat pump 0, 2 or 4.
            Other systems NA.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MCS-Installed-Heat-Pump" type="xs:boolean"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Whether heat pump was installed under the
            Microgeneration Certification Scheme.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Central-Heating-Pump-Age" type="PumpAge" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Included for systems with a central heating pump,
            i.e. wet system.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Control-Index-Number" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>The ID of the controller from the product
            database.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Heating-Controller-Function" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Heating-Controller-Ecodesign-Class" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Heating-Controller-Manufacturer" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Heating-Controller-Model" type="xs:string"
                  minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="Main-Heating-Details" type="Main-Heating-Details"/>
  <xs:complexType name="Main-Heating-Details">
    <xs:sequence>
      <xs:element name="Main-Heating" type="Main-Heating" maxOccurs="2"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Community-Heat-Source" type="Community-Heat-Source"/>
  <xs:complexType name="Community-Heat-Source">
    <xs:all>
      <xs:element name="Heat-Source-Type" type="SAP-HeatSourceTypeCode"/>
      <xs:element name="Heat-Fraction" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Fraction of heat for the system provided by this
            heat source.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Fuel-Type" type="HeatingFuelTypeCode"/>
      <xs:element name="PCDF-Fuel-Index" type="xs:positiveInteger"
                  minOccurs="0"/>
      <xs:element name="Heat-Efficiency" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Heat efficiency in %.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Power-Efficiency" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Power efficiency in %. Include when heat source is
            CHP.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="CHP-Electricity-Generation"
                  type="SAP-CHPElectricityGenerationCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>CHP Electricity generation options from table 12f.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Community-Heat-Sources" type="Community-Heat-Sources"/>
  <xs:complexType name="Community-Heat-Sources">
    <xs:sequence>
      <xs:element name="Community-Heat-Source" type="Community-Heat-Source"
                  maxOccurs="5"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Air-Change-Rates" type="Air-Change-Rates"/>
  <xs:complexType name="Air-Change-Rates">
    <xs:sequence>
      <xs:element name="Air-Change-Rate" type="Air-Change-Rate" minOccurs="12"
                  maxOccurs="12"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Air-Change-Rate" type="Air-Change-Rate"/>
  <xs:complexType name="Air-Change-Rate">
    <xs:all>
      <xs:element name="Air-Change-Rate-Month" type="AirChangeRateMonth"/>
      <xs:element name="Air-Change-Rate-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Air change rate in month.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Hydro-Electric-Generation-Months"
              type="Hydro-Electric-Generation-Months"/>
  <xs:complexType name="Hydro-Electric-Generation-Months">
    <xs:sequence>
      <xs:element name="Hydro-Electric-Generation-Month"
                  type="Hydro-Electric-Generation-Month" minOccurs="12"
                  maxOccurs="12"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Hydro-Electric-Generation-Month"
              type="Hydro-Electric-Generation-Month"/>
  <xs:complexType name="Hydro-Electric-Generation-Month">
    <xs:all>
      <xs:element name="Hydro-Month" type="HydroElecMonth"/>
      <xs:element name="Hydro-Value" type="xs:decimal">
        <xs:annotation>
          <xs:documentation>Hydro electricity in kWh in month.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="PV-Array" type="PV-Array"/>
  <xs:complexType name="PV-Array">
    <xs:all>
      <xs:element name="Peak-Power" type="Measurement">
        <xs:annotation>
          <xs:documentation>Peak kW of photovoltaics (PVs) (kWp); 0.0 if none.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Orientation" type="SAP-CompassDirectionCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>PV orientation; only if peak kWp &gt; 0.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Pitch" type="SAP-VerticalPitchCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>PV pitch; only if peak kWp &gt; 0.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Overshading" type="SAP-SolarCollectorOvershadingCode"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>PV overshading; only if peak kWp &gt; 0 and no MCS
            certificate.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MCS-Certificate" type="xs:boolean" default="false"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Does the installation have a MCS certificate.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MCS-Certificate-Reference" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>MCS certificate reference number</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PV-Panel-Manufacturer-Name" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Manufacturer of PV panels</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Overshading-MCS" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Overshading factor calculated according to MCS.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="PV-Arrays" type="PV-Arrays"/>
  <xs:complexType name="PV-Arrays">
    <xs:sequence>
      <xs:element name="PV-Array" type="PV-Array" maxOccurs="3"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Wind-Turbine" type="Wind-Turbine"/>
  <xs:complexType name="Wind-Turbine">
    <xs:all>
      <xs:element name="Wind-Turbine-Manufacturer-Name" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Wind turbine manufacturer name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wind-Turbine-Certificate" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Wind turbine certificate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wind-Turbine-Rotor-Diameter" type="Measurement">
        <xs:annotation>
          <xs:documentation>Wind turbine rotor diameter in metres; only if wind
            turbine.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Wind-Turbine-Hub-Height" type="Measurement">
        <xs:annotation>
          <xs:documentation>Wind turbine hub height above building in metres;
            only if wind turbine.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Wind-Turbines" type="Wind-Turbines"/>
  <xs:complexType name="Wind-Turbines">
    <xs:sequence>
      <xs:element name="Wind-Turbine" type="Wind-Turbine" maxOccurs="99"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Energy-Feature" type="Energy-Feature"/>
  <xs:complexType name="Energy-Feature">
    <xs:all>
      <xs:element name="Energy-Saved-Or-Generated" type="Measurement">
        <xs:annotation>
          <xs:documentation>Energy saved or generated in kWh/year.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Saved-Or-Generated-Fuel" type="HeatingFuelTypeCode"
                  minOccurs="0"/>
      <xs:element name="Energy-Used" type="Measurement">
        <xs:annotation>
          <xs:documentation>Energy used in kWh/year.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Energy-Used-Fuel" type="HeatingFuelTypeCode"
                  minOccurs="0"/>
      <xs:element name="Air-Change-Rates" type="Air-Change-Rates" minOccurs="0">
        <xs:annotation>
          <xs:documentation>For Appendix Q procedure that provides air change
            rates. Only one Special Feature can have data on air change rates.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Emission-Feature" type="Emission-Feature"/>
  <xs:complexType name="Emission-Feature">
    <xs:all>
      <xs:element name="Emissions-Saved" type="Measurement">
        <xs:annotation>
          <xs:documentation>Emissions saved in kg/year.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Emissions-Created" type="Measurement">
        <xs:annotation>
          <xs:documentation>Additional emissions in kg/year.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Solar-Heating-Details" type="Solar-Heating-Details"/>
  <xs:complexType name="Solar-Heating-Details">
    <xs:all>
      <xs:element name="Solar-Heating-Collector-Manufacturer" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Panel manufacturer</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Heating-Certificate" type="xs:string"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Solar heating certificate</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Aperture-Area" type="Measurement">
        <xs:annotation>
          <xs:documentation>Panel aperture area in square metres.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Type"
                  type="SAP-SolarCollectorTypeCode">
        <xs:annotation>
          <xs:documentation>Type of solar panel collector.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Data-Source"
                  type="SAP-SolarCollectorDataSourceCode">
        <xs:annotation>
          <xs:documentation>Source of solar panel collector data.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Zero-Loss-Efficiency"
                  type="Percentage" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Collector zero-loss efficiency; only if declared
            values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Heat-Loss-Rate" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Collector heat loss rate; for backward compatibility
            only, do not use.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Linear-Heat-Loss-Coefficient"
                  type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Collector linear heat loss coefficient; only if
            declared values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element
        name="Solar-Panel-Collector-Second-Order-Heat-Loss-Coefficient"
        type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Collector 2nd order heat loss coefficient; only if
            declared values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Orientation"
                  type="SAP-CompassDirectionCode">
        <xs:annotation>
          <xs:documentation>Collector orientation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Solar-Panel-Collector-Pitch" type="SAP-VerticalPitch"/>
      <xs:element name="Solar-Panel-Collector-Overshading"
                  type="SAP-SolarCollectorOvershadingCode"/>
      <xs:element name="Has-Solar-Powered-Pump" type="xs:boolean"
                  default="false"/>
      <xs:element name="Is-Solar-Store-Combined-Cylinder" type="xs:boolean"
                  default="false"/>
      <xs:element name="Solar-Store-Volume" type="Measurement">
        <xs:annotation>
          <xs:documentation>Dedicated solar store volume in litres.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Collector-Loop-Efficiency" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Collector loop efficiency; only if declared
            values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Incidence-Angle-Modifier" type="xs:decimal"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Incidence angle modifier; only if declared values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Is-Community-Solar" type="xs:boolean" default="false"/>
      <xs:element name="Service-Provision" type="ServiceProvisionCode"/>
      <xs:element name="Overall-Heat-Loss" type="xs:decimal" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Overall heat loss coefficient of system; only if
            declared values.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Instantaneous-WWHRS" type="Instantaneous-WWHRS"/>
  <xs:complexType name="Instantaneous-WWHRS">
    <xs:sequence>
      <xs:element name="WWHRS-Index-Number1" type="xs:positiveInteger"/>
      <xs:element name="WWHRS-Index-Number2" type="xs:positiveInteger"
                  minOccurs="0">
        <xs:annotation>
          <xs:documentation>Omit if no second system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WWHRS-Efficiency1" type="xs:decimal" minOccurs="0"/>
      <xs:element name="WWHRS-Manufacturer1" type="xs:string" minOccurs="0"/>
      <xs:element name="WWHRS-Model1" type="xs:string" minOccurs="0"/>
      <xs:element name="WWHRS-Efficiency2" type="xs:decimal" minOccurs="0"/>
      <xs:element name="WWHRS-Manufacturer2" type="xs:string" minOccurs="0"/>
      <xs:element name="WWHRS-Model2" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Storage-WWHRS" type="Storage-WWHRS"/>
  <xs:complexType name="Storage-WWHRS">
    <xs:all>
      <xs:element name="WWHRS-Index-Number" type="xs:positiveInteger"/>
      <xs:element name="WWHRS-Store-Volume" type="Measurement">
        <xs:annotation>
          <xs:documentation>Dedicated store volume in litres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Storage-WWHRS-Efficiency" type="xs:decimal"
                  minOccurs="0"/>
      <xs:element name="Storage-WWHRS-Manufacturer" type="xs:string"
                  minOccurs="0"/>
      <xs:element name="Storage-WWHRS-Model" type="xs:string" minOccurs="0"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="Shower-Outlets" type="Shower-Outlets"/>
  <xs:complexType name="Shower-Outlets">
    <xs:annotation>
      <xs:documentation>Shower outlets present in the dwelling. If there are
        more than 5 then only include the 5 with the highest flow rates used.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Shower-Outlet" type="Shower-Outlet" maxOccurs="5"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Shower-Outlet" type="Shower-Outlet"/>
  <xs:complexType name="Shower-Outlet">
    <xs:annotation>
      <xs:documentation>Various details for each shower outlet.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Shower-Outlet-Type" type="ShowerOutletTypeCode">
        <xs:annotation>
          <xs:documentation>Hot water type for this shower outlet.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Shower-Flow-Rate" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The flow rate. Only when a shower is not
            instantaneous electric. Leave blank if NO flow limiter fitted.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Shower-Power" type="Measurement" minOccurs="0">
        <xs:annotation>
          <xs:documentation>The shower power, only if shower outlet type is
            instantaneous electric.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Shower-WWHRS" type="ShowerWWHRSCode">
        <xs:annotation>
          <xs:documentation>The WWHRS with which the shower is connected. If
            shower outlet type is instantaneous electric shower then only a
            storage WWHRS can be selected or none.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Heating-Declared-Values" type="Heating-Declared-Values"/>
  <xs:complexType name="Heating-Declared-Values">
    <xs:all>
      <xs:element name="Efficiency" type="Percentage"/>
      <xs:element name="Make-Model" type="xs:string"/>
      <xs:element name="Test-Method" type="xs:string"/>
    </xs:all>
  </xs:complexType>
  <xs:element name="Storage-Heater"/>
  <xs:complexType name="Storage-Heater">
    <xs:all>
      <xs:element name="Number-Of-Heaters" type="xs:positiveInteger">
        <xs:annotation>
          <xs:documentation>The number of storage heaters with this index
            number.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Index-Number" type="xs:positiveInteger">
        <xs:annotation>
          <xs:documentation>The index number of the heater from the product
            database.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="High-Heat-Retention" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>Whether heater is high heat retention type.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Storage-Heaters"/>
  <xs:complexType name="Storage-Heaters">
    <xs:sequence>
      <xs:element name="Storage-Heater" type="Storage-Heater" maxOccurs="4"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>