Table of Contents

Class RdlDefinitionWriter

Namespace
DocWright.Reporting.Rdl
Assembly
DocWright.Reporting.Rdl.dll

Writes a ReportDefinition back out as a report definition.

public sealed class RdlDefinitionWriter
Inheritance
RdlDefinitionWriter
Inherited Members

Remarks

Output is deterministic: the same definition writes the same bytes on every run, on every target framework. There are no timestamps and no generated identifiers — in particular rd:ReportID, which Report Designer refreshes on every save, is written only if the definition already carries one.

Why this serializes by hand instead of using XmlWriter. Namespace declarations are part of what a definition says. XmlWriter owns prefix binding: it emits declarations where it first needs them and silently discards one the document never uses, which for a designer's save is a change the author did not ask for. Writing the declarations as the attributes they are keeps them where the author put them, including the unused ones.

Constructors

RdlDefinitionWriter()

Initializes a writer with default settings.

RdlDefinitionWriter(RdlDefinitionWriteSettings)

Initializes a writer.

Methods

Write(ReportDefinition, Stream)

Writes a definition to a stream.