XslCompiledTransform.Transform メソッド

定義

XSLT 変換を実行します。

オーバーロード

Transform(XmlReader, XsltArgumentList, TextWriter)

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(IXPathNavigable, XsltArgumentList, Stream)

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(XmlReader, XsltArgumentList, XmlWriter)

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(XmlReader, XsltArgumentList, Stream)

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(String, String)

URI で指定された入力ドキュメントを使用して変換を実行し、結果をファイルに出力します。

Transform(String, XsltArgumentList, TextWriter)

URI で指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。

Transform(String, XsltArgumentList, Stream)

URI で指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(IXPathNavigable, XmlWriter)

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

Transform(XmlReader, XmlWriter)

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

Transform(String, XmlWriter)

URI で指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 には XsltArgumentList 追加の実行時引数が用意されており、XmlResolver によって XSLT document() 関数が解決されます。

Transform(String, XsltArgumentList, XmlWriter)

URI で指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には追加の実行時引数を指定し、XmlResolver で XSLT の document() 関数を解決します。

注釈

注意

デバッグ モードでコンパイルされた XSLT と、リリース モードでコンパイルされた XSLT には違いがあります。 状況によっては、デバッグ モードでコンパイルされたスタイル シートが、Load の間にはエラーをスローしないが、その後の Transform の間にエラーとなります。 同じスタイル シートをリリース モードでコンパイルすると、Load の間にエラーが発生します。 このような動作の 1 つの例は、ノード セット型ではない変数を、ノード セット型が必要な式に代入する場合です。

Transform(XmlReader, XsltArgumentList, TextWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As TextWriter)

パラメーター

input
XmlReader

入力ドキュメントが格納されている XmlReader

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
TextWriter

出力先の TextWriter

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

注釈

スタイル シートに XSLT document() 関数が含まれている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。 Microsoft .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

注釈

XSLT document() 関数が有効になっている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

このメソッドは、 要素を xsl:strip-space サポートしていません。 コンパイル済みのスタイル シートに 要素が xsl:strip-space 含まれている場合は、 を Transform 入力引数として受け取る XmlReader オーバーロードを使用する必要があります。

IXPathNavigable インターフェイスは、XmlNode および XPathDocument クラスに実装されています。 これらのクラスは XML データのメモリ内のキャッシュを表します。

  • XmlNode クラスは W3C ドキュメント オブジェクト モデル (DOM) を基礎とし、編集機能も含んでいます。

  • XPathDocument クラスは、XPath データ モデルに基づいた読み取り専用のデータ ストアです。 XPathDocument は、XSLT 処理に推奨されるクラスです。 これは、XmlNode クラスと比較して、より高速なパフォーマンスを提供します。

変換はドキュメント全体に対して行われます。 つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。 ノード フラグメントを変換するには、ノード フラグメントだけを含むオブジェクトを作成し、そのオブジェクトを Transform メソッドに渡します。 詳細については、ノード フラグメントを変換する」を参照してください。

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As TextWriter)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。 Microsoft .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
TextWriter

出力先の TextWriter

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

注釈

XSLT document() 関数が有効になっている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

このメソッドは、 要素を xsl:strip-space サポートしていません。 コンパイル済みのスタイル シートに 要素が xsl:strip-space 含まれている場合は、 を Transform 入力引数として受け取る XmlReader オーバーロードを使用する必要があります。

IXPathNavigable インターフェイスは、XmlNode および XPathDocument クラスに実装されています。 これらのクラスは XML データのメモリ内のキャッシュを表します。

  • XmlNode クラスは W3C ドキュメント オブジェクト モデル (DOM) を基礎とし、編集機能も含んでいます。

  • XPathDocument クラスは、XPath データ モデルに基づいた読み取り専用のデータ ストアです。 XPathDocument は、XSLT 処理に推奨されるクラスです。 これは、XmlNode クラスと比較して、より高速なパフォーマンスを提供します。

