Class S101FeatureXmlSource
Projects an S101Dataset into S-100 Part 9 FeatureXML for consumption by the XSLT/Lua portrayal pipeline.
public sealed class S101FeatureXmlSource : IFeatureXmlSource
- Inheritance
-
S101FeatureXmlSource
- Implements
- Inherited Members
Constructors
S101FeatureXmlSource(S101Dataset)
Creates a FeatureXML source over the given S-101 dataset. The XML is built on each call to GetFeatureXml(CancellationToken), not up front.
public S101FeatureXmlSource(S101Dataset dataset)
Parameters
datasetS101DatasetThe parsed S-101 dataset to project.
Exceptions
- ArgumentNullException
datasetisnull.
Properties
FeatureTypesPresent
Returns the feature type codes present in the dataset, used to select applicable portrayal rules before running any XSLT transforms.
public IReadOnlyList<string> FeatureTypesPresent { get; }
Property Value
Remarks
Feature type codes are resolved to their names through the dataset's feature type catalogue (falling back to the numeric code when no name is registered). The list is computed once and cached.
Methods
GetFeatureXml(CancellationToken)
Returns an XmlReader positioned at the start of the S-100 FeatureXML document. The caller owns the reader and will dispose it.
public XmlReader GetFeatureXml(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationTokenSignals that the render has been cancelled. Implementations project FeatureXML from already-in-memory dataset state, so the work is CPU-bound rather than I/O-bound; the token lets a long projection be abandoned cooperatively (the method remains synchronous).