Skip to main content

Module reader

Module reader 

Source
Expand description

ifcXML text to Model.

Uses quick-xml’s pull parser: an IFC file can be very large, so the document is never materialized as a tree.

What happens to content the schema does not describe depends on the codec, and the distinction is deliberate:

  • Native layout, no schema or SchemaReading::Lenient: unknown elements and attributes are preserved rather than rejected, on the same principle as the STEP reader: a file containing entities from a schema we do not know must still round-trip. Value kinds are inferred from attribute text.
  • Native layout with a schema, SchemaReading::Strict (the default): every value is typed from its attribute’s declaration, and an entity, attribute or value the schema does not declare is a typed XmlError naming it.
  • XmlLayout::Xsd: the buildingSMART configuration, always strict; see the crate documentation.

Functions§

looks_like_xml
Cheap sniff: does this look like an XML document?
read
Parse an ifcXML document into a model, in the codec’s layout.