Class FeatureCatalogue
An S-100 Part 5 Feature Catalogue: the root of the model produced by FeatureCatalogueReader. It carries the catalogue's identity and producer plus every FeatureType, InformationType, attribute, Role and association the product specification defines. Wrap it in a FeatureCatalogueDecoder for code-to-name lookups.
public sealed class FeatureCatalogue
- Inheritance
-
FeatureCatalogue
- Inherited Members
Properties
CatalogueRef
The Feature Catalogue identity tuple (ProductId, VersionNumber)
projected into a strongly-typed CatalogueRef, or
null when either field is missing or unparseable. This is the
preferred way to identify a catalogue instance for caching and
compatibility checks (S-100 Edition 5.2.1 Part 2 ยง6).
public CatalogueRef? CatalogueRef { get; init; }
Property Value
Classification
Security classification of the catalogue (S100FC:classification), or null when absent.
public string? Classification { get; init; }
Property Value
ComplexAttributes
Complex attributes (S100_FC_ComplexAttributes), in catalogue order; empty when the section is absent.
public IReadOnlyList<ComplexAttribute> ComplexAttributes { get; init; }
Property Value
FeatureAssociations
Feature associations (S100_FC_FeatureAssociations), in catalogue order; empty when the section is absent.
public IReadOnlyList<FeatureAssociation> FeatureAssociations { get; init; }
Property Value
FeatureTypes
Feature types (S100_FC_FeatureTypes), in catalogue order; empty when the section is absent.
public IReadOnlyList<FeatureType> FeatureTypes { get; init; }
Property Value
FieldOfApplication
Intended use of the catalogue (S100FC:fieldOfApplication), e.g. "Marine Navigation"; null when absent.
public string? FieldOfApplication { get; init; }
Property Value
InformationAssociations
Information associations (S100_FC_InformationAssociations), in catalogue order; empty when the section is absent.
public IReadOnlyList<InformationAssociation> InformationAssociations { get; init; }
Property Value
InformationTypes
Information types (S100_FC_InformationTypes), in catalogue order; empty when the section is absent.
public IReadOnlyList<InformationType> InformationTypes { get; init; }
Property Value
Name
Title of the catalogue (S100FC:name).
public required string Name { get; init; }
Property Value
Producer
Organisation responsible for the catalogue (S100FC:producer), or null when absent.
public Producer? Producer { get; init; }
Property Value
ProductId
The product specification this Feature Catalogue targets, as declared
in <S100FC:productId> (e.g. "S-101"). May be null
when the source XML omits the element (some legacy bundled catalogues
such as S-421 do not declare it).
public string? ProductId { get; init; }
Property Value
Roles
Association roles (S100_FC_Roles), in catalogue order; empty when the section is absent.
public IReadOnlyList<Role> Roles { get; init; }
Property Value
Scope
Subject domain the catalogue covers (S100FC:scope), or null when absent.
public string? Scope { get; init; }
Property Value
SimpleAttributes
Simple attributes (S100_FC_SimpleAttributes), in catalogue order; empty when the section is absent.
public IReadOnlyList<SimpleAttribute> SimpleAttributes { get; init; }
Property Value
VersionDate
Publication date of this version, verbatim from S100FC:versionDate (normally
yyyy-MM-dd); not parsed. Empty when the element is absent.
public required string VersionDate { get; init; }
Property Value
VersionNumber
Catalogue version as written in S100FC:versionNumber, e.g. "2.0.0".
public required string VersionNumber { get; init; }