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>要素がない場合や<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>