XslCompiledTransform クラスの出力オプション

この記事では、XSLT で使用できる出力オプションについて説明します。 出力オプションは、スタイル シート内で、または Transform メソッドで指定できます。

xsl:output 要素

xsl:output 要素は出力のオプションを指定します。 Transform メソッドで指定する出力の種類により、xsl:output オプションの動作が決定されます。

次の表では、出力の種類がストリームか xsl:output の場合に TextWriter 要素で使用できる各属性の動作について説明します。

属性名 動作
メソッド サポートされています。
version 無視されます。 バージョンは常に XML では 1.0、そして HTML では 4.0 です。
encoding TextWriter への出力時には無視されます。 TextWriter.Encoding プロパティが代わりに使用されます。
omit-xml-declaration サポートされています。
スタンドアロン サポートされています。
doctype-public サポートされています。
doctype-system サポートされています。
cdata-section-elements サポートされています。
indent サポートされています。
media-type サポートされています。

XmlWriter への出力の送出

スタイル シートで xsl:output 要素が使用され、出力の種類が XmlWriter オブジェクトの場合は、XslCompiledTransform.OutputSettings オブジェクトを作成する際に XmlWriter プロパティを使用します。 XslCompiledTransform.OutputSettings プロパティは、コンパイル済みスタイル シートの XmlWriterSettings 要素から派生した情報を含む xsl:output オブジェクトを返します。 この XmlWriterSettings オブジェクトを XmlWriter.Create メソッドに渡して、正しい設定の XmlWriter オブジェクトを作成することができます。

出力の種類

次の一覧では、Transform コマンドで使用できる出力の種類について説明します。

XmlWriter

XmlWriter クラスは XML ストリームまたはファイルを書き出します。 XmlWriter クラスを使用して、出力オプションも含め、XmlWriterSettings オブジェクトでサポートする機能を指定できます。 XmlWriter クラスは System.Xml フレームワークの重要な一部分です。 出力結果を別の XML プロセスにパイプラインして送るには、この出力を使用します。

String

出力ファイルの URI を指定するには、この出力を使用します。

ストリーム

ストリームとは、ファイル、入出力デバイス、プロセス間通信のパイプ、または TCP/IP ソケットなどのバイト シーケンスを抽象化したものです。 Stream クラスとその派生クラスは、これら各種の入出力にジェネリックな視点を提供し、プログラマがオペレーティング システムや下位のデバイスに固有の詳細を考慮する必要をなくします。

FileStreamMemoryStream、または出力ストリーム (Response.OutputStream) にデータを送るには、この出力の種類を使用します。

TextWriter

TextWriter は、文字シーケンスを書き出します。 これは StringWriter クラスおよび StreamWriter クラスに実装され、それぞれ文字を文字列に、またはストリームに書き出します。 文字列に出力する場合は、この出力の種類を使用します。

メモ

空要素タグを書き出すとき、要素名の最後の文字とバック主ラッシュとの間に 1 つのスペースが書かれます。たとえば <myElement /> です。 これにより、生成された HTML ページが古いブラウザーで正しく表示されます。

関連項目