Table of Contents

Class S201FeatureXmlSource

Namespace
EncDotNet.S100.Datasets.S201
Assembly
EncDotNet.S100.Datasets.S201.dll

Projects an S201Dataset into the S-100 Part 9 FeatureXML intermediate format consumed by the S-201 XSLT portrayal rules.

public sealed class S201FeatureXmlSource : GmlFeatureXmlSource<S201Feature>, IFeatureXmlSource
Inheritance
S201FeatureXmlSource
Implements
Inherited Members

Remarks

Extends the base GML projection with information references on features (e.g. AtoNStatus, Positioning) and an InformationTypes section that the bundled main_PaperChart.xsl resolves via /Dataset/InformationTypes/*[@id=$ref]. Feature-to-feature xlink references (theParentFeature / theSubordinateFeature from the S-201 Edition 2.0.0 Structure/Equipment aggregation) are emitted as <Role featureRef="…"/> children so XSLT rules can navigate equipment-on-structure relationships.

Constructors

S201FeatureXmlSource(S201Dataset)

Initializes a new S201FeatureXmlSource.

public S201FeatureXmlSource(S201Dataset dataset)

Parameters

dataset S201Dataset

Methods

TransformAttributeValue(string, string)

Translates listed-value attribute labels (e.g. Port-Hand Lateral Mark) to their FC numeric codes (e.g. 1) so the upstream S-201 XSLT predicates — which match on numeric codes — fire correctly. Real-world S-201 producers emit labels; the bundled portrayal catalogue assumes codes. See S-201 Edition 2.0.0 §11.

protected override string TransformAttributeValue(string code, string value)

Parameters

code string
value string

Returns

string

WriteDatasetExtensions(XElement)

Called after all features have been written to the root Dataset element. Override to add spec-specific dataset-level elements such as an InformationTypes section.

protected override void WriteDatasetExtensions(XElement root)

Parameters

root XElement

WriteFeatureExtensions(S201Feature, XElement)

Called after attributes and complex attributes have been written to a feature element. Override to add spec-specific elements such as xlink references or information-type associations.

protected override void WriteFeatureExtensions(S201Feature feature, XElement featureElement)

Parameters

feature S201Feature
featureElement XElement