Crate openbim_dt

Source
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 anyURI after whitespace collapsing.
  • One XML attribute with both lexical and resolved namespace identity.
  • Owned core of ISO 23387 ConceptType for 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 dateTime value 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 language used 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 SubjectType core 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 Library children.
  • 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§

Type Aliases§