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" or method="xml" 時使用)。 |
encoding | string | 可選。設置輸出中編碼屬性的值。 |
omit-xml-declaration |
| 可選。 "yes" 規定在輸出中省略 XML 聲明 (<?xml...?>)。 "no" 規定應在輸出中包含 XML 聲明。默認是 "no"。 |
standalone |
| 可選。規定 XSLT 處理器是否應輸出獨立文檔聲明;該值必須為 yes 或 no。默認是 "no"。Netscape 6 不支持該屬性。 |
doctype-public | string | 可選。規定 DTD 中要使用的公共標識符。即輸出中 DOCTYPE 聲明的 PUBLIC 屬性的值。 |
doctype-system | string | 可選。規定 DTD 中要使用的系統標識符。即輸出中 DOCTYPE 聲明的 SYSTEM 屬性的值。 |
cdata-section-elements | namelist | 可選。一個空格分隔的元素列表,這些元素的文本內容應作為 CDATA 部分來輸出。 |
indent |
| 可選。在輸出結果樹時是否要增加空白;該值必須為 yes 或 no。Netscape 6 不支持該屬性。 |
media-type | string | 可選。定義輸出的 MIME 類型(數據的媒體類型)。默認是 "text/xml"。Netscape 6 不支持該屬性。 |
method 屬性
標識用于輸出結果樹的總體方法。如果沒有前綴,則標識此文檔中指定的方法,必須是 "xml"、"html"、"text" 或不是 NCName 的限定名 之一)。如果有前綴,則展開并標識輸出方法。
method 屬性的默認值的選擇如下所示。如果下列任何條件為真,默認的輸出方法為“html”:
結果樹的根節點包含元素子級。
結果樹中根節點的第一個元素子級(即文檔元素)的擴展名稱包含本地部分“html”(任意大小寫組合)和空命名空間 URI。
結果樹中根節點的第一個元素子級之前的任何文本節點只包含空白字符。
否則,默認的輸出方法為 "xml"。如果沒有 <xsl:output> 元素或沒有 <xsl:output> 元素指定了 method 屬性的值,應使用默認的輸出方法。
實例
例子 1
在本例中,輸出是 XML 文檔,版本為 1.0。字符編碼方式被設置為 "ISO-8859-1",輸出會進行縮進,以增進可讀性:
<?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>
例子 2
在本例中,輸出是 HTML 文檔,版本是 4.0。字符編碼方式被設置為 "ISO-8859-1",輸出會進行縮進,以增進可讀性:
<?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>