Class S101AttributeView
- Namespace
- EncDotNet.S100.Datasets.S101.Validation
- Assembly
- EncDotNet.S100.Datasets.S101.dll
A spec-vocabulary view over a single S101Attribute row of a feature or information record.
public sealed class S101AttributeView
- Inheritance
-
S101AttributeView
- Inherited Members
Remarks
Implements the façade contract described in
docs/design/non-gml-validation.md §3.1 (input model option (b),
"thin spec-aligned façade"). Rule authors read attribute acronyms
(e.g. "DRVAL1") and string values; numeric-code-to-acronym
resolution against AttributeTypeCatalogue
happens once at façade construction, not in rule bodies.
A view with a null Acronym represents an
attribute whose numeric code did not resolve against the dataset's
embedded attribute catalogue — this is the failure mode reported by
S101-R-1.2. The raw NumericCode remains
available so the finding can cite it.
Properties
Acronym
Attribute acronym resolved through the dataset's
AttributeTypeCatalogue — for example
"DRVAL1" or "OBJNAM". null when the numeric
code is not present in the catalogue.
public string? Acronym { get; init; }
Property Value
Index
Sequence index within a complex-attribute instance. The marker
row uses 1; subsequent sub-rows belonging to the same
complex-attribute instance carry monotonically increasing
indices. Simple attributes always carry 1.
public ushort Index { get; init; }
Property Value
NumericCode
The raw numeric attribute code from the ATTR field (FRID record).
public ushort NumericCode { get; init; }
Property Value
ParentIndex
The ISO 8211 PAIX of the row (S-100 Part 10a): the 1-based
position, within the same record's attribute rows, of the complex
attribute row this row is a sub-attribute of, or 0 when the row
is bound directly to the feature or information type.
public ushort ParentIndex { get; init; }
Property Value
Value
Attribute value as a string. Numeric and enumerated values are
stringified by the parser. The empty string is preserved as
Empty so rules can distinguish "set but
empty" from "absent". null only when the parser produced
no value at all.
public string? Value { get; init; }