@ifc-lite/ids 1.14.10 → 1.15.1

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.
Files changed (124) hide show
  1. package/README.md +53 -44
  2. package/dist/audit/coherence/index.d.ts +12 -0
  3. package/dist/audit/coherence/index.d.ts.map +1 -0
  4. package/dist/audit/coherence/index.js +392 -0
  5. package/dist/audit/coherence/index.js.map +1 -0
  6. package/dist/audit/coherence/regex.d.ts +57 -0
  7. package/dist/audit/coherence/regex.d.ts.map +1 -0
  8. package/dist/audit/coherence/regex.js +111 -0
  9. package/dist/audit/coherence/regex.js.map +1 -0
  10. package/dist/audit/ifc-schema/index.d.ts +4 -0
  11. package/dist/audit/ifc-schema/index.d.ts.map +1 -0
  12. package/dist/audit/ifc-schema/index.js +637 -0
  13. package/dist/audit/ifc-schema/index.js.map +1 -0
  14. package/dist/audit/index.d.ts +37 -0
  15. package/dist/audit/index.d.ts.map +1 -0
  16. package/dist/audit/index.js +60 -0
  17. package/dist/audit/index.js.map +1 -0
  18. package/dist/audit/parser-shim.d.ts +13 -0
  19. package/dist/audit/parser-shim.d.ts.map +1 -0
  20. package/dist/audit/parser-shim.js +66 -0
  21. package/dist/audit/parser-shim.js.map +1 -0
  22. package/dist/audit/structural/index.d.ts +22 -0
  23. package/dist/audit/structural/index.d.ts.map +1 -0
  24. package/dist/audit/structural/index.js +441 -0
  25. package/dist/audit/structural/index.js.map +1 -0
  26. package/dist/audit/types.d.ts +91 -0
  27. package/dist/audit/types.d.ts.map +1 -0
  28. package/dist/audit/types.js +5 -0
  29. package/dist/audit/types.js.map +1 -0
  30. package/dist/audit/xsd/index.d.ts +13 -0
  31. package/dist/audit/xsd/index.d.ts.map +1 -0
  32. package/dist/audit/xsd/index.js +203 -0
  33. package/dist/audit/xsd/index.js.map +1 -0
  34. package/dist/bridge/classifications.d.ts +15 -0
  35. package/dist/bridge/classifications.d.ts.map +1 -0
  36. package/dist/bridge/classifications.js +114 -0
  37. package/dist/bridge/classifications.js.map +1 -0
  38. package/dist/bridge/data-accessor.d.ts +16 -0
  39. package/dist/bridge/data-accessor.d.ts.map +1 -0
  40. package/dist/bridge/data-accessor.js +205 -0
  41. package/dist/bridge/data-accessor.js.map +1 -0
  42. package/dist/bridge/data-types.d.ts +11 -0
  43. package/dist/bridge/data-types.d.ts.map +1 -0
  44. package/dist/bridge/data-types.js +47 -0
  45. package/dist/bridge/data-types.js.map +1 -0
  46. package/dist/bridge/index.d.ts +17 -0
  47. package/dist/bridge/index.d.ts.map +1 -0
  48. package/dist/bridge/index.js +20 -0
  49. package/dist/bridge/index.js.map +1 -0
  50. package/dist/bridge/materials.d.ts +11 -0
  51. package/dist/bridge/materials.d.ts.map +1 -0
  52. package/dist/bridge/materials.js +68 -0
  53. package/dist/bridge/materials.js.map +1 -0
  54. package/dist/bridge/predefined-types.d.ts +19 -0
  55. package/dist/bridge/predefined-types.d.ts.map +1 -0
  56. package/dist/bridge/predefined-types.js +84 -0
  57. package/dist/bridge/predefined-types.js.map +1 -0
  58. package/dist/bridge/properties.d.ts +20 -0
  59. package/dist/bridge/properties.d.ts.map +1 -0
  60. package/dist/bridge/properties.js +168 -0
  61. package/dist/bridge/properties.js.map +1 -0
  62. package/dist/bridge/schema-version.d.ts +10 -0
  63. package/dist/bridge/schema-version.d.ts.map +1 -0
  64. package/dist/bridge/schema-version.js +25 -0
  65. package/dist/bridge/schema-version.js.map +1 -0
  66. package/dist/bridge/units.d.ts +18 -0
  67. package/dist/bridge/units.d.ts.map +1 -0
  68. package/dist/bridge/units.js +55 -0
  69. package/dist/bridge/units.js.map +1 -0
  70. package/dist/constraints/comparators.d.ts +32 -0
  71. package/dist/constraints/comparators.d.ts.map +1 -0
  72. package/dist/constraints/comparators.js +94 -0
  73. package/dist/constraints/comparators.js.map +1 -0
  74. package/dist/constraints/index.d.ts +11 -1
  75. package/dist/constraints/index.d.ts.map +1 -1
  76. package/dist/constraints/index.js +74 -58
  77. package/dist/constraints/index.js.map +1 -1
  78. package/dist/constraints/xsd-cast.d.ts +20 -0
  79. package/dist/constraints/xsd-cast.d.ts.map +1 -0
  80. package/dist/constraints/xsd-cast.js +89 -0
  81. package/dist/constraints/xsd-cast.js.map +1 -0
  82. package/dist/facets/attribute-facet.d.ts.map +1 -1
  83. package/dist/facets/attribute-facet.js +80 -12
  84. package/dist/facets/attribute-facet.js.map +1 -1
  85. package/dist/facets/classification-facet.d.ts.map +1 -1
  86. package/dist/facets/classification-facet.js +21 -2
  87. package/dist/facets/classification-facet.js.map +1 -1
  88. package/dist/facets/entity-facet.d.ts.map +1 -1
  89. package/dist/facets/entity-facet.js +59 -7
  90. package/dist/facets/entity-facet.js.map +1 -1
  91. package/dist/facets/partof-facet.d.ts.map +1 -1
  92. package/dist/facets/partof-facet.js +40 -8
  93. package/dist/facets/partof-facet.js.map +1 -1
  94. package/dist/facets/property-facet.d.ts.map +1 -1
  95. package/dist/facets/property-facet.js +171 -55
  96. package/dist/facets/property-facet.js.map +1 -1
  97. package/dist/facets/test-helpers.d.ts +42 -0
  98. package/dist/facets/test-helpers.d.ts.map +1 -0
  99. package/dist/facets/test-helpers.js +106 -0
  100. package/dist/facets/test-helpers.js.map +1 -0
  101. package/dist/index.d.ts +2 -0
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +4 -0
  104. package/dist/index.js.map +1 -1
  105. package/dist/parser/xml-parser.d.ts.map +1 -1
  106. package/dist/parser/xml-parser.js +198 -68
  107. package/dist/parser/xml-parser.js.map +1 -1
  108. package/dist/translation/locales/de.d.ts +1 -0
  109. package/dist/translation/locales/de.d.ts.map +1 -1
  110. package/dist/translation/locales/de.js +1 -0
  111. package/dist/translation/locales/de.js.map +1 -1
  112. package/dist/translation/locales/en.d.ts +1 -0
  113. package/dist/translation/locales/en.d.ts.map +1 -1
  114. package/dist/translation/locales/en.js +1 -0
  115. package/dist/translation/locales/en.js.map +1 -1
  116. package/dist/translation/locales/fr.d.ts +1 -0
  117. package/dist/translation/locales/fr.d.ts.map +1 -1
  118. package/dist/translation/locales/fr.js +1 -0
  119. package/dist/translation/locales/fr.js.map +1 -1
  120. package/dist/types.d.ts +116 -7
  121. package/dist/types.d.ts.map +1 -1
  122. package/dist/validation/validator.js +49 -3
  123. package/dist/validation/validator.js.map +1 -1
  124. package/package.json +10 -3
