Table of Contents

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

string

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

ushort

NumericCode

The raw numeric attribute code from the ATTR field (FRID record).

public ushort NumericCode { get; init; }

Property Value

ushort

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

ushort

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; }

Property Value

string