XSLT <xsl:output> 元素
定义和用法
<xsl:output> 元素定义了输出文档的格式。
注释:<xsl:output> 是顶层元素(top-level element),必须是 <xsl:stylesheet> 或 <xsl:transform> 的子节点。
语法
<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"/>
属性
属性 | 值 | 描述 |
---|---|---|
method |
|
可选。定义输出的格式。默认是 XML。Netscape 6 仅支持 "html" 和 "xml"。 |
version | string | 可选。设置输出格式的 W3C 版本号。(仅在 method="html" 或 method="xml" 时使用)。 |
encoding | string | Optional. Setzt den Wert des Encoding-Attributs in der Ausgabe. |
omit-xml-declaration |
|
Optional "yes" legt fest, dass die XML-Deklaration in der Ausgabe weggelassen werden soll (<?xml...?>). "no" legt fest, dass die XML-Deklaration in der Ausgabe enthalten sein soll. Standard ist "no". |
standalone |
|
Optional. Regelt, ob der XSLT-Processor eine separate Dokumentdeklaration ausgeben soll; der Wert muss "yes" oder "no" sein. Standard ist "no". Netscape 6 unterstützt dieses Attribut nicht. |
doctype-public | string | Optional. Regelt den zu verwendenden Public-Identifier in der DTD. Dies ist der Wert des PUBLIC-Attributs der DOCTYPE-Deklaration in der Ausgabe. |
doctype-system | string | Optional. Regelt den zu verwendenden Systemidentifikator in der DTD. Dies ist der Wert des SYSTEM-Attributs der DOCTYPE-Deklaration in der Ausgabe. |
cdata-section-elements | namelist | Optional. Eine durch Leerzeichen getrennte Liste von Elementen, deren Textinhalt als CDATA-Teil ausgegeben werden soll. |
indent |
|
Optional. Gibt an, ob bei der Ausgabe des Ergebnisbaums Leerzeichen hinzugefügt werden sollen; der Wert muss "yes" oder "no" sein. Netscape 6 unterstützt dieses Attribut nicht. |
media-type | string | Optional. Definiert den MIME-Typ der Ausgabe (den Mediendaten-Typ). Standard ist "text/xml". Netscape 6 unterstützt dieses Attribut nicht. |
Attribut "method"
Kennzeichnet das allgemeine Verfahren zur Ausgabe des Ergebnisbaums. Ohne Präfix muss das Verfahren im Dokument angegeben sein und muss "xml", "html", "text" oder eines der nicht als NCName beschränkten Namen sein. Mit Präfix wird das Verfahren expandiert und gekennzeichnet.
Die Auswahl der Standardwert für das Attribut "method" ist wie folgt dargestellt. Wenn einer der folgenden Bedingungen zutrifft, ist die Standardausgabemethode "html":
Der Wurzelknoten des Ergebnisbaums enthält Element-Nachkommenschaft.
Der Wurzelknoten des Ergebnisbaums enthält Element-Nachkommenschaft. Der erweiterte Name des ersten Elements der Nachkommenschaft des Wurzelknotens (d.h. des Dokumentelements) enthält den lokalen Teil "html" (jegliche Groß-/Kleinschreibkombination) und einen leeren Namensraum URI.
Jeder Textknoten, der sich vor der ersten Element-Nachkommenschaft des Wurzelknotens im Ergebnisbaum befindet, enthält nur Leerzeichen.
Wenn keine Ausgabemethode "xml" standardmäßig verwendet wird. Wenn es kein <xsl:output>-Element gibt oder wenn das <xsl:output>-Element das Attribut value der Methode nicht definiert, sollte die Standardausgabemethode verwendet werden.
Beispiel
Beispiel 1
In diesem Beispiel ist die Ausgabe ein XML-Dokument, Version 1.0. Die Zeichencodierung wird auf "ISO-8859-1" eingestellt, die Ausgabe wird eingerückt, um die Lesbarkeit zu verbessern:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/> ... ... </xsl:stylesheet>
Beispiel 2
In diesem Beispiel ist die Ausgabe ein HTML-Dokument, Version 4.0. Die Zeichensatzart wurde auf "ISO-8859-1" eingestellt, die Ausgabe wird eingerückt, um die Lesbarkeit zu verbessern:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/> ... ... </xsl:stylesheet>