#[non_exhaustive]pub enum XmlProfile {
Ifc4Add2Tc1,
Ifc4x3Add2,
}Expand description
A release-specific ifcXML namespace/profile contract.
A profile fixes the namespace and schema token, not the layout: native
output under a profile is not valid against the release XSD. The XSD’s
own configuration is a separate layout (crate::XmlLayout::Xsd),
which this crate reads and writes.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Ifc4Add2Tc1
IFC4 ADD2 TC1, whose namespace the official XSD (IFC4.xsd) declares.
Ifc4x3Add2
IFC4.3 ADD2, whose namespace its official XSD (IFC4X3_ADD2.xsd)
declares.
Implementations§
Source§impl XmlProfile
impl XmlProfile
Sourcepub const fn namespace(self) -> &'static str
pub const fn namespace(self) -> &'static str
The exact XML namespace declared by the release XSD.
Sourcepub const fn namespaces(self) -> &'static [&'static str]
pub const fn namespaces(self) -> &'static [&'static str]
Every namespace an XSD-configuration document of this release may
declare, Self::namespace first.
IFC4 ADD2 TC1 also accepts http://www.buildingsmart-tech.org/ifcXML/IFC4/Add2:
the release’s own published examples (Annex E of the ADD2 TC1
documentation) declare it, as the XSD did before its namespace moved
to the standards.buildingsmart.org URL. Only the XSD layout reader
accepts it, and its writer writes Self::namespace; this crate’s
own layout is checked against Self::namespace alone.
Sourcepub const fn schema_token(self) -> &'static str
pub const fn schema_token(self) -> &'static str
The canonical IFC schema token carried by this codec’s root metadata.
Sourcepub const fn version(self) -> SchemaVersion
pub const fn version(self) -> SchemaVersion
The schema release this profile’s documents are written against.