変換はドキュメント全体に対して行われます。 つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。 ノード フラグメントを変換するには、ノード フラグメントだけを含むオブジェクトを作成し、そのオブジェクトを Transform メソッドに渡します。 詳細については、ノード フラグメントを変換する」を参照してください。

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, Stream)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As Stream)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。 Microsoft .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
Stream

出力先のストリーム。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

次の例では、XSLT 変換を実行し、 に FileStream出力します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
   // Execute the transformation.
   xslt.Transform(new XPathDocument("books.xml"), null, fs);
}
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the FileStream.
Using fs As New FileStream("c:\data\output.xml", FileMode.Create)
   ' Execute the transformation.
    xslt.Transform(New XPathDocument("books.xml"), Nothing, fs)
End Using

注釈

XSLT document() 関数が有効になっている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

このメソッドは、 要素を xsl:strip-space サポートしていません。 コンパイル済みのスタイル シートに 要素が xsl:strip-space 含まれている場合は、 を Transform 入力引数として受け取る XmlReader オーバーロードを使用する必要があります。

IXPathNavigable インターフェイスは、XmlNode および XPathDocument クラスに実装されています。 これらのクラスは XML データのメモリ内のキャッシュを表します。

  • XmlNode クラスは W3C ドキュメント オブジェクト モデル (DOM) を基礎とし、編集機能も含んでいます。

  • XPathDocument クラスは、XPath データ モデルに基づいた読み取り専用のデータ ストアです。 XPathDocument は、XSLT 処理に推奨されるクラスです。 これは、XmlNode クラスと比較して、より高速なパフォーマンスを提供します。

変換はドキュメント全体に対して行われます。 つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。 ノード フラグメントを変換するには、ノード フラグメントだけを含むオブジェクトを作成し、そのオブジェクトを Transform メソッドに渡します。 詳細については、ノード フラグメントを変換する」を参照してください。

こちらもご覧ください

適用対象

Transform(XmlReader, XsltArgumentList, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter)

パラメーター

input
XmlReader

入力ドキュメントが格納されている XmlReader

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

注釈

スタイル シートに XSLT document() 関数が含まれている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

こちらもご覧ください

適用対象

Transform(XmlReader, XsltArgumentList, Stream)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As Stream)

パラメーター

input
XmlReader

入力ドキュメントが格納されている XmlReader

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
Stream

出力先のストリーム。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

注釈

スタイル シートに XSLT document() 関数が含まれている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

こちらもご覧ください

適用対象

Transform(String, String)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

URI で指定された入力ドキュメントを使用して変換を実行し、結果をファイルに出力します。

public:
 void Transform(System::String ^ inputUri, System::String ^ resultsFile);
public void Transform (string inputUri, string resultsFile);
member this.Transform : string * string -> unit
Public Sub Transform (inputUri As String, resultsFile As String)

パラメーター

inputUri
String

入力ドキュメントの URI。

resultsFile
String

出力ファイルの URI。

例外

inputUri または resultsFile の値が null です。

XSLT 変換の実行中にエラーが発生しました。

入力ドキュメントが見つかりません。

inputUri 値または resultsFile 値に、存在しないファイル名またはディレクトリが含まれています。

inputUri 値または resultsFile 値を解決できません。

- または -

要求の処理中にエラーが発生しました。

inputUri または resultsFile が有効な URI ではありません。

入力ドキュメントの読み込み中に解析エラーが発生しました。

次の例では、変換を実行し、ファイルに出力します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")

このサンプルでは、次の 2 つの入力ファイルを使用します。

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

注釈

このメソッドでは、ユーザー資格情報のない既定値 XmlUrlResolver を使用して、入力ドキュメントと出力ドキュメントを解決します。 これらのリソースのいずれかが認証を必要とするネットワーク リソース上にある場合は、 を引数の 1 つとして受け取り XmlResolver 、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

XmlReader入力ドキュメントを読み込むには、既定の設定を持つ が使用されます。 DTD 処理は、 で XmlReader無効になっています。 DTD 処理が必要な場合は、この機能を有効にして を XmlReader 作成し、 メソッドに Transform 渡します。

こちらもご覧ください

