epb_view_models 2.2.21 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/api/schemas/data/orchestrate.json +4 -0
- data/api/schemas/xml/CEPC-S-7.0/Reports/BaseDataTypes.xsd +296 -296
- data/api/schemas/xml/CEPC-S-7.0/Reports/CEPC-Reports.xsd +63 -63
- data/api/schemas/xml/CEPC-S-7.0/Reports/Input-Data.xsd +34 -34
- data/api/schemas/xml/CEPC-S-7.0/Reports/Performance-Summary.xsd +120 -120
- data/api/schemas/xml/CEPC-S-7.0/Reports/Property.xsd +67 -67
- data/api/schemas/xml/CEPC-S-7.0/Reports/Report-Header.xsd +178 -178
- data/api/schemas/xml/CEPC-S-7.0/Reports/Reported-Data.xsd +391 -391
- data/api/schemas/xml/CEPC-S-7.0/Reports/UserManagement.xsd +171 -171
- data/api/schemas/xml/CEPC-S-7.1/Reports/BaseDataTypes.xsd +300 -300
- data/api/schemas/xml/CEPC-S-7.1/Reports/CEPC-Reports.xsd +66 -66
- data/api/schemas/xml/CEPC-S-7.1/Reports/Input-Data.xsd +34 -34
- data/api/schemas/xml/CEPC-S-7.1/Reports/Performance-Summary.xsd +125 -125
- data/api/schemas/xml/CEPC-S-7.1/Reports/Performance-Summary.xsd.bak +123 -123
- data/api/schemas/xml/CEPC-S-7.1/Reports/Property.xsd +67 -67
- data/api/schemas/xml/CEPC-S-7.1/Reports/Report-Header.xsd +178 -178
- data/api/schemas/xml/CEPC-S-7.1/Reports/Reported-Data.xsd +406 -406
- data/api/schemas/xml/CEPC-S-7.1/Reports/UserManagement.xsd +174 -174
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/CommonFiles/CommonStructures.xsd +160 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/CommonFiles/Exceptions.xsd +72 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/ExternalDefinitions.xsd +147 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportChangeAccessRequest_1.xsd +44 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportChangeAccessResponse_1.xsd +47 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportChangeStatusRequest_1.xsd +44 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportChangeStatusResponse_1.xsd +47 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportCreateRequest_1.xsd +41 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportCreateResponse_1.xsd +52 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportRetrieveRequest_1.xsd +52 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/ConditionReportRetrieveResponse_1.xsd +87 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/HomeInspectorRegisterUpdateRequest_1.xsd +44 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/HomeInspectorRegisterUpdateResponse_1.xsd +28 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/HomeInspectorRegisterUpdateStatusRequest_1.xsd +30 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/HomeInspectorRegisterUpdateStatusResponse_1.xsd +52 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/PropertyUPRNValidationRequest_1.xsd +44 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Messages/PropertyUPRNValidationResponse_1.xsd +46 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/Templates/EPC-Certificate.xsd +270 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/Templates/Property.xsd +68 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/Templates/SAP05-CollectedData.xsd +1188 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/Templates/SAP05-Report.xsd +195 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/Templates/UserManagement.xsd +215 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/UDT/BaseDataTypes.xsd +175 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/UDT/EPC-Domains.xsd +703 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/UDT/SAP05-Domains.xsd +3007 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/SAP-EPC/UDT/SharedDomains.xsd +311 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/EPC-Certificate.xsd +252 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/EPC-CollectedData.xsd +444 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-FeaturesExternal.xsd +283 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-FeaturesGrounds.xsd +222 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-FeaturesInternal.xsd +205 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-FeaturesServices.xsd +311 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-PropertyDetails.xsd +380 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HCR-RiskAssessment.xsd +297 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/HIP-Reports.xsd +220 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/Property.xsd +73 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/Templates/UserManagement.xsd +257 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/BaseDataTypes.xsd +176 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/EPC-Domains.xsd +743 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/HCR-Domains.xsd +1773 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/SAP-Domains.xsd +1134 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/SharedDomains.xsd +660 -0
- data/api/schemas/xml/RdSAP-Schema-S-14.0/RdSAP/UDT/TypeDefinitions.xsd +19 -0
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/ExternalDefinitions.xml +1456 -1456
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/ExternalDefinitions.xsd +236 -236
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/AssessorManagement.xsd +16 -16
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/EPC-Certificate.xsd +388 -388
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/EPC-CollectedData.xsd +784 -784
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-FeaturesExternal.xsd +283 -283
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-FeaturesGrounds.xsd +222 -222
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-FeaturesInternal.xsd +205 -205
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-FeaturesServices.xsd +311 -311
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-PropertyDetails.xsd +380 -380
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/HCR-RiskAssessment.xsd +298 -298
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/Property.xsd +67 -67
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/SAP-Reports.xsd +201 -201
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/Templates/UserManagement.xsd +259 -259
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/BaseDataTypes.xsd +176 -176
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/EPC-Domains.xsd +881 -881
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/HCR-Domains.xsd +1779 -1779
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/SAP-Domains.xsd +1650 -1650
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/SharedDomains.xsd +768 -768
- data/api/schemas/xml/RdSAP-Schema-S-16.1/RdSAP/UDT/TypeDefinitions.xsd +19 -19
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/ExternalDefinitions.xml +1456 -1456
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/ExternalDefinitions.xsd +236 -236
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/AssessorManagement.xsd +208 -208
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/EPC-Certificate.xsd +400 -400
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/EPC-CollectedData.xsd +957 -957
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/ExceptionList.xsd +18 -18
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/Property.xsd +66 -66
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/RdSAP-Report.xsd +180 -180
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/Templates/ReportList.xsd +26 -26
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/UDT/EPC-Domains.xsd +843 -843
- data/api/schemas/xml/RdSAP-Schema-S-17.00/RdSAP/UDT/SAP-Domains.xsd +2541 -2541
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/ExternalDefinitions.xml +1456 -1456
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/ExternalDefinitions.xsd +236 -236
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/AssessorManagement.xsd +213 -213
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/EPC-Certificate.xsd +400 -400
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/EPC-CollectedData.xsd +966 -966
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/ExceptionList.xsd +18 -18
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/Property.xsd +66 -66
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/RdSAP-Report.xsd +175 -175
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/Templates/ReportList.xsd +26 -26
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/UDT/EPC-Domains.xsd +853 -853
- data/api/schemas/xml/RdSAP-Schema-S-18.0/RdSAP/UDT/SAP-Domains.xsd +2551 -2551
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/ExternalDefinitions.xsd +261 -261
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/AssessorManagement.xsd +213 -213
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/EPC-Certificate.xsd +400 -400
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/EPC-CollectedData.xsd +1051 -1051
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/Property.xsd +66 -66
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/RdSAP-Report.xsd +176 -176
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/Templates/ReportList.xsd +26 -26
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/UDT/EPC-Domains.xsd +858 -858
- data/api/schemas/xml/RdSAP-Schema-S-19.0/RdSAP/UDT/SAP-Domains.xsd +2684 -2684
- data/api/schemas/xml/RdSAP-Schema-S-21.0/RdSAP/Templates/RdSAP-Report.cs +11846 -11846
- data/lib/epb_view_models.rb +1 -1
- data/lib/view_model/factory.rb +1 -0
- data/lib/view_model/rd_sap_schema_s_140/common_schema.rb +550 -0
- data/lib/view_model/rd_sap_wrapper.rb +2 -0
- metadata +45 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema targetNamespace="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" xmlns="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bdt="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" xmlns:SAP05="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" elementFormDefault="qualified" version="LIG-14.0">
|
|
3
|
+
<xs:import namespace="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" schemaLocation="../UDT/BaseDataTypes.xsd"/>
|
|
4
|
+
<xs:include schemaLocation="../UDT/SharedDomains.xsd"/>
|
|
5
|
+
<xs:include schemaLocation="../UDT/SAP05-Domains.xsd"/>
|
|
6
|
+
<xs:include schemaLocation="../Templates/UserManagement.xsd"/>
|
|
7
|
+
<xs:include schemaLocation="../Templates/Property.xsd"/>
|
|
8
|
+
<xs:include schemaLocation="../Templates/SAP05-CollectedData.xsd"/>
|
|
9
|
+
<xs:include schemaLocation="../Templates/EPC-Certificate.xsd"/>
|
|
10
|
+
<xs:element name="Energy-Performance-Certificate" type="Energy-Performance-Certificate"/>
|
|
11
|
+
<xs:complexType name="Energy-Performance-Certificate">
|
|
12
|
+
<xs:sequence>
|
|
13
|
+
<xs:element name="SAP-Version" type="SAP-VersionCode" minOccurs="1" maxOccurs="1">
|
|
14
|
+
<xs:annotation>
|
|
15
|
+
<xs:documentation>SAP version that was used for the assessment.</xs:documentation>
|
|
16
|
+
</xs:annotation>
|
|
17
|
+
</xs:element>
|
|
18
|
+
<xs:element name="BEDF-Revision-Number" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1">
|
|
19
|
+
<xs:annotation>
|
|
20
|
+
<xs:documentation>BEDF Revision Number from SEDBUK database if boiler details retrieved from database (as on the $001 line in bedf2005.dat); if boiler or other data (mechanical vent system, PFGHRD) from database. This must be included if any item is from database. At the moment it can be
|
|
21
|
+
- boilers
|
|
22
|
+
- mech vent system
|
|
23
|
+
but others things will be added in future revisions.</xs:documentation>
|
|
24
|
+
</xs:annotation>
|
|
25
|
+
</xs:element>
|
|
26
|
+
<xs:element name="Calculation-Software-Name" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
27
|
+
<xs:annotation>
|
|
28
|
+
<xs:documentation>Name of the software used to perform the SAP calculation.</xs:documentation>
|
|
29
|
+
</xs:annotation>
|
|
30
|
+
</xs:element>
|
|
31
|
+
<xs:element name="Calculation-Software-Version" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
32
|
+
<xs:annotation>
|
|
33
|
+
<xs:documentation>Version of the software used to perform the SAP calculation.</xs:documentation>
|
|
34
|
+
</xs:annotation>
|
|
35
|
+
</xs:element>
|
|
36
|
+
<xs:element name="Report-Header" type="Report-Header" minOccurs="1" maxOccurs="1"/>
|
|
37
|
+
<xs:element name="Energy-Assessment" type="Energy-Assessment" minOccurs="1" maxOccurs="1"/>
|
|
38
|
+
<xs:element name="SAP05-Data" type="SAP05-Data" minOccurs="1" maxOccurs="1"/>
|
|
39
|
+
<xs:element name="PDF" type="xs:base64Binary" minOccurs="1" maxOccurs="1"/>
|
|
40
|
+
<xs:element name="Insurance-Details" type="Insurance-Details" minOccurs="0" maxOccurs="1"/>
|
|
41
|
+
<xs:element name="ExternalDefinitions-Revision-Number" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
42
|
+
<xs:annotation>
|
|
43
|
+
<xs:documentation>A number indicating the version of related ExternalDefinitions.xsd</xs:documentation>
|
|
44
|
+
</xs:annotation>
|
|
45
|
+
</xs:element>
|
|
46
|
+
</xs:sequence>
|
|
47
|
+
</xs:complexType>
|
|
48
|
+
<xs:element name="ReportKeyFields" type="ReportKeyFields"/>
|
|
49
|
+
<xs:complexType name="ReportKeyFields">
|
|
50
|
+
<xs:annotation>
|
|
51
|
+
<xs:documentation>Primary Key Fields definition for a Report - used when a message requires a reference tio a report to be passed.</xs:documentation>
|
|
52
|
+
</xs:annotation>
|
|
53
|
+
<xs:sequence>
|
|
54
|
+
<xs:element name="RRN" type="bdt:RRNType" minOccurs="1" maxOccurs="1"/>
|
|
55
|
+
</xs:sequence>
|
|
56
|
+
</xs:complexType>
|
|
57
|
+
<xs:element name="Insurance-Details" type="Insurance-Details"/>
|
|
58
|
+
<xs:complexType name="Insurance-Details">
|
|
59
|
+
<xs:annotation>
|
|
60
|
+
<xs:documentation>Details of the Professional Indemnity Insurance policy used to provide cover against a compensation claim against any particular Home Condition Report.
|
|
61
|
+
|
|
62
|
+
A particular Home Condition Report may be covered by an Professional Indemnity Insurance policy in one of three different ways:
|
|
63
|
+
* The Home Inspector has personal Professional Indemnity Insurance and the Home Condition Report is covered by this.
|
|
64
|
+
* The Home Condition Report is covered by an umbrella Professional Indemnity Insurance policy held by the Home Condition Report Supplier that assigned the inspection to the Home Inspector.
|
|
65
|
+
* An individual insurance policy is taken out to cover the individual report such as the case where the property is unusual and falls outside the Home Inspectors normal Professional Indemnity Insurance policy.
|
|
66
|
+
|
|
67
|
+
A Home Inspector may use any or all of these methods to providing Professional Indemnity Insurance for a Home Condition Report on a case-by-case basis.
|
|
68
|
+
</xs:documentation>
|
|
69
|
+
</xs:annotation>
|
|
70
|
+
<xs:all>
|
|
71
|
+
<xs:element name="Insurer" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
72
|
+
<xs:annotation>
|
|
73
|
+
<xs:documentation>The name of the insurance company that underwrites / issued the insurance policy</xs:documentation>
|
|
74
|
+
</xs:annotation>
|
|
75
|
+
</xs:element>
|
|
76
|
+
<xs:element name="Policy-No" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
77
|
+
<xs:annotation>
|
|
78
|
+
<xs:documentation>The policy number of the insurance policy</xs:documentation>
|
|
79
|
+
</xs:annotation>
|
|
80
|
+
</xs:element>
|
|
81
|
+
<xs:element name="Effective-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
82
|
+
<xs:annotation>
|
|
83
|
+
<xs:documentation>The date that the insurance policy becomes effective (commences cover)</xs:documentation>
|
|
84
|
+
</xs:annotation>
|
|
85
|
+
</xs:element>
|
|
86
|
+
<xs:element name="Expiry-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
87
|
+
<xs:annotation>
|
|
88
|
+
<xs:documentation>The date that the insurance policy is supposed to expire.</xs:documentation>
|
|
89
|
+
</xs:annotation>
|
|
90
|
+
</xs:element>
|
|
91
|
+
<xs:element name="PI-Limit" type="bdt:Money" minOccurs="1" maxOccurs="1">
|
|
92
|
+
<xs:annotation>
|
|
93
|
+
<xs:documentation>The upper limit of the Professional Indemnity cover provided by the insurance policy.</xs:documentation>
|
|
94
|
+
</xs:annotation>
|
|
95
|
+
</xs:element>
|
|
96
|
+
</xs:all>
|
|
97
|
+
</xs:complexType>
|
|
98
|
+
<xs:element name="Report-Header" type="Report-Header"/>
|
|
99
|
+
<xs:complexType name="Report-Header">
|
|
100
|
+
<xs:annotation>
|
|
101
|
+
<xs:documentation>Report Header contains all the identification and searchable details for the Report.</xs:documentation>
|
|
102
|
+
</xs:annotation>
|
|
103
|
+
<xs:sequence>
|
|
104
|
+
<xs:element name="RRN" type="bdt:RRNType" minOccurs="1" maxOccurs="1">
|
|
105
|
+
<xs:annotation>
|
|
106
|
+
<xs:documentation>Report Reference Number is the unique report Identifier that the report will be publicly known by.
|
|
107
|
+
|
|
108
|
+
The RRN is allocated to the Report at the point that it is registered and will be algorithmically derived from the natural key characteristics of the Home Condition Report i.e. The Unique Property Reference Number (UPRN) and Inspection Date.</xs:documentation>
|
|
109
|
+
</xs:annotation>
|
|
110
|
+
</xs:element>
|
|
111
|
+
<xs:element name="Inspection-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
112
|
+
<xs:annotation>
|
|
113
|
+
<xs:documentation>The date that the inspection was actually carried out by the Home Inspector.</xs:documentation>
|
|
114
|
+
</xs:annotation>
|
|
115
|
+
</xs:element>
|
|
116
|
+
<xs:element name="Report-Type" type="ReportTypeCode" minOccurs="1" maxOccurs="1">
|
|
117
|
+
<xs:annotation>
|
|
118
|
+
<xs:documentation>The type of Home Inspection that was carried out.
|
|
119
|
+
|
|
120
|
+
Initially the only allowed type will be a Home Condition Report inspection but this may be extended in the future to cover Energy Assessment Only inspections.</xs:documentation>
|
|
121
|
+
</xs:annotation>
|
|
122
|
+
</xs:element>
|
|
123
|
+
<xs:element name="Completion-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
124
|
+
<xs:annotation>
|
|
125
|
+
<xs:documentation>The date that the Home Inspector completed the report. This will be after the Inspection Date but generally before the Registration Date.</xs:documentation>
|
|
126
|
+
</xs:annotation>
|
|
127
|
+
</xs:element>
|
|
128
|
+
<xs:element name="Registration-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
129
|
+
<xs:annotation>
|
|
130
|
+
<xs:documentation>The date that the report was submitted to the HCR Registration Organisation for lodging in the HCR Register.</xs:documentation>
|
|
131
|
+
</xs:annotation>
|
|
132
|
+
</xs:element>
|
|
133
|
+
<xs:element name="Status" type="ReportStatusCode" minOccurs="1" maxOccurs="1">
|
|
134
|
+
<xs:annotation>
|
|
135
|
+
<xs:documentation>The Status of the Report.
|
|
136
|
+
|
|
137
|
+
A Home Condition Report can have a number of distinct states depending on whereabouts in its overall lifecycle the HCR is - see Home Condition Report Statechart for more details.</xs:documentation>
|
|
138
|
+
</xs:annotation>
|
|
139
|
+
</xs:element>
|
|
140
|
+
<xs:element name="Language-Code" type="bdt:LanguageCode" minOccurs="1" maxOccurs="1">
|
|
141
|
+
<xs:annotation>
|
|
142
|
+
<xs:documentation>The language that the report is written in. </xs:documentation>
|
|
143
|
+
</xs:annotation>
|
|
144
|
+
</xs:element>
|
|
145
|
+
<xs:element name="Restricted-Access" type="RestrictedAccessCode" minOccurs="1" maxOccurs="1">
|
|
146
|
+
<xs:annotation>
|
|
147
|
+
<xs:documentation>Indicates that the Seller wants to restrict access to the Home Condition Report to General Public / Unregistered Users only.
|
|
148
|
+
|
|
149
|
+
Some members of the public have a moral / religious objection to money lending and hence may not want to let Mortgage Lenders have access to the data. When set to "Yes" retrieval of the structured (XML) data will be blocked.
|
|
150
|
+
|
|
151
|
+
However anyone with access to the Report Reference Number (RRN) can retrieve the PDF version of the Home Condition Report via the public access mechanism which cannot be restricted in this way.</xs:documentation>
|
|
152
|
+
</xs:annotation>
|
|
153
|
+
</xs:element>
|
|
154
|
+
<xs:element name="Transaction-Type" type="TransactionType" minOccurs="1" maxOccurs="1"/>
|
|
155
|
+
<xs:element name="Seller-Commission-Report" type="bdt:Flag" minOccurs="1" maxOccurs="1">
|
|
156
|
+
<xs:annotation>
|
|
157
|
+
<xs:documentation>Indicates that the HCR was commissioned by the Seller of the Property or their Agent. This is required in order to differentiate these reports from Buyer commisioned reports which are not eligible for inclusion in a Home Information Pack</xs:documentation>
|
|
158
|
+
</xs:annotation>
|
|
159
|
+
</xs:element>
|
|
160
|
+
<xs:element name="Property-Type" type="PropertyTypeCode" minOccurs="1" maxOccurs="1">
|
|
161
|
+
<xs:annotation>
|
|
162
|
+
<xs:documentation>Describes the type of Property that is being inspected. This should be the same as the Property-Type recorded in the Property-Details section.</xs:documentation>
|
|
163
|
+
</xs:annotation>
|
|
164
|
+
</xs:element>
|
|
165
|
+
<xs:element name="Home-Inspector" type="Home-Inspector" minOccurs="1" maxOccurs="1"/>
|
|
166
|
+
<xs:element name="Property" type="Property" minOccurs="1" maxOccurs="1"/>
|
|
167
|
+
<xs:element name="Region-Code" type="UKRegionCode" minOccurs="0" maxOccurs="1">
|
|
168
|
+
<xs:annotation>
|
|
169
|
+
<xs:documentation>Region within the UK. This field is optional.</xs:documentation>
|
|
170
|
+
</xs:annotation>
|
|
171
|
+
</xs:element>
|
|
172
|
+
<xs:element name="Country-Code" type="UKCountryCode" minOccurs="0" maxOccurs="1">
|
|
173
|
+
<xs:annotation>
|
|
174
|
+
<xs:documentation>Country within the UK. This field is optional.</xs:documentation>
|
|
175
|
+
</xs:annotation>
|
|
176
|
+
</xs:element>
|
|
177
|
+
<xs:element name="Related-Party-Disclosure">
|
|
178
|
+
<xs:complexType>
|
|
179
|
+
<xs:choice>
|
|
180
|
+
<xs:element name="Related-Party-Disclosure-Text" type="bdt:Sentence" minOccurs="1" maxOccurs="1">
|
|
181
|
+
<xs:annotation>
|
|
182
|
+
<xs:documentation>For backward compatibility only.</xs:documentation>
|
|
183
|
+
</xs:annotation>
|
|
184
|
+
</xs:element>
|
|
185
|
+
<xs:element name="Related-Party-Disclosure-Number" type="DisclosureCode" minOccurs="1" maxOccurs="1">
|
|
186
|
+
<xs:annotation>
|
|
187
|
+
<xs:documentation>Code indicating any potential conflicts of interest or commercial relationships with other parties.</xs:documentation>
|
|
188
|
+
</xs:annotation>
|
|
189
|
+
</xs:element>
|
|
190
|
+
</xs:choice>
|
|
191
|
+
</xs:complexType>
|
|
192
|
+
</xs:element>
|
|
193
|
+
</xs:sequence>
|
|
194
|
+
</xs:complexType>
|
|
195
|
+
</xs:schema>
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema targetNamespace="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" xmlns="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bdt="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" xmlns:SAP05="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05" elementFormDefault="qualified" version="LIG-14.0">
|
|
3
|
+
<xs:import namespace="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" schemaLocation="../UDT/BaseDataTypes.xsd"/>
|
|
4
|
+
<xs:include schemaLocation="../UDT/SharedDomains.xsd"/>
|
|
5
|
+
<xs:include schemaLocation="../Templates/Property.xsd"/>
|
|
6
|
+
<xs:simpleType name="CertificateNumberType">
|
|
7
|
+
<xs:annotation>
|
|
8
|
+
<xs:documentation>The Certificate Number is a 10-character fixed-length alphanumeric code consisting of 4 characters identifying the Certification Scheme and a 6-digit zero-padded identifier for each Home Inspector certified by that Certification Scheme. For example ABCD987654, XYZ_123456 etc.</xs:documentation>
|
|
9
|
+
</xs:annotation>
|
|
10
|
+
<xs:restriction base="xs:string">
|
|
11
|
+
<xs:pattern value="[A-Z/_]{4}[0-9]{6}"/>
|
|
12
|
+
<xs:minLength value="10"/>
|
|
13
|
+
<xs:maxLength value="10"/>
|
|
14
|
+
</xs:restriction>
|
|
15
|
+
</xs:simpleType>
|
|
16
|
+
<xs:element name="Home-Inspector" type="Home-Inspector"/>
|
|
17
|
+
<xs:complexType name="Home-Inspector">
|
|
18
|
+
<xs:annotation>
|
|
19
|
+
<xs:documentation>A Certified Home Inspector is a person certified by a Certification Scheme - that is they exist on the Home Inspector Register - as being qualified to carry out a Home Inspection and produce a Home Condition Report.
|
|
20
|
+
|
|
21
|
+
The exact criteria for fit + proper are laid down in regulations and the Business Standards and it is the responsibility of the Certification Scheme to carry out sufficient checks to ensure those criteria are adhered to.
|
|
22
|
+
|
|
23
|
+
Although covered by a different regulatory regime a Home Inspector and Energy Assessor serve synonymous roles in the product of a Home Condition Report or Energy Performance Certificate respectively.</xs:documentation>
|
|
24
|
+
</xs:annotation>
|
|
25
|
+
<xs:all>
|
|
26
|
+
<xs:element name="Name" type="PersonNameType" minOccurs="1" maxOccurs="1">
|
|
27
|
+
<xs:annotation>
|
|
28
|
+
<xs:documentation>The name by which the Home Inspector is registered. This is a structured name containing prefix, first name + surname.</xs:documentation>
|
|
29
|
+
</xs:annotation>
|
|
30
|
+
</xs:element>
|
|
31
|
+
<xs:element name="Certification-Date" type="xs:date" minOccurs="1" maxOccurs="1">
|
|
32
|
+
<xs:annotation>
|
|
33
|
+
<xs:documentation>The date that the status is/was effective from</xs:documentation>
|
|
34
|
+
</xs:annotation>
|
|
35
|
+
</xs:element>
|
|
36
|
+
<xs:element name="Status" type="HomeInspectorStatusCode" minOccurs="1" maxOccurs="1">
|
|
37
|
+
<xs:annotation>
|
|
38
|
+
<xs:documentation>The current status of the Home Inspector e.g. Registered, Not Active, Suspended etc.
|
|
39
|
+
|
|
40
|
+
Reports are only acceptable from Home Inspectors who are actually "Active" at the point that the Report is submitted for registration.</xs:documentation>
|
|
41
|
+
</xs:annotation>
|
|
42
|
+
</xs:element>
|
|
43
|
+
<xs:element name="Notify-Lodgement" type="bdt:Flag" minOccurs="0" maxOccurs="1">
|
|
44
|
+
<xs:annotation>
|
|
45
|
+
<xs:documentation>Indicates whether the Home Inspector wants to be notified that a new Home Condition Report has been lodged in the HCR Register under his name.
|
|
46
|
+
|
|
47
|
+
If "Yes" then the HCR Registration Operating Entity must send a written notification, preferably an e-mail to the Home Inspector's registered E-Mail Address, for every Home Condition Report that the Home Inspector produces.</xs:documentation>
|
|
48
|
+
</xs:annotation>
|
|
49
|
+
</xs:element>
|
|
50
|
+
<xs:element name="Contact-Address" type="AddressType" minOccurs="0" maxOccurs="1">
|
|
51
|
+
<xs:annotation>
|
|
52
|
+
<xs:documentation>The address that any written correspondence can be sent to. This is not the same as the Registered Address because it may, of course, be a Post Office Box.</xs:documentation>
|
|
53
|
+
</xs:annotation>
|
|
54
|
+
</xs:element>
|
|
55
|
+
<xs:element name="Web-Site" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
|
56
|
+
<xs:element name="E-Mail" type="xs:string" minOccurs="0" maxOccurs="1">
|
|
57
|
+
<xs:annotation>
|
|
58
|
+
<xs:documentation>the E-Mail address that the Authorised User can be contacted at.</xs:documentation>
|
|
59
|
+
</xs:annotation>
|
|
60
|
+
</xs:element>
|
|
61
|
+
<xs:element name="Fax" type="PhoneNumberType" minOccurs="0" maxOccurs="1"/>
|
|
62
|
+
<xs:element name="Telephone" type="PhoneNumberType" minOccurs="0" maxOccurs="1"/>
|
|
63
|
+
<xs:element name="Qualifications" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
|
64
|
+
<xs:element name="Specialisms" type="xs:string" minOccurs="0" maxOccurs="1">
|
|
65
|
+
<xs:annotation>
|
|
66
|
+
<xs:documentation>A free-text list of any specialisms that the Home Inspector may offer to the consumer e.g. Thatched Roofs, SBEM etc). The list is at the discretion of the Home Inspector though may eventaully evolve into a predefined list.</xs:documentation>
|
|
67
|
+
</xs:annotation>
|
|
68
|
+
</xs:element>
|
|
69
|
+
<xs:element name="Company-Name" type="xs:string" minOccurs="0" maxOccurs="1">
|
|
70
|
+
<xs:annotation>
|
|
71
|
+
<xs:documentation>The Name of the Company that the Home Inspector is empolyed by.</xs:documentation>
|
|
72
|
+
</xs:annotation>
|
|
73
|
+
</xs:element>
|
|
74
|
+
<xs:element name="Postcode-Coverage" type="Postcode-CoverageType" minOccurs="0" maxOccurs="1">
|
|
75
|
+
<xs:annotation>
|
|
76
|
+
<xs:documentation>Comma-delimited string of Postcode Areas and/or Postcode Outcodes that the Home Inspector covers - for example: NN, PE18, LE27.
|
|
77
|
+
|
|
78
|
+
This is used by the General Public as part of the Search Home Inspector Register to find Home Inspectors that take work in a particular area.
|
|
79
|
+
|
|
80
|
+
An empty list means that the Home Inspector does not cover any specific areas (which would be the case if they did not take privately commissioned work) and hence would not match on any Postcode based search.
|
|
81
|
+
</xs:documentation>
|
|
82
|
+
</xs:annotation>
|
|
83
|
+
</xs:element>
|
|
84
|
+
<xs:element name="Inspector-Report-Types" type="Inspector-Report-Types" minOccurs="1" maxOccurs="1">
|
|
85
|
+
<xs:annotation>
|
|
86
|
+
<xs:documentation>A list of ReportTypeCode elements that indicate what reports the assessor/inspector is allowed to undertake.</xs:documentation>
|
|
87
|
+
</xs:annotation>
|
|
88
|
+
</xs:element>
|
|
89
|
+
<xs:element name="Certification-Scheme" type="Certification-Scheme" minOccurs="1" maxOccurs="1"/>
|
|
90
|
+
<xs:element name="Base-Postcode-Location" type="PostcodeType" minOccurs="0" maxOccurs="1">
|
|
91
|
+
<xs:annotation>
|
|
92
|
+
<xs:documentation>The full postcode that the Home Inspector works from.</xs:documentation>
|
|
93
|
+
</xs:annotation>
|
|
94
|
+
</xs:element>
|
|
95
|
+
<xs:element name="Identification-Number">
|
|
96
|
+
<xs:complexType>
|
|
97
|
+
<xs:choice>
|
|
98
|
+
<xs:element name="Certificate-Number" type="CertificateNumberType" minOccurs="1" maxOccurs="1">
|
|
99
|
+
<xs:annotation>
|
|
100
|
+
<xs:documentation>The unique identifier assigned to the Home Inspector by the Certification Scheme by which they can be identified throughout their membership of the Certification Scheme. The Certificate Number is included in the HCR.</xs:documentation>
|
|
101
|
+
</xs:annotation>
|
|
102
|
+
</xs:element>
|
|
103
|
+
<xs:element name="Membership-Number" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
104
|
+
<xs:annotation>
|
|
105
|
+
<xs:documentation>For Scottish DEAs only</xs:documentation>
|
|
106
|
+
</xs:annotation>
|
|
107
|
+
</xs:element>
|
|
108
|
+
</xs:choice>
|
|
109
|
+
</xs:complexType>
|
|
110
|
+
</xs:element>
|
|
111
|
+
</xs:all>
|
|
112
|
+
</xs:complexType>
|
|
113
|
+
<xs:simpleType name="HomeInspectorStatusCode">
|
|
114
|
+
<xs:restriction base="xs:string">
|
|
115
|
+
<xs:enumeration value="Inactive">
|
|
116
|
+
<xs:annotation>
|
|
117
|
+
<xs:documentation>Inactive</xs:documentation>
|
|
118
|
+
</xs:annotation>
|
|
119
|
+
</xs:enumeration>
|
|
120
|
+
<xs:enumeration value="Registered">
|
|
121
|
+
<xs:annotation>
|
|
122
|
+
<xs:documentation>Registered</xs:documentation>
|
|
123
|
+
</xs:annotation>
|
|
124
|
+
</xs:enumeration>
|
|
125
|
+
<xs:enumeration value="Struck-Off">
|
|
126
|
+
<xs:annotation>
|
|
127
|
+
<xs:documentation>Struck Off</xs:documentation>
|
|
128
|
+
</xs:annotation>
|
|
129
|
+
</xs:enumeration>
|
|
130
|
+
<xs:enumeration value="Suspended">
|
|
131
|
+
<xs:annotation>
|
|
132
|
+
<xs:documentation>Suspended</xs:documentation>
|
|
133
|
+
</xs:annotation>
|
|
134
|
+
</xs:enumeration>
|
|
135
|
+
</xs:restriction>
|
|
136
|
+
</xs:simpleType>
|
|
137
|
+
<xs:element name="PersonNameType" type="PersonNameType"/>
|
|
138
|
+
<xs:complexType name="PersonNameType">
|
|
139
|
+
<xs:annotation>
|
|
140
|
+
<xs:documentation>A Person Name is a complex structure to capture the separate components of the name for a Person, consisting of:
|
|
141
|
+
* A prefix e.g. "Mr", "Mrs", "Dr" etc.
|
|
142
|
+
* First Name e.g. "John"
|
|
143
|
+
* Middle Initial
|
|
144
|
+
* Surname e.g. "Smith"
|
|
145
|
+
* Suffix e.g. "PhD", "FRICS"
|
|
146
|
+
The First Name and Surname are the only mandatory elements of a name.
|
|
147
|
+
|
|
148
|
+
The name elements can then be combined in a number of different ways to produce different formats appropriate to the output context.
|
|
149
|
+
|
|
150
|
+
Note that all parts of the Persons Name should be stored as uppercase strings because this makes it easier to search and index the names but some components may be converted to mixed case for printing on reports and such like.
|
|
151
|
+
</xs:documentation>
|
|
152
|
+
</xs:annotation>
|
|
153
|
+
<xs:all>
|
|
154
|
+
<xs:element name="Prefix" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
155
|
+
<xs:element name="First-Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
156
|
+
<xs:element name="Surname" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
157
|
+
<xs:element name="Suffix" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
158
|
+
</xs:all>
|
|
159
|
+
</xs:complexType>
|
|
160
|
+
<xs:element name="Inspector-Report-Types" type="Inspector-Report-Types"/>
|
|
161
|
+
<xs:complexType name="Inspector-Report-Types">
|
|
162
|
+
<xs:sequence>
|
|
163
|
+
<xs:element name="Report-Type" type="ReportTypeCode" minOccurs="1" maxOccurs="unbounded"/>
|
|
164
|
+
</xs:sequence>
|
|
165
|
+
</xs:complexType>
|
|
166
|
+
<xs:simpleType name="PhoneNumberType">
|
|
167
|
+
<xs:restriction base="xs:string">
|
|
168
|
+
<xs:pattern value="[0-9\-\.\)\(\+ ]+"/>
|
|
169
|
+
</xs:restriction>
|
|
170
|
+
</xs:simpleType>
|
|
171
|
+
<xs:simpleType name="Postcode-CoverageType">
|
|
172
|
+
<xs:restriction base="xs:string">
|
|
173
|
+
<xs:pattern value="[A-Z]{1,2}[0-9]{0,2}(,[A-Z]{1,2}[0-9]{0,2})*"/>
|
|
174
|
+
<xs:maxLength value="500"/>
|
|
175
|
+
</xs:restriction>
|
|
176
|
+
</xs:simpleType>
|
|
177
|
+
<xs:element name="Certification-Scheme" type="Certification-Scheme"/>
|
|
178
|
+
<xs:complexType name="Certification-Scheme">
|
|
179
|
+
<xs:annotation>
|
|
180
|
+
<xs:documentation>The Certification Scheme is the "regulatory" body responsible for regulating the activities of the Home Inspectors.
|
|
181
|
+
|
|
182
|
+
A Certification Scheme will carry out certain primary functions in accordance with the standards, focussed around certifying, managing and regulating Home Inspectors and registering Home Condition Reports.
|
|
183
|
+
|
|
184
|
+
Although covered by a different regulatory regime a Certification Scheme is synonymous with the role of an Accreditation Body in the production of an Energy Performance Certificate.</xs:documentation>
|
|
185
|
+
</xs:annotation>
|
|
186
|
+
<xs:all>
|
|
187
|
+
<xs:element name="Scheme-Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
188
|
+
<xs:element name="Complaints-Address" type="AddressType" minOccurs="1" maxOccurs="1">
|
|
189
|
+
<xs:annotation>
|
|
190
|
+
<xs:documentation>The address to which any complaints should be sent.</xs:documentation>
|
|
191
|
+
</xs:annotation>
|
|
192
|
+
</xs:element>
|
|
193
|
+
<xs:element name="Contact-Address" type="AddressType" minOccurs="1" maxOccurs="1">
|
|
194
|
+
<xs:annotation>
|
|
195
|
+
<xs:documentation>The address that any written correspondence can be sent to. This is not the same as the Registered Address because it may, of course, be a Post Office Box.</xs:documentation>
|
|
196
|
+
</xs:annotation>
|
|
197
|
+
</xs:element>
|
|
198
|
+
<xs:element name="Web-Site" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
|
199
|
+
<xs:element name="E-Mail" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
200
|
+
<xs:annotation>
|
|
201
|
+
<xs:documentation>the E-Mail address that the Authorised User can be contacted at.</xs:documentation>
|
|
202
|
+
</xs:annotation>
|
|
203
|
+
</xs:element>
|
|
204
|
+
<xs:element name="Registered-Name" type="xs:string" minOccurs="1" maxOccurs="1">
|
|
205
|
+
<xs:annotation>
|
|
206
|
+
<xs:documentation>The public name by which the Authorised User is known by - this is either a personal name (e.g. "Mr John Smith") built up from the components of the Person Name if the Authorised User is an individual such as a Home Inspector or a Company Name if the Authorised User is an organisation.
|
|
207
|
+
|
|
208
|
+
In the case of a individual the name may not be unique (e.g. there may be many thousands of people called "Mr John Smith") so this is information about the Authorised User rather than an identifier.</xs:documentation>
|
|
209
|
+
</xs:annotation>
|
|
210
|
+
</xs:element>
|
|
211
|
+
<xs:element name="Fax" type="PhoneNumberType" minOccurs="1" maxOccurs="1"/>
|
|
212
|
+
<xs:element name="Telephone" type="PhoneNumberType" minOccurs="1" maxOccurs="1"/>
|
|
213
|
+
</xs:all>
|
|
214
|
+
</xs:complexType>
|
|
215
|
+
</xs:schema>
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema targetNamespace="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" xmlns="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" xmlns:bdt="http://www.est.org.uk/epc/lodgement/estV20/DCLG-SAP05/BaseDataTypes" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="LIG-14.0">
|
|
3
|
+
<xs:annotation>
|
|
4
|
+
<xs:documentation>The purpose of Base Data Type declarations is to provide a point of declaration of all the primitive datatypes that are in use within the domain and can be used to describe the contents of the Business Information Model.
|
|
5
|
+
|
|
6
|
+
A significant problem with the XML Schema Definition standard is that it is designed to solve a large number of software implementation problems and so provides an equally large number of datatypes with each datatype describing a variation on a theme.
|
|
7
|
+
|
|
8
|
+
For example as well as "number" we also have "short" (with a range of values corresponding to that which may be stored a 16 bit computer word), "long", "int", "integer", "decimal", "double", "byte" and quite a few other number variations. However many of these datatypes are highly-specialized computer-focused definitions that have little or no relevance to the Business stakeholders.
|
|
9
|
+
|
|
10
|
+
Most likely the business stakeholders would only recognise a limited number of datatypes - such as String, Date, Time, Integer, Decimal - and some domain-specific ones - such as Money (amount + currency attribute) - and will prefer the model to be restricted to that small set.
|
|
11
|
+
|
|
12
|
+
The advantages of defining a set of base data types and gathering them together in a single file are:
|
|
13
|
+
* It allows documented controls to be placed on the primitive types that are used in any schema.
|
|
14
|
+
* It will improve consistency of use of primitive types (e.g. consistent use of "integer" rather than "int", "long" etc.) that must be handled by applications
|
|
15
|
+
* It will improve code reuse.
|
|
16
|
+
* It allows standard attributes to be added to all elements whilst hiding the detail in a non business definition layer.
|
|
17
|
+
|
|
18
|
+
The principle is something like the way datayping is implemented in Java (as well as other programming languages) where every primitive datatype, such as "string", is wrapped by an equivalent complex class such as "String".The Java developer could declare object attributes using the "string" primitive but this isn't regarded as good practice. By using the "pfdt:string" class instead they are protected from physical changes to the implementation of "string" and also gain an extension point where additional behaviour not supported by the primitive datatype can be defined.
|
|
19
|
+
|
|
20
|
+
The declarations in this file underpin the User Defined Types, Message Infrastructure and Business Entity Template declarations.
|
|
21
|
+
</xs:documentation>
|
|
22
|
+
</xs:annotation>
|
|
23
|
+
<xs:simpleType name="Percentage">
|
|
24
|
+
<xs:restriction base="xs:decimal">
|
|
25
|
+
<xs:maxInclusive value="100"/>
|
|
26
|
+
<xs:minInclusive value="0"/>
|
|
27
|
+
</xs:restriction>
|
|
28
|
+
</xs:simpleType>
|
|
29
|
+
<xs:element name="Money" type="Money"/>
|
|
30
|
+
<xs:complexType name="Money">
|
|
31
|
+
<xs:annotation>
|
|
32
|
+
<xs:documentation>Extension of a Decimal value for use with monetary values where a currency code needs to
|
|
33
|
+
be specified.
|
|
34
|
+
|
|
35
|
+
The currency code is actually metadata about the value so, in line with good XML practice, the Currency Code is declared as an XML-Attribute of the Money datatype rather than as a separate XML-Element.
|
|
36
|
+
|
|
37
|
+
The currency attribute should then include a list of valid currencies codes that are supported.
|
|
38
|
+
</xs:documentation>
|
|
39
|
+
</xs:annotation>
|
|
40
|
+
<xs:simpleContent>
|
|
41
|
+
<xs:extension base="xs:decimal">
|
|
42
|
+
<xs:attribute name="currency" use="optional" type="xs:string"/>
|
|
43
|
+
</xs:extension>
|
|
44
|
+
</xs:simpleContent>
|
|
45
|
+
</xs:complexType>
|
|
46
|
+
<xs:simpleType name="Count">
|
|
47
|
+
<xs:annotation>
|
|
48
|
+
<xs:documentation>A count of the number of occurrences of something - must therefore be >=0. This is the functional equivalent of the XML nonNegativeInteger datatype.</xs:documentation>
|
|
49
|
+
</xs:annotation>
|
|
50
|
+
<xs:restriction base="xs:integer"/>
|
|
51
|
+
</xs:simpleType>
|
|
52
|
+
<xs:element name="Classifier" type="Classifier"/>
|
|
53
|
+
<xs:complexType name="Classifier">
|
|
54
|
+
<xs:annotation>
|
|
55
|
+
<xs:documentation>A Classifier is an extended datatype used as the basis for a data-item whose allowed values are restricted to a pre-defined set of Classifiers or Enumerated Codes.
|
|
56
|
+
|
|
57
|
+
Classifier should never actually be used as the datatype for any data-item in a finished data model because a specific Enumerated Domain should be declared for defining the specific values in the domain. However it is acceptable in an incomplete model where definition of the domain has yet to be completed.</xs:documentation>
|
|
58
|
+
</xs:annotation>
|
|
59
|
+
<xs:all/>
|
|
60
|
+
<xs:attribute name="pid" use="required" type="xs:string"/>
|
|
61
|
+
</xs:complexType>
|
|
62
|
+
<xs:element name="Reference" type="Reference"/>
|
|
63
|
+
<xs:complexType name="Reference">
|
|
64
|
+
<xs:annotation>
|
|
65
|
+
<xs:documentation>The Reference Data Type is any association between two Business Entities (or their sub-
|
|
66
|
+
components). In order to be consistent across the entire dataset all references contain the ID of the thing being referenced and the value actually assigned to the element is the 'display value'. The type of reference is derived from the underlying data model
|
|
67
|
+
|
|
68
|
+
This has a shortcoming in that we can't support multi-value keys using this datatype. However
|
|
69
|
+
I'm reluctant to extend the datatype to include the ID as a nested element because it becomes very cumbersome to use. Instead, in all likelihood, the Primary Key to any entity in a data processing application is likely to be a single-value, system-generated key so we're imposing that restriction here as well.</xs:documentation>
|
|
70
|
+
</xs:annotation>
|
|
71
|
+
<xs:all/>
|
|
72
|
+
</xs:complexType>
|
|
73
|
+
<xs:simpleType name="Measurement">
|
|
74
|
+
<xs:annotation>
|
|
75
|
+
<xs:documentation>A measurement of something such as a length or area. All measurements are to 2 decimal places and must be positive.</xs:documentation>
|
|
76
|
+
</xs:annotation>
|
|
77
|
+
<xs:restriction base="xs:decimal"/>
|
|
78
|
+
</xs:simpleType>
|
|
79
|
+
<xs:element name="IDString" type="IDString"/>
|
|
80
|
+
<xs:complexType name="IDString">
|
|
81
|
+
<xs:annotation>
|
|
82
|
+
<xs:documentation>A string containing a unique identifier for something.
|
|
83
|
+
|
|
84
|
+
The underlying assumption is that each instance of a class or entity will have a unique identifier assigned to it which can then be assigned to any referencing entity as a reference to the entity instance.
|
|
85
|
+
|
|
86
|
+
This is a very similar concept to XML ID datatype but is locally defined because of the need to extend the datatype with domain specific attributes.</xs:documentation>
|
|
87
|
+
</xs:annotation>
|
|
88
|
+
<xs:simpleContent>
|
|
89
|
+
<xs:extension base="xs:string"/>
|
|
90
|
+
</xs:simpleContent>
|
|
91
|
+
</xs:complexType>
|
|
92
|
+
<xs:simpleType name="NumericString">
|
|
93
|
+
<xs:annotation>
|
|
94
|
+
<xs:documentation>A Numeric String is a string based datatype for representing strings, such as telephone numbers and IP addresses, that are limited to the numeric character-set.
|
|
95
|
+
</xs:documentation>
|
|
96
|
+
</xs:annotation>
|
|
97
|
+
<xs:restriction base="xs:string">
|
|
98
|
+
<xs:pattern value="[0-9\-\.\+]+"/>
|
|
99
|
+
</xs:restriction>
|
|
100
|
+
</xs:simpleType>
|
|
101
|
+
<xs:simpleType name="Flag">
|
|
102
|
+
<xs:annotation>
|
|
103
|
+
<xs:documentation>The Boolean datatype is a redefinition of the XML Schema defined "Boolean". The XSD version is a logical True / False datatype whereas from a data processing perspective it is more likely to be a string based Y/N value. This could be seen as an Enumerated Domain but "Boolean" is so common that it makes more sense to be a base datatype.
|
|
104
|
+
</xs:documentation>
|
|
105
|
+
</xs:annotation>
|
|
106
|
+
<xs:restriction base="xs:string">
|
|
107
|
+
<xs:enumeration value="Y">
|
|
108
|
+
<xs:annotation>
|
|
109
|
+
<xs:documentation>Yes</xs:documentation>
|
|
110
|
+
</xs:annotation>
|
|
111
|
+
</xs:enumeration>
|
|
112
|
+
<xs:enumeration value="N">
|
|
113
|
+
<xs:annotation>
|
|
114
|
+
<xs:documentation>No</xs:documentation>
|
|
115
|
+
</xs:annotation>
|
|
116
|
+
</xs:enumeration>
|
|
117
|
+
</xs:restriction>
|
|
118
|
+
</xs:simpleType>
|
|
119
|
+
<xs:simpleType name="LanguageCode">
|
|
120
|
+
<xs:restriction base="xs:string">
|
|
121
|
+
<xs:enumeration value="1">
|
|
122
|
+
<xs:annotation>
|
|
123
|
+
<xs:documentation>English</xs:documentation>
|
|
124
|
+
</xs:annotation>
|
|
125
|
+
</xs:enumeration>
|
|
126
|
+
<xs:enumeration value="2">
|
|
127
|
+
<xs:annotation>
|
|
128
|
+
<xs:documentation>Welsh</xs:documentation>
|
|
129
|
+
</xs:annotation>
|
|
130
|
+
</xs:enumeration>
|
|
131
|
+
</xs:restriction>
|
|
132
|
+
</xs:simpleType>
|
|
133
|
+
<xs:simpleType name="ExtendedBoolean">
|
|
134
|
+
<xs:annotation>
|
|
135
|
+
<xs:documentation>An extended boolean type that also allows 'unknown' as a value.</xs:documentation>
|
|
136
|
+
</xs:annotation>
|
|
137
|
+
<xs:restriction base="xs:token">
|
|
138
|
+
<xs:enumeration value="false"/>
|
|
139
|
+
<xs:enumeration value="true"/>
|
|
140
|
+
<xs:enumeration value="unknown"/>
|
|
141
|
+
</xs:restriction>
|
|
142
|
+
</xs:simpleType>
|
|
143
|
+
<xs:element name="Sentence" type="Sentence"/>
|
|
144
|
+
<xs:complexType name="Sentence">
|
|
145
|
+
<xs:annotation>
|
|
146
|
+
<xs:documentation>String value with a language code for natural-language text.</xs:documentation>
|
|
147
|
+
</xs:annotation>
|
|
148
|
+
<xs:simpleContent>
|
|
149
|
+
<xs:extension base="xs:string">
|
|
150
|
+
<xs:attribute name="language" use="optional" type="LanguageCode">
|
|
151
|
+
<xs:annotation>
|
|
152
|
+
<xs:documentation>Identifies the language that the sentence is recorded in.</xs:documentation>
|
|
153
|
+
</xs:annotation>
|
|
154
|
+
</xs:attribute>
|
|
155
|
+
</xs:extension>
|
|
156
|
+
</xs:simpleContent>
|
|
157
|
+
</xs:complexType>
|
|
158
|
+
<xs:simpleType name="RRNType">
|
|
159
|
+
<xs:annotation>
|
|
160
|
+
<xs:documentation>The Report Reference Number is a 20-digit unique identifier assigned to each Report.
|
|
161
|
+
|
|
162
|
+
It is formatted as five blocks of four digits i.e. 9999-9999-9999-9999-9999 and generated by an algorithm described in Appendix A "Report ID Generation" of Section 18 "Transformation Rules" of the Technical Standards.</xs:documentation>
|
|
163
|
+
</xs:annotation>
|
|
164
|
+
<xs:restriction base="xs:string">
|
|
165
|
+
<xs:pattern value="[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}"/>
|
|
166
|
+
</xs:restriction>
|
|
167
|
+
</xs:simpleType>
|
|
168
|
+
<xs:element name="ForeignKey" type="ForeignKey"/>
|
|
169
|
+
<xs:complexType name="ForeignKey">
|
|
170
|
+
<xs:sequence/>
|
|
171
|
+
<xs:attribute name="EntityName" use="required" type="xs:string"/>
|
|
172
|
+
<xs:attribute name="KeyName" use="optional" type="xs:string"/>
|
|
173
|
+
<xs:attribute name="DomainName" use="optional" type="xs:string"/>
|
|
174
|
+
</xs:complexType>
|
|
175
|
+
</xs:schema>
|