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 | 選択可能。出力中のエンコーディング属性の値を設定します。 |
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>要素が存在しない場合や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>