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
  • html
  • text
  • name
選択可能。出力のフォーマットを定義します。デフォルトは XML です。Netscape 6 は "html" と "xml" をサポートしています。
version string 選択可能。出力フォーマットの W3C 版本号を設定します。(method="html" または method="xml" の場合にのみ使用)。
encoding string 選択可能。出力中のエンコーディング属性の値を設定します。
omit-xml-declaration
  • yes
  • no

選択可能。

"yes" は出力に XML 宣言を省略することを定義します (<?xml...?>)。

"no" は出力に XML 宣言を含めることを定義します。デフォルトは "no" です。

standalone
    • yes
    • no
選択可能。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
オプションです。出力結果ツリーに空白を挿入するかどうかを指定します。この値は"yes"または"no"でなければなりません。Netscape 6はこの属性をサポートしていません。
media-type string オプションです。出力のMIMEタイプ(データのメディアタイプ)を定義します。デフォルトは"text/xml"です。Netscape 6はこの属性をサポートしていません。

method属性

結果ツリーの全体の出力方法を識別する識別子です。接頭辞がない場合、このドキュメントで指定された方法を識別する必要があります。"xml"、"html"、"text"、またはNCNameでない限定名のいずれかである必要があります。接頭辞がある場合、展開して出力方法を識別します。

以下のように、method属性のデフォルト値が選択されます。以下のいずれかの条件が真の場合、デフォルトの出力方法は「html」です:

結果ツリーのルートノードは要素子節点を含みます。

結果ツリーのルートノードの最初の要素子節点(即、ドキュメント要素)の拡張名はローカル部分が「html」(任意の大文字小文字の組み合わせ)で、空の命名空間URIを含みます。

結果ツリーのルートノードの最初の要素子節点(即、ドキュメント要素)の前にあるテキストノードは空白文字のみを含みます。

それ以外の場合、デフォルトの出力方法は"xml"です。もし<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>