A new serialization property
saxon:internal-dtd-subset is available with the XML output
method (see Serialization parameters).
The value is a string conforming to the XML grammar production
intSubset; it is included
in the serialized document "as is", without checking. As with any string, special characters will need to
be escaped, for example "
<" is written as "
<". The square brackets that
enclose the internal subset within the Document Type Declaration should not be included in the value.
When used with
fn:serialize(), the value can be constructed
programmatically. This provides an alternative to the
saxon:doctype extension instruction, and
is a better solution to the requirement architecturally because it sits firmly in the serialization arena
rather than masquerading as an instruction affecting the contents of the result tree.