Document Structure
Table of Contents
Top Level Nodes
ENERGY STAR products are independently certified to save energy without sacrificing features or functionality. Saving energy helps prevent climate change. Look for the ENERGY STAR label to save money on your energy bills and help protect our environment.
Improving your home's energy efficiency with ENERGY STAR can help to lower high energy bills, improve comfort and reduce greenhouse gas emissions. Learn about the many ways to save in your home and track your progress with "My ENERGY STAR" - your new dashboard to savings.
A new home or apartment that has earned the ENERGY STAR label has undergone a process of inspections, testing, and verification to meet strict requirements set by the US EPA. ENERGY STAR certified homes and apartments use significantly less energy than typical new homes and apartments while delivering better comfort, quality, and durability.
Improve financial performance and reduce carbon emissions with EPA's strategic energy management approach.
Each of the top level nodes described below with the exception of XMLTransactionHeaderInformation and SoftwareInfo represent a high-level block of information about a building or project that can be related to other nodes to describe useful information about a building, the people and businesses who interact with the building, and actions taken on the building. The relationships between the top level nodes are defined with XML Element References that can be used, for example, to associate a Building with a Project, Consumption with a Building, or a Contractor with a Project.
The schema itself does not enforce the particular constraints for Use Cases, but rather provides a container for all the relevant components and a referencing scheme to relate them.
The XMLTransactionHeaderInformation element meta data about the HPXML file.
<XMLTransactionHeaderInformation> <XMLType>audit</XMLType> <XMLGeneratedBy>Housesoft 1.0</XMLGeneratedBy> <CreatedDateAndTime>2014-09-02T17:32:12Z</CreatedDateAndTime> <Transaction>create</Transaction> </XMLTransactionHeaderInformation>
XMLType is generally unused and may be deprecated in the future.
XMLGeneratedBy is often used to transmit the name of the software that generated the HPXML file. It may also be deprecated in the future due to its redundancy with SoftwareInfo.
CreatedDateAndTime is the date and time the file was generated in the ISO 8601 format.
Transaction describes whether this is a new document or an update to a previous one.
SoftwareInfo provides a place to transmit information about the software used to generate the HPXML.
<SoftwareInfo> <SoftwareProgramUsed>WOPR</SoftwareProgramUsed> <SoftwareProgramVersion>1.0</SoftwareProgramVersion> </SoftwareInfo>
The Contractor node describes a business that the customer works with to do an audit or upgrade to their building.
A customer is the owner, tenant, or some other person who has a vested interest in the house being described and worked on. This node is a place to describe that person, their contact information, and their relation to the building.
The Building node describes the physical characteristics of a building at a point in time past, present, or future.
The Project node describes work that has been done or is to be done to a Building. The measures described can have references pointing to specific components on the building and what was changed between the pre- and post-upgrade states and associated costs.
The Utility node represents a utility company.
The Consumption node stores and represents the energy and/or water use of a building. It can contain high resolution electric smart meter data, the fuel oil fill up that happens once or twice a year, or more typically, monthly gas or electric bills.
Because it is impossible to foresee every possible data point that will ever need to be collected and transmitted about a house or upgrade, most elements in HPXML contain an extension element containing an <xs:any> designation. That allows any element from any namespace to be inserted there. This is to facilitate transfer of data elements not available in the standard.
<extension> <QuantityWoodChucked>as much wood as a wood chuck could chuck</QuantityWoodChucked> </extension>
Please exercise extreme caution and discretion when you consider implementing extension elements. Often times the temptation to use them happens when a difference arises between the way your software and/or home performance program represents a certain data field and the way HPXML represents it. It is crucial in these cases to either map your data into HPXML or change the way you represent it internally to conform to the HPXML standard. If each software vendor and home performance program extends HPXML in non-standard ways, the value proposition of the standard is nullified.
If there is no possible way to map your data into existing HPXML data fields, please contact BPI Working Group 5 (a.k.a. the HPXML working group) before implementing an extension. The working group would prefer to extend the standard for the benefit of everyone and avoid the use of extensions wherever possible. Often times you will not be the only one with the need for a particular element that was overlooked in the standard. By participating in the working group and lobbying for the elements you need you can enhance the value of HPXML for all parties.