適用対象

Transform(String, XsltArgumentList, TextWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

URI で指定された入力ドキュメントを使用して変換を実行し、結果を TextWriter に出力します。

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As TextWriter)

パラメーター

inputUri
String

入力ドキュメントの URI。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
TextWriter

出力先の TextWriter

例外

inputUri または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

inputUri の値に、存在しないファイル名またはディレクトリが含まれています。

inputUri 値を解決できません。

- または -

要求の処理中にエラーが発生しました。

inputUri は有効な URI ではありません。

入力ドキュメントの読み込み中に解析エラーが発生しました。

次の例では、XSLT 変換を実行し、文字列を出力します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("HTML_out.xsl");

// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform("books.xml", null, writer);
HTMLoutput = writer.ToString();
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("HTML_out.xsl")
        
' Transform the file and output an HTML string.
Dim HTMLoutput As String
Dim writer As New StringWriter()
xslt.Transform("books.xml", Nothing, writer)
HTMLoutput = writer.ToString()
writer.Close()

注釈

このメソッドは、ユーザー資格情報のない既定値 XmlUrlResolver を使用して、入力ドキュメントと、スタイル シート内にある XSLT document() 関数のインスタンスを解決します。 これらのリソースのいずれかが認証を必要とするネットワーク リソース上にある場合は、 を引数の 1 つとして受け取り XmlResolver 、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

XmlReader入力ドキュメントを読み込むには、既定の設定を持つ が使用されます。 DTD 処理は、 で XmlReader無効になっています。 DTD 処理が必要な場合は、この機能を有効にして を XmlReader 作成し、 メソッドに Transform 渡します。

こちらもご覧ください

適用対象

Transform(String, XsltArgumentList, Stream)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

URI で指定された入力ドキュメントを使用して変換を実行し、結果をストリームに出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As Stream)

パラメーター

inputUri
String

入力ドキュメントの URI。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
Stream

出力先のストリーム。

例外

inputUri または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

inputUri の値に、存在しないファイル名またはディレクトリが含まれています。

inputUri 値を解決できません。

- または -

要求の処理中にエラーが発生しました。

inputUri は有効な URI ではありません。

入力ドキュメントの読み込み中に解析エラーが発生しました。

注釈

このメソッドは、ユーザー資格情報のない既定値 XmlUrlResolver を使用して、入力ドキュメントと、スタイル シート内にある XSLT document() 関数のインスタンスを解決します。 これらのリソースのいずれかが認証を必要とするネットワーク リソース上にある場合は、 を引数の 1 つとして受け取り XmlResolver 、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

XmlReader入力ドキュメントを読み込むには、既定の設定を持つ が使用されます。 DTD 処理は、 で XmlReader無効になっています。 DTD 処理が必要な場合は、この機能を有効にして を XmlReader 作成し、 メソッドに Transform 渡します。

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, results As XmlWriter)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。 Microsoft .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

次の例では、XSLT 変換を実行し、オブジェクトに XmlWriter 出力します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), writer)
writer.Close()

注釈

XSLT document() 関数が有効になっている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

このメソッドは、 要素を xsl:strip-space サポートしていません。 コンパイル済みのスタイル シートに 要素が xsl:strip-space 含まれている場合は、 を Transform 入力引数として受け取る XmlReader オーバーロードを使用する必要があります。

IXPathNavigable インターフェイスは、XmlNode および XPathDocument クラスに実装されています。 これらのクラスは XML データのメモリ内のキャッシュを表します。

  • XmlNode クラスは W3C ドキュメント オブジェクト モデル (DOM) を基礎とし、編集機能も含んでいます。

  • XPathDocument クラスは、XPath データ モデルに基づいた読み取り専用のデータ ストアです。 XPathDocument は、XSLT 処理に推奨されるクラスです。 これは、XmlNode クラスと比較して、より高速なパフォーマンスを提供します。

変換はドキュメント全体に対して行われます。 つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。 ノード フラグメントを変換するには、ノード フラグメントだけを含むオブジェクトを作成し、そのオブジェクトを Transform メソッドに渡します。 詳細については、ノード フラグメントを変換する」を参照してください。

