Table of Contents

Class S101FeatureXmlSource

Namespace
EncDotNet.S100.Datasets.S101
Assembly
EncDotNet.S100.Datasets.S101.dll

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

dataset S101Dataset

The parsed S-101 dataset to project.

Exceptions

ArgumentNullException

dataset is null.

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

IReadOnlyList<string>

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

cancellationToken CancellationToken

Signals 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).

Returns

XmlReader