Expand description
openbim-dt — ISO 23387 data templates.
§What this is
The concept vocabulary that describes properties themselves: property definitions, groups of properties, quantity kinds, dimensions, units, object types, and the reference machinery binding them to external dictionaries such as bSDD.
§Why it is a crate and not part of openbim-loin
LOIN does not own ISO 23387. The ISO 7817-3 schema imports the ISO 23387 namespace and uses its types. Data-template tooling and dictionary clients also need the vocabulary without acquiring a LOIN dependency.
The dependency direction is therefore openbim-loin to openbim-dt, never
the reverse.
§Status
The crate implements validated lexical contracts, a bounded namespace-aware parser, semantic XML round trips with unknown-content retention, owned type contracts and typed global/local DT element views, diagnostics, and a CLI.
It also implements XML Schema validation of the ISO 23387 element grammar
(Document::validate_schema) and byte-identical round trips
(Document::to_xml_string_exact).
It does not claim full clause-level ISO conformance, ISO 23386 governance workflows, or ISO 12006-3 mapping. Parsing and validation are deliberately separate operations.
The ISO XSD is not vendored here. Redistribution rights do not follow from possessing a standards document or annex, so restricted references remain local and outside Git, crate packages, and documentation artifacts.
Structs§
- XML Schema 1.0
anyURIafter whitespace collapsing. - One XML attribute with both lexical and resolved namespace identity.
- Owned core of ISO 23387
ConceptTypefor reuse by dependent standards. - Shared borrowed view for every
ConceptType-derived element. - ISO 23387
DataTemplateType. - Borrowed data-template view.
- ISO 23387
DataTypeType. - Borrowed data-type constraint view.
- One ordered simple value in ISO 23387
ValueListType. - XML Schema
dateTimevalue after whitespace collapsing and lexical validation. - XML Schema decimal preserving its whitespace-collapsed validated lexeme.
- One semantic validation finding.
- Seven SI base-dimension exponents in Annex E declaration order.
- A well-formed XML document with one root element.
- An XML element retaining names, namespace resolution, attributes, and order.
- ISO 23387
GroupOfPropertiesType; the constructor enforces its non-empty property-reference sequence. - An ISO 23387 GUID, preserving its validated source spelling.
- XML Schema
languageused by DT and importing standards. - Borrowed ISO 23387 library view.
- Typed-element conversion failure.
- ISO 23387 multilingual text.
- Borrowed multilingual text typed by ISO 23387.
- ISO 23387
ObjectTypeType. - XML parse failure with a stable category and byte position.
- Resource limits applied before or during XML parsing.
- XML Schema
positiveInteger, preserved after whitespace collapse. - ISO 23387
PropertyType. - Borrowed property view.
- ISO 23387
QuantityKindType. - ISO 23387 rational value preserving the validated source lexeme.
- An ISO 23387 reference by GUID, URI, or both.
- ISO 23387
ReferenceDocumentType. - Borrowed reference typed by ISO 23387.
- The outcome of validating a document against the ISO 23387 grammar.
- One schema-validation failure with its location.
- Owned
SubjectTypecore shared by object types, groups, and data templates. - ISO 23387
UnitType, with all required scalar/reference fields present. - A value rejected by an ISO 23387 lexical contract.
- One language-specific ISO 23387
ValueListType. - XML declaration values retained by the document model.
Enums§
- Unit logarithm base with forward-compatible retention.
- One constraint carried by
DataTypeType. - ISO 23387 property data-type names with forward-compatible retention.
- Stable validation categories.
- Recognized ISO 23387 element kinds, including local
Librarychildren. - Why a byte-exact reserialization could not be produced.
- One child retained by a library, including forward-compatible extensions.
- XML node kinds retained by the document model.
- Stable category for a parse failure.
- Unit scale with forward-compatible retention.
- A stable category for a schema-validation failure.
- Validation severity; parsing itself remains non-normalizing and permissive.
- Lexical contracts checked by
ValueError. - XML serialization failure.
Constants§
- A placeholder namespace found in pre-release ISO 23387 schema drafts.
- The XML namespace declared by ISO 23387 edition 2.