Skip to content

XSLT <xsl:output>

How to configure the <xsl:output> element in XSLT to control XML, HTML, or text output formatting, including encoding, indentation, and declaration settings.

XSLT <xsl:output>

The <xsl:output> element defines the format of the output document.

Syntax


<xsl:output
        method="xml|html|text|name"
        version="string"
        encoding="string"
        omit-xml-declaration="yes|no"
        standalone="yes|no"
        doctype-public="string"
        doctype-system="string"
        cdata-section-elements="namelist"
        indent="yes|no"
        media-type="string"/>

Attributes

Attribute Value Required/Optional Description
method xml | html | text | name Optional Defines the output format. The default is XML (but if the first child of the root node is <html> and there are no preceding text nodes, then the default is HTML)

Netscape 6 only supports "html" and "xml"
version string Optional Sets the W3C version number for the output format (only used with method="html" or method="xml")
encoding string Optional Sets the value of the encoding attribute in the output
omit-xml-declaration yes | no Optional "yes" specifies that the XML declaration (<?xml...?>) should be omitted in the output. "no" specifies that the XML declaration should be included in the output.

The default is "no"
standalone yes | no Optional "yes" specifies that a standalone declaration should occur in the output. "no" specifies that a standalone declaration should not occur in the output. The default is "no"

This attribute is not supported by Netscape 6
doctype-public string Optional Sets the value of the PUBLIC attribute of the DOCTYPE declaration in the output
doctype-system string Optional Sets the value of the SYSTEM attribute of the DOCTYPE declaration in the output
cdata-section-elements namelist Optional A white-space separated list of elements whose text contents should be written as CDATA sections
indent yes | no Optional "yes" indicates that the output should be indented according to its hierarchic structure. "no" indicates that the output should not be indented according to its hierarchic structure.

This attribute is not supported by Netscape 6
media-type string Optional Defines the MIME type of the output. The default is "text/xml"

This attribute is not supported by Netscape 6

Example

Let's see example:

Example 1

The output in this example will be an XML document, version 1.0. The character encoding is set to "UTF-8" and the output will be indented for readability:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    ...
    ...
</xsl:stylesheet>

Example 2

The output in this example will be an HTML document, version 4.0. The character encoding is set to "UTF-8" and the output will be indented for readability:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="html" version="4.0"
                encoding="UTF-8" indent="yes"/>
    ...
    ...
</xsl:stylesheet>
Navigation