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

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

xsl:output 要素

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

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

属性名 行動
メソッド Supported.
バージョン 無視。 バージョンは XML の場合は常に 1.0、HTML の場合は 4.0 です。
エンコード TextWriterに出力するときに無視されます。 代わりに、 TextWriter.Encoding プロパティが使用されます。
omit-xml-declaration Supported.
スタンドアロン Supported.
doctype-public Supported.
doctype-system Supported.
cdata-section-elements Supported.
インデント Supported.
media-type Supported.

XmlWriter への出力の送信

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

出力の種類

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

XmlWriter

XmlWriter クラスは、XML ストリームまたはファイルを書き込みます。 XmlWriterSettings クラスを使用して、XmlWriter オブジェクトでサポートする機能 (出力オプションを含む) を指定できます。 XmlWriter クラスは、System.Xml フレームワークの不可欠な部分です。 この出力の種類を使用して、出力結果を別の XML プロセスにパイプライン化します。

糸

この出力の種類を使用して、出力ファイルの URI を指定します。

Stream

ストリームは、ファイル、入出力デバイス、プロセス間通信パイプ、TCP/IP ソケットなどのバイト シーケンスの抽象化です。 Stream クラスとその派生クラスは、これらのさまざまな種類の入力と出力の汎用ビューを提供し、オペレーティング システムと基になるデバイスの特定の詳細からプログラマを分離します。

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

TextWriter

TextWriterは順次文字を書き込みます。 これは、文字列またはストリームにそれぞれ文字を書き込む StringWriter クラスと StreamWriter クラスで実装されます。 文字列に出力する場合は、この出力の種類を使用します。

メモ

空のタグを書き出すと、要素名の最後の文字と円記号の間にスペースが書き込まれます (たとえば、 <myElement /> )。 これにより、古いブラウザーで生成された HTML ページが正しく表示されます。

こちらも参照ください