こちらもご覧ください

適用対象

Transform(XmlReader, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, results As XmlWriter)

パラメーター

input
XmlReader

入力ドキュメントが格納されている XmlReader

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

次の例では、books.xml ファイルの最初のブックを変換します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

XmlReader reader = XmlReader.Create("books.xml");
reader.MoveToContent();

// Execute the transformation.
xslt.Transform(reader, writer);
writer.Close();
reader.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.MoveToContent()
        
' Execute the transformation.
xslt.Transform(reader, writer)
writer.Close()
reader.Close()

注釈

XSLT document() 関数が有効になっている場合、ユーザー資格情報のない を XmlUrlResolver 使用して解決されます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、引数の 1 つとして を XmlResolver 受け取り、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

こちらもご覧ください

適用対象

Transform(String, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

URI で指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。

public:
 void Transform(System::String ^ inputUri, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, results As XmlWriter)

パラメーター

inputUri
String

入力ドキュメントの URI。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

inputUri または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

inputUri の値に、存在しないファイル名またはディレクトリが含まれています。

inputUri 値を解決できません。

- または -

要求の処理中にエラーが発生しました。

inputUri は有効な URI ではありません。

入力ドキュメントの読み込み中に解析エラーが発生しました。

次の例では、XSLT 変換を実行し、オブジェクトに XmlWriter 出力します。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform("books.xml", writer)
writer.Close()

注釈

このメソッドは、ユーザー資格情報のない既定値 XmlUrlResolver を使用して、入力ドキュメントと、スタイル シート内にある XSLT document() 関数のインスタンスを解決します。 これらのリソースのいずれかが認証を必要とするネットワーク リソース上にある場合は、 を引数の 1 つとして受け取り XmlResolver 、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

XmlReader入力ドキュメントを読み込むには、既定の設定を持つ が使用されます。 DTD 処理は、 で XmlReader無効になっています。 DTD 処理が必要な場合は、この機能を有効にして を XmlReader 作成し、 メソッドに Transform 渡します。

このメソッドは、 要素を xsl:strip-space サポートしていません。 コンパイル済みのスタイル シートに 要素が xsl:strip-space 含まれている場合は、 を Transform 入力引数として受け取る XmlReader オーバーロードを使用する必要があります。

こちらもご覧ください

適用対象

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

XmlReader オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 には XsltArgumentList 追加の実行時引数が用意されており、XmlResolver によって XSLT document() 関数が解決されます。

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver? documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

パラメーター

input
XmlReader

入力ドキュメントが格納されている XmlReader

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返される オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

documentResolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolver。 これが null の場合、document() 関数は解決されません。

例外

input または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

次の例では、 を XmlSecureResolver 使用して XSLT document() 関数を解決します。

// Create a resolver and specify the necessary credentials.
XmlSecureResolver resolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
System.Net.NetworkCredential myCred;
myCred  = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;

XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver);

// Transform the file.
using (XmlReader reader = XmlReader.Create("books.xml"))
{
   using (XmlWriter writer = XmlWriter.Create("output.xml"))
   {
      xslt.Transform(reader, null, writer, resolver);
   }
}
' Create a resolver and specify the necessary credentials.
Dim resolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
        
Dim settings As New XsltSettings()
settings.EnableDocumentFunction = True
        
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver)
        
' Transform the file.
        Using reader As XmlReader = XmlReader.Create("books.xml")

            Using writer As XmlWriter = XmlWriter.Create("output.xml")
                xslt.Transform(reader, Nothing, writer, resolver)
            End Using

        End Using

こちらもご覧ください

適用対象

Transform(String, XsltArgumentList, XmlWriter)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

URI で指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には、追加の実行時引数を指定します。

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As XmlWriter)

パラメーター

inputUri
String

入力ドキュメントの URI。

arguments
XsltArgumentList

変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList。 この値は、null の場合もあります。

results
XmlWriter

出力先の XmlWriter

