Table of Contents

Property FormatSettings

Namespace
DocWright.Core.Formats
Assembly
DocWright.Core.dll

FormatSettings

Gets the format-specific settings, keyed by a namespaced string. Empty by default.

public IDictionary<string, string> FormatSettings { get; }

Property Value

IDictionary<string, string>

Remarks

This is the channel through which a caller reaches a setting only one format understands, without Core learning what that format is. Keys are namespaced by format name — "rdl:schemaVersion", "html:selfContained" — so two writers can never collide, and a writer ignores every key outside its own prefix.

The alternative was a format-specific option type per format on this bag, which would make Core reference every format package, or a widened IDocumentWriter, which is frozen. A string dictionary is deliberately weaker than either: it moves the type checking to the writer, which is why an unrecognized key or an unparseable value must be reported as a diagnostic and fall back to the documented default rather than being ignored in silence.

Comparison is OrdinalIgnoreCase, so key casing is forgiving and never culture-sensitive. Ordering is sorted-ordinal so that anything a writer derives from this collection is deterministic.

Callers constructing a writer directly should prefer that writer's own strongly-typed settings object; this exists for the extension-routed Save(document, stream, ".rdl", options) path, where no such object is reachable.