XDesignXDocument¶
XDesignXDocument is the root-document counterpart to XDesignXElement: it wraps a SAIFXDocument (from
SAIF.Framework.Common) so a report's data tree can be serialized to the xPression XML dialect via
ToXpression(). ReportBase.Render calls ToXpression() on the document produced by a subclass's Create
override before handing the resulting string to clsPrint.previewDocument.
Purpose¶
- Provide the document-level entry point for xPression serialization, delegating to the root element's
ToXpressionwhen it is anXDesignXElement - Guard against malformed documents by returning an empty string when there is no root, or the root is not an xPression element (BR-PRT-019)
Context¶
- Namespace:
SAIF.Services.Printing.Reporting - Assembly/package:
SAIF.Services.Printing(embedded library, project reference) - Base class:
SAIFXDocument(SAIF.Framework.Commonpackage)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
New() |
Public Sub New() |
Constructs an empty document, mirroring the base SAIFXDocument() constructor |
New(content) |
Public Sub New(ParamArray content As Object()) |
Constructs a document from the supplied content, mirroring the base constructor |
New(other) |
Public Sub New(other As XDocument) |
Constructs a document by copying an existing XDocument, mirroring the base constructor |
New(declaration, content) |
Public Sub New(declaration As XDeclaration, ParamArray content As Object()) |
Constructs a document with an explicit XML declaration, mirroring the base constructor |
ToXpression |
Public Function ToXpression() As String |
Returns the root element's ToXpression() rendering when the root is an XDesignXElement; otherwise returns "" (BR-PRT-019) |
Behavioral notes¶
ToXpression()performs no recursive walk itself — all element-level rendering (key propagation, escaping, self-closing empty elements) is implemented onXDesignXElement; this type only decides whether the root is eligible to be rendered at all.
Constraints and usage notes¶
- Building a document whose root is a plain
XElement(not lifted viaExtensions.ToSAIFXElement) will causeToXpression()to return an empty string rather than throwing.*
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.
Sources¶
- SAIF.Services.Printing/Reporting/XDesignXDocument.vb