Used to control the format of serial output files resulting from the transformation.
Permitted parent elements: xsl:package ; xsl:stylesheet ; xsl:transform
Provides a name for this output format, which may be referenced in the xsl:result-document element. By default, the unnamed output format is used.
Indicates the format or destination of the
output. The value
Used only for JSON output,
available in XPath 3.1, implemented since Saxon 9.7. Defines whether duplicate
keys (e.g. the date
Defines whether the raw output is used to build an XML document tree.
Indicates whether UTF-8/UTF-16
output is to start with a byte order mark. The default is
Used only for XML output. The value is a whitespace-separated list of element names. Character data belonging to these output elements will be written within CDATA sections.
Used only for XML output: it is copied into the DOCTYPE declaration as the public identifier. Ignored if there is no system identifier. If the value is an empty string, Saxon interprets this as if the attribute were omitted, which can be useful it you want to override an actual value with "absent".
Used only for XML output: it is copied into the DOCTYPE declaration as the system identifier. If the value is an empty string, Saxon interprets this as if the attribute were omitted, which can be useful it you want to override an actual value with "absent".
A character encoding, e.g. iso-8859-1 or utf-8. The value must be one recognised both by the Java run-time system and by Saxon itself: the encoding names that Saxon recognises are ASCII, US-ASCII, iso-8859-1, utf-8, utf8, KOI8R, cp1251. It is used for three distinct purposes: to control character conversion by the Java I/O routines; to determine which characters will be represented as character entities; and to document the encoding in the output file itself. The default (and fallback) is utf-8.
New in XSLT 2.0. Affects HTML
output only. Controls whether non-ASCII characters in HTML URI-valued attributes
New in XSLT 3.0. Implemented since
Saxon 9.6. When the output method is HTML or XHTML, then if this attribute takes
New in XSLT 2.0. Affects HTML
output only. Controls whether a
The indentation algorithm is different for
HTML and XML. For HTML it avoids outputting extra space before or after an
inline element, but will indent text as well as tags, except in elements such as
Not available in XSLT.
Used only for JSON output, available in XPath 3.1, implemented since Saxon 9.7. Defines the serialization method for nodes encountered while serializing as JSON.
Indicates that a given Unicode normalization form (or no normalization) is required.
For XML output this controls
whether an XML declaration should be output; the default is
New in XSLT 3.0. Not implemented in Saxon 9.7. Allows serialization to be configured in an external document.
Used only for XML output: if it is
present, a standalone attribute is included in the XML declaration, with the
New in XSLT 3.0 (it was
previously available in Saxon as an extension). The value is a
whitespace-separated list of element names, and it typically identifies "inline"
elements that should not cause indentation; in XHTML, for example, these would
Indicates XML 1.1 namespace undeclarations are to be output when required.
A space-separated list of the names of character maps (see xsl:character-map) which will be applied to transform individual characters during serialization.
Determines the version of XML or HTML to be
output. This is largely documentary. However, for XML the distinction between
Available in XSLT 1.0 and later versions. Available in all Saxon editions. Available for all platforms.
Notes on the Saxon implementation
See Additional serialization
parameters for descriptions of additional attributes supported by Saxon-PE and Saxon-EE
The new XSLT 3.0 attribute
parameter-document is first implemented in
xsl:output declaration is always a top-level element immediately
below the xsl:stylesheet
element. There may be multiple
xsl:output elements; their values
are accumulated as described in the XSLT specification.