@@ -0,0 +1,106 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ export function createMockAccessor(entities) {
5
+ const entityMap = new Map(entities.map((e) => [e.expressId, e]));
6
+ return {
7
+ getEntityType(expressId) {
8
+ return entityMap.get(expressId)?.type;
9
+ },
10
+ getEntityName(expressId) {
11
+ return entityMap.get(expressId)?.name;
12
+ },
13
+ getGlobalId(expressId) {
14
+ return entityMap.get(expressId)?.globalId;
15
+ },
16
+ getDescription(expressId) {
17
+ return entityMap.get(expressId)?.description;
18
+ },
19
+ getObjectType(expressId) {
20
+ return entityMap.get(expressId)?.objectType;
21
+ },
22
+ getEntitiesByType(typeName) {
23
+ const upper = typeName.toUpperCase();
24
+ return entities
25
+ .filter((e) => e.type.toUpperCase() === upper)
26
+ .map((e) => e.expressId);
27
+ },
28
+ getAllEntityIds() {
29
+ return entities.map((e) => e.expressId);
30
+ },
31
+ getPropertyValue(expressId, propertySetName, propertyName) {
32
+ const entity = entityMap.get(expressId);
33
+ if (!entity?.properties)
34
+ return undefined;
35
+ const prop = entity.properties.find((p) => p.psetName.toUpperCase() === propertySetName.toUpperCase() &&
36
+ p.propName.toUpperCase() === propertyName.toUpperCase());
37
+ if (!prop)
38
+ return undefined;
39
+ return {
40
+ value: prop.value,
41
+ dataType: prop.dataType || 'IFCLABEL',
42
+ propertySetName: prop.psetName,
43
+ propertyName: prop.propName,
44
+ };
45
+ },
46
+ getPropertySets(expressId) {
47
+ const entity = entityMap.get(expressId);
48
+ if (!entity?.properties)
49
+ return [];
50
+ const psetMap = new Map();
51
+ for (const prop of entity.properties) {
52
+ let pset = psetMap.get(prop.psetName);
53
+ if (!pset) {
54
+ pset = { name: prop.psetName, properties: [] };
55
+ psetMap.set(prop.psetName, pset);
56
+ }
57
+ pset.properties.push({
58
+ name: prop.propName,
59
+ value: prop.value,
60
+ dataType: prop.dataType || 'IFCLABEL',
61
+ });
62
+ }
63
+ return Array.from(psetMap.values());
64
+ },
65
+ getClassifications(expressId) {
66
+ const entity = entityMap.get(expressId);
67
+ if (!entity?.classifications)
68
+ return [];
69
+ return entity.classifications.map((c) => ({
70
+ system: c.system || '',
71
+ value: c.value || '',
72
+ }));
73
+ },
74
+ getMaterials(expressId) {
75
+ const entity = entityMap.get(expressId);
76
+ if (!entity?.materials)
77
+ return [];
78
+ return entity.materials;
79
+ },
80
+ getParent(expressId, relationType) {
81
+ const entity = entityMap.get(expressId);
82
+ if (!entity?.parent)
83
+ return undefined;
84
+ if (entity.parent.relation !== relationType)
85
+ return undefined;
86
+ if (entity.parent.expressId == null)
87
+ return undefined;
88
+ return {
89
+ expressId: entity.parent.expressId,
90
+ entityType: entity.parent.type,
91
+ predefinedType: entity.parent.predefinedType,
92
+ };
93
+ },
94
+ getAttribute(expressId, attributeName) {
95
+ const entity = entityMap.get(expressId);
96
+ if (!entity?.attributes)
97
+ return undefined;
98
+ return entity.attributes[attributeName];
99
+ },
100
+ getAttributeXsdTypes(expressId, attributeName) {
101
+ const entity = entityMap.get(expressId);
102
+ return entity?.attributeXsdTypes?.[attributeName];
103
+ },
104
+ };
105
+ }
106
+ //# sourceMappingURL=test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../src/facets/test-helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,8 @@ export { parseIDS, IDSParseError } from './parser/xml-parser.js';
13
13
  export { validateIDS } from './validation/validator.js';
