Interface IXsltRuleSource
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
ruleNamestringcancellationTokenCancellationToken