Class S201FeatureXmlSource
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
datasetS201Dataset
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
Returns
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
rootXElement
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
featureS201FeaturefeatureElementXElement