Skip to content

Capabilities

“Supports mvdXML” is too broad to be useful. This table separates implemented document behavior from adapter-owned IFC execution.

AreaStatusEvidence and boundary
mvdXML versionImplementedFixed mvdXML 1.1 namespace and typed vocabulary
Typed data modelImplementedPublic structs/enums mirror the representable 1.1 document structure
XML parsingImplementedNamespace-aware typed deserialization after bounded preflight checks
XML safety budgetsImplementedConfigurable input bytes, depth, events, and aggregate text/CDATA
DTD handlingImplementedDTD declarations are rejected; no external resolution or network fallback
Schema child orderImplementedKnown parent/child sequences are checked before deserialization
Unknown XML preservationAbsentUnknown fields are rejected; this is not a lossless generic XML tree
Deterministic writingImplementedXML declaration, mvdXML namespace, typed field order, semantic reparse equality
Lexical/byte round tripsAbsentPrefix choices, formatting, comments, and other lexical details are not promised
Parameter-expression parserImplementedComparisons, all metrics, literals, regex benchmarks, parameter benchmarks, parentheses, and logical connectives
Parameter-expression evaluatorImplementedEvaluates RuleValues supplied by the caller
Nested TemplateRulesImplementedRecursive groups with effective logical operators
Structural validationImplementedRequired content, cardinality, fixed values, and type-specific checks
Identity and graph validationImplementedUUID uniqueness, keys/keyrefs, template/exchange/concept references, cycles, and business rules
Generic XSD engineAbsentValidation is code for the fixed 1.1 model, not arbitrary schema evaluation
IFC loading/traversalAbsentNo IFC parser dependency or graph adapter
MVD-vs-IFC executionAbsentThe crate cannot determine IFC conformance by itself
CLI / Python bindingsAbsentRust library API only
Official standards payloadAbsent by policyNo official schema, PDF, or example is bundled

What an IFC integration must add

An adapter owns IFC schema/entity traversal, template path interpretation, metric extraction, exchange selection, and the mapping into RuleValues. It can then call the rule evaluator and aggregate results. Keeping that adapter separate prevents the mvdXML document crate from claiming IFC behavior it does not implement.

Validation is not formal XSD validation

The validator implements the fixed schema shape, cardinality, identity constraints, rule grammar, and mvdXML graph/business checks represented by this crate. It neither accepts an arbitrary schema nor bundles the official schema. Applications that require an independent formal-validation result must use a separately sourced validator and lawfully obtained schema.

Implementation licensed under AGPL-3.0-or-later. Official standards material is not redistributed.