epb_view_models 2.0.23 → 2.0.24

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.
@@ -5,7 +5,7 @@ loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
5
5
  loader.setup
6
6
 
7
7
  module EpbViewModels
8
- VERSION = "2.0.23"
8
+ VERSION = "2.0.24"
9
9
  end
10
10
 
11
11
  # Monkey patching to avoid using ActiveRecord::Type::Boolean.new.cast
@@ -572,6 +572,7 @@ module Helper
572
572
 
573
573
  def self.fuel_type(value, schema_type = "", report_type = "2")
574
574
  rdsap = %i[
575
+ RdSAP-Schema-21.0.1
575
576
  RdSAP-Schema-21.0.0
576
577
  RdSAP-Schema-20.0.0
577
578
  RdSAP-Schema-19.0
@@ -676,6 +677,7 @@ module Helper
676
677
 
677
678
  def self.schemas_post_20
678
679
  %i[
680
+ RdSAP-Schema-21.0.1
679
681
  RdSAP-Schema-21.0.0
680
682
  RdSAP-Schema-NI-21.0.0
681
683
  ]
@@ -15,6 +15,7 @@ module ViewModel
15
15
  CEPC-S-7.1
16
16
  ].freeze
17
17
  TYPES_OF_RD_SAP = %i[
18
+ RdSAP-Schema-21.0.1
18
19
  RdSAP-Schema-21.0.0
19
20
  RdSAP-Schema-20.0.0
20
21
  RdSAP-Schema-19.0
@@ -0,0 +1,606 @@
1
+ module ViewModel
2
+ module RdSapSchema2101
3
+ class CommonSchema < ViewModel::DomesticEpcViewModel
4
+ def assessment_id
5
+ xpath(%w[RRN])
6
+ end
7
+
8
+ def address_line1
9
+ xpath(%w[Property Address Address-Line-1])
10
+ end
11
+
12
+ def address_line2
13
+ xpath(%w[Property Address Address-Line-2]).to_s
14
+ end
15
+
16
+ def address_line3
17
+ xpath(%w[Property Address Address-Line-3]).to_s
18
+ end
19
+
20
+ def address_line4
21
+ xpath(%w[Property Address Address-Line-4]).to_s
22
+ end
23
+
24
+ def town
25
+ xpath(%w[Property Address Post-Town])
26
+ end
27
+
28
+ def postcode
29
+ xpath(%w[Property Address Postcode])
30
+ end
31
+
32
+ def scheme_assessor_id
33
+ xpath(%w[Certificate-Number])
34
+ end
35
+
36
+ def assessor_name
37
+ xpath(%w[Energy-Assessor Name])
38
+ end
39
+
40
+ def assessor_email
41
+ xpath(%w[Energy-Assessor E-Mail])
42
+ end
43
+
44
+ def assessor_telephone
45
+ xpath(%w[Energy-Assessor Telephone])
46
+ end
47
+
48
+ def date_of_assessment
49
+ xpath(%w[Inspection-Date])
50
+ end
51
+
52
+ def date_of_registration
53
+ xpath(%w[Registration-Date])
54
+ end
55
+
56
+ def date_of_completion
57
+ xpath(%w[Completion-Date])
58
+ end
59
+
60
+ def address_id
61
+ xpath(%w[UPRN])
62
+ end
63
+
64
+ def date_of_expiry
65
+ expires_at = (Date.parse(date_of_registration) - 1) >> 12 * 10
66
+
67
+ expires_at.to_s
68
+ end
69
+
70
+ def property_summary
71
+ @xml_doc.search("Energy-Assessment Property-Summary").children.select(
72
+ &:element?
73
+ ).map { |node|
74
+ next if xpath(%w[Energy-Efficiency-Rating], node).nil?
75
+
76
+ {
77
+ energy_efficiency_rating:
78
+ xpath(%w[Energy-Efficiency-Rating], node).to_i,
79
+ environmental_efficiency_rating:
80
+ xpath(%w[Environmental-Efficiency-Rating], node).to_i,
81
+ name: node.name.underscore,
82
+ description: xpath(%w[Description], node),
83
+ }
84
+ }.compact
85
+ end
86
+
87
+ def related_party_disclosure_text
88
+ xpath(%w[Related-Party-Disclosure-Text])
89
+ end
90
+
91
+ def related_party_disclosure_number
92
+ disclosure_number = xpath(%w[Related-Party-Disclosure-Number])
93
+ disclosure_number.nil? ? nil : disclosure_number.to_i
94
+ end
95
+
96
+ def improvements
97
+ @xml_doc
98
+ .search("Suggested-Improvements Improvement")
99
+ .map do |node|
100
+ {
101
+ energy_performance_rating_improvement:
102
+ xpath(%w[Energy-Performance-Rating], node).to_i,
103
+ environmental_impact_rating_improvement:
104
+ xpath(%w[Environmental-Impact-Rating], node).to_i,
105
+ green_deal_category_code: xpath(%w[Green-Deal-Category], node),
106
+ improvement_category: xpath(%w[Improvement-Category], node),
107
+ improvement_code:
108
+ xpath(%w[Improvement-Details Improvement-Number], node),
109
+ improvement_description: xpath(%w[Improvement-Description], node),
110
+ improvement_title: improvement_title(node),
111
+ improvement_type: xpath(%w[Improvement-Type], node),
112
+ indicative_cost: xpath(%w[Indicative-Cost], node),
113
+ sequence: xpath(%w[Sequence], node).to_i,
114
+ typical_saving: xpath(%w[Typical-Saving], node),
115
+ }
116
+ end
117
+ end
118
+
119
+ def recommendations_for_report
120
+ accessor = Accessor::DomesticRecommendationsAccessor.instance
121
+ @xml_doc
122
+ .search("Suggested-Improvements Improvement")
123
+ .map do |node|
124
+ improvement_code = xpath(%w[Improvement-Details Improvement-Number], node)
125
+ {
126
+ sequence: xpath(%w[Sequence], node).to_i,
127
+ improvement_code: xpath(%w[Improvement-Details Improvement-Number], node),
128
+ improvement_summary: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-21.0.0", improvement_number: improvement_code).summary : xpath(%w[Improvement-Summary], node),
129
+ improvement_description: improvement_code ? accessor.fetch_details(schema_version: "RdSAP-Schema-21.0.0", improvement_number: improvement_code).description : xpath(%w[Improvement-Description], node),
130
+ indicative_cost: xpath(%w[Indicative-Cost], node),
131
+ }
132
+ end
133
+ end
134
+
135
+ def hot_water_cost_potential
136
+ xpath(%w[Hot-Water-Cost-Potential])
137
+ end
138
+
139
+ def heating_cost_potential
140
+ xpath(%w[Heating-Cost-Potential])
141
+ end
142
+
143
+ def lighting_cost_potential
144
+ xpath(%w[Lighting-Cost-Potential])
145
+ end
146
+
147
+ def hot_water_cost_current
148
+ xpath(%w[Hot-Water-Cost-Current])
149
+ end
150
+
151
+ def heating_cost_current
152
+ xpath(%w[Heating-Cost-Current])
153
+ end
154
+
155
+ def lighting_cost_current
156
+ xpath(%w[Lighting-Cost-Current])
157
+ end
158
+
159
+ def potential_carbon_emission
160
+ xpath(%w[CO2-Emissions-Potential])
161
+ end
162
+
163
+ def current_carbon_emission
164
+ xpath(%w[CO2-Emissions-Current])
165
+ end
166
+
167
+ def potential_energy_rating
168
+ xpath(%w[Energy-Rating-Potential])&.to_i
169
+ end
170
+
171
+ def current_energy_rating
172
+ xpath(%w[Energy-Rating-Current])&.to_i
173
+ end
174
+
175
+ def estimated_energy_cost; end
176
+
177
+ def total_floor_area
178
+ xpath(%w[Property-Summary Total-Floor-Area])
179
+ end
180
+
181
+ def dwelling_type
182
+ xpath(%w[Dwelling-Type])
183
+ end
184
+
185
+ def potential_energy_saving; end
186
+
187
+ def property_age_band
188
+ xpath(%w[Construction-Age-Band])
189
+ end
190
+
191
+ def tenure
192
+ xpath(%w[Tenure])
193
+ end
194
+
195
+ def transaction_type
196
+ xpath(%w[Transaction-Type])
197
+ end
198
+
199
+ def current_space_heating_demand
200
+ xpath(%w[Space-Heating-Existing-Dwelling])
201
+ end
202
+
203
+ def current_water_heating_demand
204
+ xpath(%w[Water-Heating])
205
+ end
206
+
207
+ def impact_of_cavity_insulation
208
+ if xpath(%w[Impact-Of-Cavity-Insulation])
209
+ xpath(%w[Impact-Of-Cavity-Insulation])&.to_i
210
+ end
211
+ end
212
+
213
+ def impact_of_loft_insulation
214
+ if xpath(%w[Impact-Of-Loft-Insulation])
215
+ xpath(%w[Impact-Of-Loft-Insulation])&.to_i
216
+ end
217
+ end
218
+
219
+ def impact_of_solid_wall_insulation
220
+ if xpath(%w[Impact-Of-Solid-Wall-Insulation])
221
+ xpath(%w[Impact-Of-Solid-Wall-Insulation])&.to_i
222
+ end
223
+ end
224
+
225
+ def habitable_room_count
226
+ xpath(%w[Habitable-Room-Count])&.to_i
227
+ end
228
+
229
+ def energy_rating_current
230
+ xpath(%w[Energy-Rating-Current])&.to_i
231
+ end
232
+
233
+ def energy_rating_potential
234
+ xpath(%w[Energy-Rating-Potential])&.to_i
235
+ end
236
+
237
+ def environmental_impact_current
238
+ xpath(%w[Environmental-Impact-Current])&.to_i
239
+ end
240
+
241
+ def environmental_impact_potential
242
+ xpath(%w[Environmental-Impact-Potential])&.to_i
243
+ end
244
+
245
+ def primary_energy_use
246
+ xpath(%w[Energy-Consumption-Current])
247
+ end
248
+
249
+ def energy_consumption_potential
250
+ xpath(%w[Energy-Consumption-Potential])
251
+ end
252
+
253
+ def all_roof_descriptions
254
+ @xml_doc.search("Roof/Description").map(&:content)
255
+ end
256
+
257
+ def all_roof_energy_efficiency_rating
258
+ @xml_doc.search("Roof/Energy-Efficiency-Rating").map(&:content)
259
+ end
260
+
261
+ def all_roof_env_energy_efficiency_rating
262
+ @xml_doc.search("Roof/Environmental-Efficiency-Rating").map(&:content)
263
+ end
264
+
265
+ def all_window_descriptions
266
+ @xml_doc.search("Window/Description").map(&:content)
267
+ end
268
+
269
+ def all_main_heating_descriptions
270
+ @xml_doc.search("Main-Heating/Description").map(&:content)
271
+ end
272
+
273
+ def all_main_heating_controls_descriptions
274
+ @xml_doc.search("Main-Heating-Controls/Description").map(&:content)
275
+ end
276
+
277
+ def all_main_heating_energy_efficiency
278
+ @xml_doc.search("Main-Heating/Energy-Efficiency-Rating").map(&:content)
279
+ end
280
+
281
+ def all_main_heating_environmental_efficiency
282
+ @xml_doc
283
+ .search("Main-Heating/Environmental-Efficiency-Rating")
284
+ .map(&:content)
285
+ end
286
+
287
+ def all_hot_water_descriptions
288
+ @xml_doc.search("Hot-Water/Description").map(&:content)
289
+ end
290
+
291
+ def all_lighting_descriptions
292
+ @xml_doc.search("Lighting/Description").map(&:content)
293
+ end
294
+
295
+ def all_secondary_heating_descriptions
296
+ @xml_doc.search("Secondary-Heating/Description").map(&:content)
297
+ end
298
+
299
+ def all_sap_floor_dimensions
300
+ @xml_doc.search("SAP-Floor-Dimension").select(&:element?).map { |node|
301
+ { total_floor_area: xpath(%w[Total-Floor-Area], node).to_f }
302
+ }.compact
303
+ end
304
+
305
+ def level
306
+ xpath(%w[Level])
307
+ end
308
+
309
+ def top_storey
310
+ xpath(%w[Top-Storey])
311
+ end
312
+
313
+ def storey_count
314
+ xpath(%w[Storey-Count])&.to_i
315
+ end
316
+
317
+ def building_part_number
318
+ xpath(%w[Building-Part-Number])
319
+ end
320
+
321
+ def all_building_parts
322
+ @xml_doc
323
+ .search("SAP-Building-Parts/SAP-Building-Part")
324
+ .map do |part|
325
+ {
326
+ roof_insulation_thickness:
327
+ if part.xpath("Roof-Insulation-Thickness").empty?
328
+ nil
329
+ else
330
+ part.xpath("Roof-Insulation-Thickness").text
331
+ end,
332
+ rafter_insulation_thickness:
333
+ xpath(%w[Rafter-Insulation-Thickness], part),
334
+ flat_roof_insulation_thickness:
335
+ xpath(%w[Flat-Roof-Insulation-Thickness], part),
336
+ sloping_ceiling_insulation_thickness:
337
+ xpath(%w[Sloping-Ceiling-Insulation-Thickness], part),
338
+ roof_u_value: xpath(%w[Roof-U-Value], part),
339
+ roof_room_connected: xpath(%w[Roof-Room-Connected], part),
340
+ }
341
+ end
342
+ end
343
+
344
+ def floor_heat_loss
345
+ xpath(%w[Floor-Heat-Loss])
346
+ end
347
+
348
+ def immersion_heating_type
349
+ xpath(%w[Immersion-Heating-Type])
350
+ end
351
+
352
+ def main_fuel_type
353
+ xpath(%w[Main-Fuel-Type])
354
+ end
355
+
356
+ def secondary_fuel_type
357
+ xpath(%w[Secondary-Fuel-Type])
358
+ end
359
+
360
+ def water_heating_fuel
361
+ xpath(%w[Water-Heating-Fuel])
362
+ end
363
+
364
+ def boiler_flue_type
365
+ xpath(%w[Boiler-Flue-Type])
366
+ end
367
+
368
+ def meter_type
369
+ xpath(%w[Meter-Type])
370
+ end
371
+
372
+ def sap_main_heating_code
373
+ xpath(%w[SAP-Main-Heating-Code])
374
+ end
375
+
376
+ def country_code
377
+ xpath(%w[Country-Code])
378
+ end
379
+
380
+ def co2_emissions_current_per_floor_area
381
+ xpath(%w[CO2-Emissions-Current-Per-Floor-Area])
382
+ end
383
+
384
+ def mains_gas
385
+ xpath(%w[Mains-Gas])
386
+ end
387
+
388
+ def main_heating_controls
389
+ xpath(%w[Main-Heating-Controls Description])
390
+ end
391
+
392
+ def multiple_glazed_proportion
393
+ xpath(%w[Multiple-Glazed-Proportion])
394
+ end
395
+
396
+ def heated_room_count
397
+ xpath(%w[Heated-Room-Count])&.to_i
398
+ end
399
+
400
+ def low_energy_lighting
401
+ (low_energy_fixed_lighting_outlets_count / fixed_lighting_outlets_count) * 100
402
+ end
403
+
404
+ def fixed_lighting_outlets_count
405
+ fixed_lighting_outlets_count = low_energy_fixed_lighting_outlets_count
406
+ if xpath(%w[Incandescent-Lighting-Bulbs-Count])
407
+ fixed_lighting_outlets_count += xpath(%w[Incandescent-Lighting-Bulbs-Count])&.to_i
408
+ end
409
+ fixed_lighting_outlets_count
410
+ end
411
+
412
+ def low_energy_fixed_lighting_outlets_count
413
+ low_energy_fixed_lighting_outlets_count = 0
414
+ if xpath(%w[CFL-Fixed-Lighting-Bulbs-Count])
415
+ low_energy_fixed_lighting_outlets_count += xpath(%w[CFL-Fixed-Lighting-Bulbs-Count])&.to_i
416
+ end
417
+ if xpath(%w[LED-Fixed-Lighting-Bulbs-Count])
418
+ low_energy_fixed_lighting_outlets_count += xpath(%w[LED-Fixed-Lighting-Bulbs-Count])&.to_i
419
+ end
420
+ if xpath(%w[Low-Energy-Fixed-Lighting-Bulbs-Count])
421
+ low_energy_fixed_lighting_outlets_count += xpath(%w[Low-Energy-Fixed-Lighting-Bulbs-Count])&.to_i
422
+ end
423
+
424
+ low_energy_fixed_lighting_outlets_count
425
+ end
426
+
427
+ def open_fireplaces_count
428
+ xpath(%w[Open-Chimneys-Count])&.to_i
429
+ end
430
+
431
+ def hot_water_description
432
+ xpath(%w[Hot-Water Description])
433
+ end
434
+
435
+ def hot_water_energy_efficiency_rating
436
+ xpath(%w[Hot-Water Energy-Efficiency-Rating])
437
+ end
438
+
439
+ def hot_water_environmental_efficiency_rating
440
+ xpath(%w[Hot-Water Environmental-Efficiency-Rating])
441
+ end
442
+
443
+ def wind_turbine_count
444
+ xpath(%w[Wind-Turbines-Count])&.to_i
445
+ end
446
+
447
+ def heat_loss_corridor
448
+ xpath(%w[Heat-Loss-Corridor])
449
+ end
450
+
451
+ def unheated_corridor_length
452
+ xpath(%w[Unheated-Corridor-Length])
453
+ end
454
+
455
+ def window_description
456
+ xpath(%w[Window Description])
457
+ end
458
+
459
+ def window_energy_efficiency_rating
460
+ xpath(%w[Window Energy-Efficiency-Rating])
461
+ end
462
+
463
+ def window_environmental_efficiency_rating
464
+ xpath(%w[Window Environmental-Efficiency-Rating])
465
+ end
466
+
467
+ def secondary_heating_description
468
+ xpath(%w[Secondary-Heating Description])
469
+ end
470
+
471
+ def secondary_heating_energy_efficiency_rating
472
+ xpath(%w[Secondary-Heating Energy-Efficiency-Rating])
473
+ end
474
+
475
+ def secondary_heating_environmental_efficiency_rating
476
+ xpath(%w[Secondary-Heating Environmental-Efficiency-Rating])
477
+ end
478
+
479
+ def lighting_description
480
+ xpath(%w[Lighting Description])
481
+ end
482
+
483
+ def lighting_energy_efficiency_rating
484
+ xpath(%w[Lighting Energy-Efficiency-Rating])
485
+ end
486
+
487
+ def lighting_environmental_efficiency_rating
488
+ xpath(%w[Lighting Environmental-Efficiency-Rating])
489
+ end
490
+
491
+ def photovoltaic_roof_area_percent
492
+ xpath(%w[Photovoltaic-Supply Percent-Roof-Area])
493
+ end
494
+
495
+ def built_form
496
+ xpath(%w[Built-Form])
497
+ end
498
+
499
+ def extensions_count
500
+ xpath(%w[Extensions-Count])&.to_i
501
+ end
502
+
503
+ def report_type
504
+ xpath(%w[Report-Type])
505
+ end
506
+
507
+ def all_wall_descriptions
508
+ @xml_doc.search("Wall/Description").map(&:content)
509
+ end
510
+
511
+ def all_wall_energy_efficiency_rating
512
+ @xml_doc.search("Wall/Energy-Efficiency-Rating").map(&:content)
513
+ end
514
+
515
+ def all_wall_env_energy_efficiency_rating
516
+ @xml_doc.search("Wall/Environmental-Efficiency-Rating").map(&:content)
517
+ end
518
+
519
+ def floor_level
520
+ xpath(%w[Flat-Location])
521
+ end
522
+
523
+ def solar_water_heating_flag
524
+ xpath(%w[Solar-Water-Heating])
525
+ end
526
+
527
+ def mechanical_ventilation
528
+ xpath(%w[Mechanical-Ventilation])
529
+ end
530
+
531
+ def floor_height
532
+ @xml_doc.search("Room-Height").map(&:content)
533
+ end
534
+
535
+ def all_floor_descriptions
536
+ @xml_doc.search("Property-Summary/Floor/Description").map(&:content)
537
+ end
538
+
539
+ def all_floor_energy_efficiency_rating
540
+ @xml_doc
541
+ .search("Property-Summary/Floor/Energy-Efficiency-Rating")
542
+ .map(&:content)
543
+ end
544
+
545
+ def all_floor_env_energy_efficiency_rating
546
+ @xml_doc
547
+ .search("Property-Summary/Floor/Environmental-Efficiency-Rating")
548
+ .map(&:content)
549
+ end
550
+
551
+ def all_main_heating_controls_energy_efficiency
552
+ @xml_doc
553
+ .search("Main-Heating-Controls/Energy-Efficiency-Rating")
554
+ .map(&:content)
555
+ end
556
+
557
+ def all_main_heating_controls_environmental_efficiency
558
+ @xml_doc
559
+ .search("Main-Heating-Controls/Environmental-Efficiency-Rating")
560
+ .map(&:content)
561
+ end
562
+
563
+ def main_dwelling_construction_age_band_or_year
564
+ sap_building_parts =
565
+ @xml_doc.xpath("//SAP-Building-Parts/SAP-Building-Part")
566
+ sap_building_parts.each do |sap_building_part|
567
+ building_part_number = sap_building_part.at("Building-Part-Number")
568
+
569
+ # Identifies the Main Dwelling
570
+ if building_part_number&.content == "1"
571
+ return(
572
+ sap_building_part.at_xpath(
573
+ "Construction-Age-Band | Construction-Year",
574
+ )&.content
575
+ )
576
+ end
577
+ end
578
+ nil
579
+ end
580
+
581
+ def cylinder_insul_thickness
582
+ xpath(%w[Cylinder-Insulation-Thickness])
583
+ end
584
+
585
+ def cylinder_insulation_type
586
+ xpath(%w[Cylinder-Insulation-Type])
587
+ end
588
+
589
+ def cylinder_size
590
+ xpath(%w[Cylinder-Size])
591
+ end
592
+
593
+ def has_cylinder_thermostat
594
+ xpath(%w[Cylinder-Thermostat])
595
+ end
596
+
597
+ def gas_smart_meter_present
598
+ Helper::ToBool.execute(xpath(%w[Gas-Smart-Meter-Present]))
599
+ end
600
+
601
+ def electricity_smart_meter_present
602
+ Helper::ToBool.execute(xpath(%w[Electricity-Smart-Meter-Present]))
603
+ end
604
+ end
605
+ end
606
+ end
@@ -55,6 +55,8 @@ module ViewModel
55
55
 
56
56
  def build_view_model(xml_doc, schema_type)
57
57
  case schema_type
58
+ when :"RdSAP-Schema-21.0.1"
59
+ ViewModel::RdSapSchema2101::CommonSchema.new xml_doc
58
60
  when :"RdSAP-Schema-21.0.0"
59
61
  ViewModel::RdSapSchema210::CommonSchema.new xml_doc
60
62
  when :"RdSAP-Schema-20.0.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epb_view_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.23
4
+ version: 2.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - DLUHC Energy Performance of Buildings
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-10 00:00:00.000000000 Z
11
+ date: 2025-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -234,6 +234,15 @@ files:
234
234
  - api/schemas/xml/RdSAP-Schema-21.0.0/RdSAP/Templates/RdSAP-Report.xsd
235
235
  - api/schemas/xml/RdSAP-Schema-21.0.0/RdSAP/UDT/EPC-Domains.xsd
236
236
  - api/schemas/xml/RdSAP-Schema-21.0.0/RdSAP/UDT/SAP-Domains.xsd
237
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/ExternalDefinitions.xml
238
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/ExternalDefinitions.xsd
239
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/Templates/AssessorManagement.xsd
240
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/Templates/EPC-Certificate.xsd
241
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/Templates/EPC-CollectedData.xsd
242
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/Templates/Property.xsd
243
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/Templates/RdSAP-Report.xsd
244
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/UDT/EPC-Domains.xsd
245
+ - api/schemas/xml/RdSAP-Schema-21.0.1/RdSAP/UDT/SAP-Domains.xsd
237
246
  - api/schemas/xml/RdSAP-Schema-NI-17.3/RdSAP/ExternalDefinitions.xml
238
247
  - api/schemas/xml/RdSAP-Schema-NI-17.3/RdSAP/ExternalDefinitions.xsd
239
248
  - api/schemas/xml/RdSAP-Schema-NI-17.3/RdSAP/Templates/AssessorManagement.xsd
@@ -1830,6 +1839,7 @@ files:
1830
1839
  - lib/view_model/rd_sap_schema_190/common_schema.rb
1831
1840
  - lib/view_model/rd_sap_schema_200/common_schema.rb
1832
1841
  - lib/view_model/rd_sap_schema_210/common_schema.rb
1842
+ - lib/view_model/rd_sap_schema_2101/common_schema.rb
1833
1843
  - lib/view_model/rd_sap_schema_ni_173/common_schema.rb
1834
1844
  - lib/view_model/rd_sap_schema_ni_174/common_schema.rb
1835
1845
  - lib/view_model/rd_sap_schema_ni_180/common_schema.rb