スタイル シートに 要素が含まれているxsl:output場合は、 プロパティから返された オブジェクトをXmlWriterSettings使用して を作成XmlWriterするOutputSettings必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

例外

inputUri または results の値が null です。

XSLT 変換の実行中にエラーが発生しました。

inputtUri の値に、存在しないファイル名またはディレクトリが含まれています。

inputUri 値を解決できません。

- または -

要求の処理中にエラーが発生しました。

inputUri は有効な URI ではありません。

入力ドキュメントの読み込み中に解析エラーが発生しました。

次の例では、 オブジェクトを XsltArgumentList 使用して、現在の日付と時刻を表すパラメーターを作成します。

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;

public class Sample
{

    public static void Main()
    {

        // Create the XslCompiledTransform and load the stylesheet.
        XslCompiledTransform xslt = new XslCompiledTransform();
        xslt.Load("order.xsl");

        // Create the XsltArgumentList.
        XsltArgumentList xslArg = new XsltArgumentList();

        // Create a parameter which represents the current date and time.
        DateTime d = DateTime.Now;
        xslArg.AddParam("date", "", d.ToString());

        // Transform the file.
        using (XmlWriter w = XmlWriter.Create("output.xml"))
        {
            xslt.Transform("order.xml", xslArg, w);
        }
    }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl

Public Class Sample

    Public Shared Sub Main()

        ' Create the XslCompiledTransform and load the stylesheet.
        Dim xslt As New XslCompiledTransform()
        xslt.Load("order.xsl")

        ' Create the XsltArgumentList.
        Dim xslArg As New XsltArgumentList()

        ' Create a parameter which represents the current date and time.
        Dim d As DateTime = DateTime.Now
        xslArg.AddParam("date", "", d.ToString())

        Using w As XmlWriter = XmlWriter.Create("output.xml")
            ' Transform the file.
            xslt.Transform("order.xml", xslArg, w)
        End Using

    End Sub
End Class

この例では、次の 2 つのデータ ファイルを入力として使用します。

order.xml

<!--Represents a customer order-->
<order>
  <book ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <cd ISBN='2-3631-4'>
    <title>Americana</title>
    <price>16.95</price>
  </cd>
</order>

order.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="date"/>
  <xsl:template match="/">
    <order>
      <date><xsl:value-of select="$date"/></date>
      <total><xsl:value-of select="sum(//price)"/></total>
    </order>
  </xsl:template>
</xsl:stylesheet>

注釈

このメソッドは、ユーザー資格情報のない既定値 XmlUrlResolver を使用して、入力ドキュメントと、スタイル シートにある XSLT document() 関数のインスタンスを解決します。 これらのリソースのいずれかが認証を必要とするネットワーク リソース上にある場合は、 を引数の 1 つとして受け取り XmlResolver 、必要な資格情報で を XmlResolver 指定するオーバーロードを使用します。

入力ドキュメントを XmlReader 読み込むには、既定の設定を持つ が使用されます。 DTD 処理は、 XmlReaderで無効になっています。 DTD 処理が必要な場合は、この機能を有効にして を XmlReader 作成し、 メソッドに Transform 渡します。

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs
Source:
XslCompiledTransform.cs

IXPathNavigable オブジェクトで指定された入力ドキュメントを使用して変換を実行し、結果を XmlWriter に出力します。 XsltArgumentList には追加の実行時引数を指定し、XmlResolver で XSLT の document() 関数を解決します。

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver? documentResolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

パラメーター

input
IXPathNavigable

IXPathNavigable オブジェクトで指定された変換対象のドキュメント。

arguments
XsltArgumentList

引数リスト (XsltArgumentList)。

results
XmlWriter

出力先の XmlWriter

スタイル シートに xsl:output 要素が含まれている場合は、XmlWriter プロパティから返される XmlWriterSettings オブジェクトを使用して OutputSettings を作成する必要があります。 これにより、XmlWriter に正しい出力設定が設定されます。

documentResolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolver。 これが null の場合、document() 関数は解決されません。

適用対象