14
14
  export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, checkAttributeFacet, checkPropertyFacet, checkClassificationFacet, checkMaterialFacet, checkPartOfFacet, type FacetCheckResult, } from './facets/index.js';
15
15
  export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from './constraints/index.js';
16
+ export { auditIDSDocument, auditIDSStructure } from './audit/index.js';
17
+ export type { IDSAuditCode, IDSAuditIssue, IDSAuditOptions, IDSAuditReport, IDSAuditSeverity, } from './audit/types.js';
16
18
  export { createTranslationService } from './translation/index.js';
17
19
  export { en, de, fr } from './translation/locales/index.js';
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAMH,YAAY,EAEV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EAGtB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAGd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAGnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EAGX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EAGV,gBAAgB,EAChB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAMH,YAAY,EAEV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EAGtB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAGd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAGnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EAGX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,UAAU,EAGV,gBAAgB,EAChB,kBAAkB,EAGlB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -18,6 +18,10 @@ export { checkFacet, filterByFacet, checkEntityFacet, filterByEntityFacet, check
18
18
  // ============================================================================
19
19
  export { matchConstraint, formatConstraint, getConstraintMismatchReason, } from './constraints/index.js';
20
20
  // ============================================================================
21
+ // Audit (IDS document correctness)
22
+ // ============================================================================
23
+ export { auditIDSDocument, auditIDSStructure } from './audit/index.js';
24
+ // ============================================================================
21
25
  // Translation
22
26
  // ============================================================================
23
27
  export { createTranslationService } from './translation/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyE/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,0CAA0C;AAC1C,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyE/D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEjE,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASvE,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,0CAA0C;AAC1C,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAoBZ,MAAM,aAAa,CAAC;AAKrB,gDAAgD;AAChD,qBAAa,aAAc,SAAQ,KAAK;IAG7B,OAAO,CAAC,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA;CAK1B;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CA+BtE"}
1
+ {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EAoBZ,MAAM,aAAa,CAAC;AAKrB,gDAAgD;AAChD,qBAAa,aAAc,SAAQ,KAAK;IAG7B,OAAO,CAAC,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,YAAA;CAK1B;AAiBD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAuEtE"}
@@ -12,21 +12,55 @@ export class IDSParseError extends Error {
12
12
  this.name = 'IDSParseError';
13
13
  }
14
14
  }
15
+ let DOMParserImpl = typeof globalThis !== 'undefined' && typeof globalThis.DOMParser === 'function'
16
+ ? globalThis.DOMParser
17
+ : null;
18
+ if (!DOMParserImpl) {
19
+ const moduleName = '@xmldom/xmldom';
20
+ const xmldom = (await import(/* @vite-ignore */ moduleName));
21
+ DOMParserImpl = xmldom.DOMParser;
22
+ }
15
23
  /**
16
24
  * Parse IDS XML content into an IDSDocument
17
25
  */
18
26
  export function parseIDS(xmlContent) {
19
- const xmlString = typeof xmlContent === 'string'
27
+ let xmlString = typeof xmlContent === 'string'
20
28
  ? xmlContent
21
29
  : new TextDecoder().decode(xmlContent);
22
- const parser = new DOMParser();
23
- const doc = parser.parseFromString(xmlString, 'text/xml');
24
- // Check for parse errors
25
- const parseError = doc.querySelector('parsererror');
30
+ // Strip a leading UTF-8 BOM if present — xmldom rejects it as
31
+ // "unexpected content outside root element". Real-world IDS files
32
+ // saved by Windows tooling commonly include the BOM.
33
+ if (xmlString.charCodeAt(0) === 0xfeff) {
34
+ xmlString = xmlString.slice(1);
35
+ }
36
+ if (!DOMParserImpl) {
37
+ throw new IDSParseError('No DOMParser implementation available', 'Neither globalThis.DOMParser nor @xmldom/xmldom could be loaded.');
38
+ }
39
+ const parser = new DOMParserImpl();
40
+ // Browser DOMParser → returns a Document with a <parsererror> element on
41
+ // malformed input. xmldom v0.9 → throws on fatalError (and may also leave
42
+ // a partial Document with no documentElement). Normalise both paths to a
43
+ // single IDSParseError so callers see consistent failures.
44
+ let doc;
45
+ try {
46
+ doc = parser.parseFromString(xmlString, 'text/xml');
47
+ }
48
+ catch (err) {
49
+ throw new IDSParseError('Failed to parse IDS XML', err instanceof Error ? err.message : String(err));
50
+ }
51
+ const parseError = typeof doc.querySelector === 'function'
52
+ ? doc.querySelector('parsererror')
53
+ : null;
26
54
  if (parseError) {
27
55
  throw new IDSParseError('Invalid XML format', parseError.textContent || undefined);
28
56
  }
29
57
  const root = doc.documentElement;
58
+ // xmldom can return a Document with no root on certain error modes —
59
+ // surface that as a parse error rather than a confusing TypeError on
60
+ // root.localName below.
61
+ if (!root) {
62
+ throw new IDSParseError('Failed to parse IDS XML', 'Parser returned a document with no root element.');
63
+ }
30
64
  // Validate root element
31
65
  if (root.localName !== 'ids') {
32
66
  throw new IDSParseError(`Invalid root element: expected "ids", got "${root.localName}"`);
@@ -34,6 +68,9 @@ export function parseIDS(xmlContent) {
34
68
  return {
35
69
  info: parseInfo(root),
36
70
  specifications: parseSpecifications(root),
71
+ schemaLocation: root.getAttribute('xsi:schemaLocation') ||
72
+ root.getAttributeNS('http://www.w3.org/2001/XMLSchema-instance', 'schemaLocation') ||
73
+ undefined,
37
74
  };
38
75
  }
39
76
  /**
@@ -81,6 +118,7 @@ function parseSpecification(el, index) {
81
118
  const applicabilityEl = getChildElement(el, 'applicability');
82
119
  const applicability = {
83
120
  facets: applicabilityEl ? parseFacets(applicabilityEl) : [],
121
+ cardinality: applicabilityEl?.getAttribute('cardinality') ?? undefined,
84
122
  };
85
123
  // Parse minOccurs/maxOccurs with NaN validation
86
124
  // Per IDS 1.0 spec, these are on the <applicability> element,
@@ -108,6 +146,17 @@ function parseSpecification(el, index) {
108
146
  maxOccurs = parsed;
109
147
  }
110
148
  }
149
+ // Apply IDS 1.0 default: an `<applicability>` without an explicit
150
+ // `minOccurs` is REQUIRED — at least one applicable entity must
151
+ // match. Authors opt out by setting `minOccurs="0"` (optional) or
152
+ // using a `prohibited` requirement. We canonicalise here so every
153
+ // downstream consumer (validator, audit, UI) sees the same shape
154
+ // and doesn't need to remember the default lives elsewhere. Only
155
+ // applies when an `<applicability>` element actually exists; specs
156
+ // without applicability metadata leave the field undefined.
157
+ if (minOccurs === undefined && (applicabilityEl || maxOccurs !== undefined)) {
158
+ minOccurs = 1;
159
+ }
111
160
  // Parse requirements
112
161
  const requirementsEl = getChildElement(el, 'requirements');
113
162
  const requirements = requirementsEl
@@ -120,6 +169,7 @@ function parseSpecification(el, index) {
120
169
  instructions: el.getAttribute('instructions') || undefined,
121
170
  identifier: el.getAttribute('identifier') || undefined,
122
171
  ifcVersions: ifcVersions.length > 0 ? ifcVersions : ['IFC4'],
172
+ ifcVersionRaw: el.getAttribute('ifcVersion') || undefined,
123
173
  applicability,
124
174
  requirements,
125
175
  minOccurs,
@@ -223,6 +273,10 @@ function parseAttributeFacet(el) {
223
273
  function parsePropertyFacet(el) {
224
274
  const propertySetEl = getChildElement(el, 'propertySet');
225
275
  const baseNameEl = getChildElement(el, 'baseName');
276
+ // IDS 1.0 puts dataType on the @dataType *attribute* (see upstream
277
+ // IdsProperty.cs). Older 0.9.7 documents used a <dataType> *child*
278
+ // element. Support both — attribute wins when present.
279
+ const dataTypeAttr = el.getAttribute('dataType');
226
280
  const dataTypeEl = getChildElement(el, 'dataType');
227
281
  const valueEl = getChildElement(el, 'value');
228
282
  if (!propertySetEl) {
@@ -231,11 +285,18 @@ function parsePropertyFacet(el) {
231
285
  if (!baseNameEl) {
232
286
  throw new IDSParseError('Property facet must have a baseName element');
233
287
  }
288
+ let dataType;
289
+ if (dataTypeAttr) {
290
+ dataType = { type: 'simpleValue', value: dataTypeAttr };
291
+ }
292
+ else if (dataTypeEl) {
293
+ dataType = parseConstraintElement(dataTypeEl);
294
+ }
234
295
  return {
235
296
  type: 'property',
236
297
  propertySet: parseConstraintElement(propertySetEl),
237
298
  baseName: parseConstraintElement(baseNameEl),
238
- dataType: dataTypeEl ? parseConstraintElement(dataTypeEl) : undefined,
299
+ dataType,
239
300
  value: valueEl ? parseConstraintElement(valueEl) : undefined,
240
301
  };
241
302
  }
@@ -265,20 +326,45 @@ function parseMaterialFacet(el) {
265
326
  * Parse partOf facet
266
327
  */
267
328
  function parsePartOfFacet(el) {
268
- const relationAttr = el.getAttribute('relation') || 'IfcRelContainedInSpatialStructure';
329
+ const relationAttrRaw = el.getAttribute('relation');
330
+ const relationAttr = relationAttrRaw || 'IfcRelContainedInSpatialStructure';
269
331
  const entityEl = getChildElement(el, 'entity');
270
332
  const relation = normalizePartOfRelation(relationAttr);
271
- return {
333
+ // When the source attribute didn't map cleanly onto one of the known
334
+ // relations (or was missing), preserve the original string so the
335
+ // auditor can flag the discrepancy without us breaking the existing
336
+ // narrow `PartOfRelation` enum.
337
+ const recognised = isRecognisedPartOfRelation(relationAttr);
338
+ const facet = {
272
339
  type: 'partOf',
273
340
  relation,
274
341
  entity: entityEl ? parseEntityFacet(entityEl) : undefined,
275
342
  };
343
+ if (!recognised && relationAttrRaw) {
344
+ facet.rawRelation = relationAttrRaw;
345
+ }
346
+ return facet;
347
+ }
348
+ function isRecognisedPartOfRelation(relation) {
349
+ switch (relation) {
350
+ case 'IfcRelAggregates':
351
+ case 'IfcRelContainedInSpatialStructure':
352
+ case 'IfcRelNests':
353
+ case 'IfcRelVoidsElement':
354
+ case 'IfcRelFillsElement':
355
+ case 'IfcRelAssignsToGroup':
356
+ return true;
357
+ default:
358
+ return false;
359
+ }
276
360
  }
277
361
  /**
278
362
  * Normalize partOf relation string
279
363
  */
280
364
  function normalizePartOfRelation(relation) {
281
365
  const upper = relation.toUpperCase();
366
+ if (upper.includes('ASSIGNSTOGROUP') || upper.includes('GROUP'))
367
+ return 'IfcRelAssignsToGroup';
282
368
  if (upper.includes('AGGREGATE'))
283
369
  return 'IfcRelAggregates';
284
370
  if (upper.includes('CONTAINED') || upper.includes('SPATIAL'))
@@ -300,11 +386,37 @@ function parseRequirements(parent) {
300
386
  for (const child of Array.from(parent.children)) {
301
387
  const facet = parseFacet(child);
302
388
  if (facet) {
303
- // Get optionality from the element
389
+ // IDS 1.0 uses `cardinality="required|optional|prohibited"` on the
390
+ // requirement facet. 0.9.7 used minOccurs/maxOccurs. Honour both;
391
+ // the cardinality attribute wins when present.
392
+ const cardinalityAttr = child.getAttribute('cardinality');
304
393
  const minOccurs = child.getAttribute('minOccurs');
305
394
  const maxOccurs = child.getAttribute('maxOccurs');
306
395
  let optionality = 'required';
307
- if (minOccurs === '0' && maxOccurs === '0') {
396
+ // The XSD enum values are case-sensitive lowercase; preserve any
397
+ // non-canonical raw input so the auditor can flag it instead of
398
+ // letting the parser silently default to `required`.
399
+ let cardinalityRaw;
400
+ if (cardinalityAttr !== null) {
401
+ if (cardinalityAttr === 'required' ||
402
+ cardinalityAttr === 'optional' ||
403
+ cardinalityAttr === 'prohibited') {
404
+ optionality = cardinalityAttr;
405
+ }
406
+ else {
407
+ // Tolerate case differences for the runtime mapping (so
408
+ // `"Required"` still parses) but record the raw value so the
409
+ // audit can flag it.
410
+ const lower = cardinalityAttr.toLowerCase();
411
+ if (lower === 'required' ||
412
+ lower === 'optional' ||
413
+ lower === 'prohibited') {
414
+ optionality = lower;
415
+ }
416
+ cardinalityRaw = cardinalityAttr;
417
+ }
418
+ }
419
+ else if (minOccurs === '0' && maxOccurs === '0') {
308
420
  optionality = 'prohibited';
309
421
  }
310
422
  else if (minOccurs === '0') {
@@ -314,6 +426,7 @@ function parseRequirements(parent) {
314
426
  id: `req-${reqIndex++}`,
315
427
  facet,
316
428
  optionality,
429
+ cardinalityRaw,
317
430
  description: child.getAttribute('description') || undefined,
318
431
  instructions: child.getAttribute('instructions') || undefined,
319
432
  });
@@ -357,13 +470,31 @@ function parseConstraintElement(el) {
357
470
  * Parse XSD restriction element
358
471
  */
359
472
  function parseRestriction(el) {
360
- // Check for pattern
361
- const patternEl = getChildElementNS(el, 'pattern', XS_NAMESPACE) ||
362
- getChildElement(el, 'pattern');
363
- if (patternEl) {
473
+ // Capture the `@base` attribute so the auditor can compare against
474
+ // an IFC dataType's backing XSD type without inferring from the
475
+ // restriction shape (which is ambiguous for numeric enumerations).
476
+ const base = el.getAttribute('base') || undefined;
477
+ // Check for pattern(s). Multiple `<xs:pattern>` siblings inside a
478
+ // single restriction are OR'd per the XSD spec, so collect every
479
+ // candidate and join them with `|` (each wrapped in a non-capturing
480
+ // group so anchors apply uniformly).
481
+ const patternEls = (() => {
482
+ const ns = getChildElementsNS(el, 'pattern', XS_NAMESPACE);
483
+ if (ns.length > 0)
484
+ return ns;
485
+ return getChildElements(el, 'pattern');
486
+ })();
487
+ if (patternEls.length > 0) {
488
+ const parts = patternEls
489
+ .map((p) => p.getAttribute('value') || p.textContent || '')
490
+ .filter((s) => s.length > 0);
491
+ const pattern = parts.length === 1
492
+ ? parts[0]
493
+ : parts.map((p) => `(?:${p})`).join('|');
364
494
  return {
365
495
  type: 'pattern',
366
- pattern: patternEl.getAttribute('value') || patternEl.textContent || '',
496
+ pattern,
497
+ base,
367
498
  };
368
499
  }
369
500
  // Check for enumeration
@@ -375,6 +506,7 @@ function parseRestriction(el) {
375
506
  return {
376
507
  type: 'enumeration',
377
508
  values: enumElsNoNS.map((e) => e.getAttribute('value') || e.textContent || ''),
509
+ base,
378
510
  };
379
511
  }
380
512
  }
@@ -382,67 +514,65 @@ function parseRestriction(el) {
382
514
  return {
383
515
  type: 'enumeration',
384
516
  values: enumEls.map((e) => e.getAttribute('value') || e.textContent || ''),
517
+ base,
385
518
  };
386
519
  }
387
- // Check for bounds (minInclusive, maxInclusive, minExclusive, maxExclusive)
388
- const minInclusiveEl = getChildElementNS(el, 'minInclusive', XS_NAMESPACE) ||
389
- getChildElement(el, 'minInclusive');
390
- const maxInclusiveEl = getChildElementNS(el, 'maxInclusive', XS_NAMESPACE) ||
391
- getChildElement(el, 'maxInclusive');
392
- const minExclusiveEl = getChildElementNS(el, 'minExclusive', XS_NAMESPACE) ||
393
- getChildElement(el, 'minExclusive');
394
- const maxExclusiveEl = getChildElementNS(el, 'maxExclusive', XS_NAMESPACE) ||
395
- getChildElement(el, 'maxExclusive');
396
- if (minInclusiveEl || maxInclusiveEl || minExclusiveEl || maxExclusiveEl) {
397
- const bounds = {
398
- type: 'bounds',
520
+ // Check for bounds (minInclusive, maxInclusive, minExclusive,
521
+ // maxExclusive, length, minLength, maxLength).
522
+ const facetEls = {};
523
+ for (const facet of [
524
+ 'minInclusive',
525
+ 'maxInclusive',
526
+ 'minExclusive',
527
+ 'maxExclusive',
528
+ 'length',
529
+ 'minLength',
530
+ 'maxLength',
531
+ ]) {
532
+ facetEls[facet] =
533
+ getChildElementNS(el, facet, XS_NAMESPACE) ||
534
+ getChildElement(el, facet);
535
+ }
536
+ if (Object.values(facetEls).some((e) => e !== null)) {
537
+ const bounds = { type: 'bounds', base };
538
+ const readNumber = (e) => {
539
+ if (!e)
540
+ return undefined;
541
+ const v = parseFloat(e.getAttribute('value') || e.textContent || '');
542
+ return Number.isFinite(v) ? v : undefined;
399
543
  };
400
- if (minInclusiveEl) {
401
- const val = parseFloat(minInclusiveEl.getAttribute('value') ||
402
- minInclusiveEl.textContent ||
403
- '');
404
- if (!isNaN(val)) {
405
- bounds.minInclusive = val;
406
- }
407
- }
408
- if (maxInclusiveEl) {
409
- const val = parseFloat(maxInclusiveEl.getAttribute('value') ||
410
- maxInclusiveEl.textContent ||
411
- '');
412
- if (!isNaN(val)) {
413
- bounds.maxInclusive = val;
414
- }
415
- }
416
- if (minExclusiveEl) {
417
- const val = parseFloat(minExclusiveEl.getAttribute('value') ||
418
- minExclusiveEl.textContent ||
419
- '');
420
- if (!isNaN(val)) {
421
- bounds.minExclusive = val;
422
- }
423
- }
424
- if (maxExclusiveEl) {
425
- const val = parseFloat(maxExclusiveEl.getAttribute('value') ||
426
- maxExclusiveEl.textContent ||
427
- '');
428
- if (!isNaN(val)) {
429
- bounds.maxExclusive = val;
430
- }
431
- }
544
+ const readInt = (e) => {
545
+ if (!e)
546
+ return undefined;
547
+ const v = parseInt(e.getAttribute('value') || e.textContent || '', 10);
548
+ return Number.isFinite(v) && v >= 0 ? v : undefined;
549
+ };
550
+ bounds.minInclusive = readNumber(facetEls.minInclusive);
551
+ bounds.maxInclusive = readNumber(facetEls.maxInclusive);
552
+ bounds.minExclusive = readNumber(facetEls.minExclusive);
553
+ bounds.maxExclusive = readNumber(facetEls.maxExclusive);
554
+ bounds.length = readInt(facetEls.length);
555
+ bounds.minLength = readInt(facetEls.minLength);
556
+ bounds.maxLength = readInt(facetEls.maxLength);
432
557
  return bounds;
433
558
  }
434
- // Default: treat base attribute or text content as simple value
435
- const base = el.getAttribute('base');
436
- if (base) {
559
+ // No recognised pattern/enumeration/bounds child. If the element only
560
+ // carries a `base` attribute (the common "empty restriction" authoring
561
+ // mistake — e.g. `<xs:restriction base="xs:string"/>`), surface an
562
+ // empty enumeration so the coherence auditor can flag it. Otherwise
563
+ // fall through to text content.
564
+ const text = el.textContent?.trim() || '';
565
+ if (base && text === '') {
437
566
  return {
438
- type: 'simpleValue',
439
- value: base,
567
+ type: 'enumeration',
568
+ values: [],
569
+ base,
440
570
  };
441
571
  }
442
- return {
443
- type: 'simpleValue',
444
- value: el.textContent?.trim() || '',
445
- };
572
+ if (text) {
573
+ return { type: 'simpleValue', value: text };
574
+ }
575
+ return { type: 'enumeration', values: [], base };
446
576
  }
447
577
  // ============================================================================
448
578
  // DOM Helper Functions
@@ -1 +1 @@
1
- {"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../src/parser/xml-parser.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare const de: {
21
21
  };
22
22
  relations: {
23
23
  IfcRelAggregates: string;
24
+ IfcRelAssignsToGroup: string;
24
25
  IfcRelContainedInSpatialStructure: string;
25
26
  IfcRelNests: string;
26
27
  IfcRelVoidsElement: string;
@@ -1 +1 @@
1
- {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/translation/locales/de.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyOd,CAAC"}
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../src/translation/locales/de.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Od,CAAC"}