pub enum Signal {
OccursOnRequirementFacet,
CardinalityOnRequirementFacet,
PropertyName,
PropertyBaseName,
MeasureAttribute,
DataTypeAttribute,
Ifc4x3Unsuffixed,
Ifc4x3Add2,
ClassificationWithoutSystem,
}Expand description
A shape signal observed in a document, and the revision it indicates.
Each variant is an observation, not a conclusion — a document can exhibit signals pointing at different revisions, which is precisely the case that must be reported rather than resolved.
Variants§
OccursOnRequirementFacet
A requirement facet carries minOccurs / maxOccurs.
Pre-1.0: 1.0 moved occurrence onto <applicability> and gave facets
@cardinality instead. This is the single most reliable tell.
CardinalityOnRequirementFacet
A requirement facet carries @cardinality.
1.0 only — the attribute does not exist before it.
PropertyName
A property facet uses <name>.
Pre-1.0: renamed to <baseName> in 1.0.
PropertyBaseName
A property facet uses <baseName>.
1.0 only.
MeasureAttribute
A property facet carries @measure.
Pre-1.0: renamed to @dataType in 1.0.
DataTypeAttribute
A property facet carries @dataType.
1.0 only.
Ifc4x3Unsuffixed
An ifcVersion lists IFC4X3.
Pre-1.0: 1.0 spells it IFC4X3_ADD2.
Ifc4x3Add2
An ifcVersion lists IFC4X3_ADD2.
1.0 only.
ClassificationWithoutSystem
A classification facet omits <system>.
Pre-1.0: <system> became required in 1.0. Weaker than the others —
its presence proves nothing, since 0.9 permits it too.
Implementations§
Source§impl Signal
impl Signal
Sourcepub fn indicates(self) -> IdsVersion
pub fn indicates(self) -> IdsVersion
The revision this signal indicates, or None if it only excludes 1.0.
Pre-1.0 signals cannot pick between 0.9, 0.9.6 and 0.9.7 — those
revisions are not distinguished by the shapes listed here, so claiming
a specific draft would be an invention. They resolve to
IdsVersion::Draft0_9 as the least specific pre-1.0 revision.
Sourcepub fn is_1_0_only(self) -> bool
pub fn is_1_0_only(self) -> bool
Whether this signal is exclusive to IDS 1.0.