Table of Contents

Interface IXsltRuleSource

Namespace
EncDotNet.S100.Pipelines.Vector
Assembly
EncDotNet.S100.Core.dll

Capability interface for catalogues that supply XSLT portrayal rules (S-100 Part 9 ยง9.4). A catalogue implements this interface when at least one of its loaded rules has Xslt.

public interface IXsltRuleSource

Remarks

The single member is asynchronous because uncached lookups perform I/O against the underlying IAssetSource (the XSLT XML must be read and compiled). Implementations are expected to memoize compiled transforms, so subsequent accesses for the same rule complete synchronously through the ValueTask<TResult> fast path.

Implementations should throw PortrayalAssetNotFoundException from GetCompiledRuleAsync(string, CancellationToken) when the named rule is not present in the loaded catalogue, just as IPortrayalAssetSource methods do for missing symbols, line styles, or area fills. The "this product never has XSLT" assertion belongs in the rule list, not in the type system.

Methods

GetCompiledRuleAsync(string, CancellationToken)

Returns the compiled XSLT transform for the named rule.

ValueTask<XslCompiledTransform> GetCompiledRuleAsync(string ruleName, CancellationToken cancellationToken = default)

Parameters

ruleName string
cancellationToken CancellationToken

Returns

ValueTask<XslCompiledTransform>