XslTransform.Transform メソッド

定義

読み込まれた XSLT スタイル シートを使用して、XML データを変換します。Transforms the XML data using the loaded XSLT style sheet.

オーバーロード

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlReader.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a TextWriter.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a Stream.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
互換性のために残されています。

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlWriter.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
互換性のために残されています。

指定した args を使用して XPathNavigator の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a TextWriter.

Transform(String, String, XmlResolver)

XML データを入力ファイルに変換し、その結果を出力ファイルに出力します。Transforms the XML data in the input file and outputs the result to an output file.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
互換性のために残されています。

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlReader.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
互換性のために残されています。

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream)
互換性のために残されています。

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlWriter.

Transform(XPathNavigator, XsltArgumentList)
互換性のために残されています。

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlReader.

Transform(IXPathNavigable, XsltArgumentList)
互換性のために残されています。

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlReader.

Transform(String, String)
互換性のために残されています。

XML データを入力ファイルに変換し、その結果を出力ファイルに出力します。Transforms the XML data in the input file and outputs the result to an output file.

Transform(XPathNavigator, XsltArgumentList, Stream)
互換性のために残されています。

指定した args を使用して XPathNavigator の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a Stream.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(XPathNavigator, XsltArgumentList, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(XPathNavigator, XsltArgumentList, XmlResolver) method completes.

戻り値

XmlReader

変換結果を格納している XmlReaderAn XmlReader containing the results of the transformation.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation has been performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

XmlReaderは読み取り専用の出力を提供するため、 xsl:output 要素は無視されます。Because XmlReader provides read-only output, the xsl:output element is ignored. 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

このメソッドを使用すると、ソースドキュメントの非同期変換を実行できます。This method enables you to do an asynchronous transformation of the source document.

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
TextWriter

出力先の TextWriterThe TextWriter to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation is performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

要素の encoding 属性 xsl:output は、への出力時にはサポートされません TextWriterThe encoding attribute on an xsl:output element is not supported when outputting to a TextWriter. サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
Stream

出力先のストリーム。The stream to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

次の例では、に顧客テーブルを読み込み、 XmlDataDocument XSLT 変換を実行して、顧客データを HTML テーブルにプルします。The following example loads a customer table into an XmlDataDocument and performs an XSLT transformation to pull the customer data into an HTML table. この例では、Microsoft SQL Server 2000 Northwind データベースを使用します。The example uses the Microsoft SQL Server 2000 Northwind database.

using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

public class Sample
{
  public static void Main()
  {

     // Create a DataSet and load it with customer data.
     DataSet dsNorthwind = new DataSet();
     String sConnect;
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
     SqlConnection nwconnect = new SqlConnection(sConnect);
     String sCommand = "Select * from Customers where Region='WA'";
     SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);
     myDataAdapter.Fill(dsNorthwind,"Customers");

     // Load the DataSet into an XmlDataDocument.
     XmlDataDocument doc = new XmlDataDocument(dsNorthwind);

     // Create the XslTransform object and load the stylesheet.
     XslTransform xsl = new XslTransform();
     xsl.Load("customers.xsl");

     // Create an XPathNavigator to use in the transform.
     XPathNavigator nav = doc.CreateNavigator();

     // Create a FileStream object.
     FileStream fs = new FileStream("cust.html", FileMode.Create);

     // Transform the data.
     xsl.Transform(nav, null, fs, null);
  }
}
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl

public class Sample

  public shared sub Main()

     ' Create a DataSet and load it with customer data.
     Dim dsNorthwind as DataSet = new DataSet()        
     Dim sConnect as String           
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"     
     Dim nwconnect as SqlConnection
     nwconnect = new SqlConnection(sConnect)
     Dim sCommand as String = "Select * from Customers where Region='WA'"
     Dim myDataAdapter as SqlDataAdapter
     myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
     myDataAdapter.Fill(dsNorthwind,"Customers")

     ' Load the DataSet into an XmlDataDocument.
     Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)   

     ' Create the XslTransform object and load the stylesheet.
     Dim xsl as XslTransform = new XslTransform()     
     xsl.Load("customers.xsl")

     ' Create an XPathNavigator to use in the transform.
     Dim nav as XPathNavigator = doc.CreateNavigator()

     ' Create a FileStream object.
     Dim fs as FileStream = new FileStream("cust.html", FileMode.Create)
 
     ' Transform the data.
     xsl.Transform(nav, nothing, fs, nothing)
    
  end sub
end class

この例は、customers.xsl ファイルを入力として使用します。The example uses the customers.xsl file as input.

<!-- Stylesheet to sort customers by city-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="NewDataSet">
    <HTML>
      <BODY>
        <TABLE BORDER="2">
          <TR>
            <TD>Company Name</TD>
            <TD>Contact Name</TD>
            <TD>City</TD>
          </TR>
         <xsl:apply-templates select="Customers">
            <xsl:sort select="City"/>
         </xsl:apply-templates>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="Customers">
    <TR>
      <TD><xsl:value-of select="CompanyName"/></TD>
      <TD><xsl:value-of select="ContactName"/></TD>
      <TD><xsl:value-of select="City"/></TD>
    </TR>
  </xsl:template>

</xsl:stylesheet>

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation has been performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlWriter.

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

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
XmlWriter

出力先の XmlWriterThe XmlWriter to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

次の例では、XML ドキュメントを HTML ドキュメントに変換します。The following example transforms an XML document into an HTML document. テーブル内の各書籍の ISBN、タイトル、価格が表示されます。It displays the ISBN, title, and price for each book in a table.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::XPath;

int main()
{
   String^ filename = "books.xml";
   String^ stylesheet = "output.xsl";

   //Load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( stylesheet );

   //Load the file to transform.
   XPathDocument^ doc = gcnew XPathDocument( filename );

   //Create an XmlTextWriter which outputs to the console.
   XmlTextWriter^ writer = gcnew XmlTextWriter( Console::Out );

   //Transform the file and send the output to the console.
   xslt->Transform(doc,nullptr,writer,nullptr);
   writer->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample
{
  private const String filename = "books.xml";
  private const String stylesheet = "output.xsl";

  public static void Main()
  {
    //Load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(stylesheet);

    //Load the file to transform.
    XPathDocument doc = new XPathDocument(filename);

    //Create an XmlTextWriter which outputs to the console.
    XmlTextWriter writer = new XmlTextWriter(Console.Out);

    //Transform the file and send the output to the console.
    xslt.Transform(doc, null, writer, null);
    writer.Close();
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

Public Class Sample
    Private Shared filename1 As String = "books.xml"
    Private Shared stylesheet1 As String = "output.xsl"
    
    
    Public Shared Sub Main()
        'Load the stylesheet.
        Dim xslt As New XslTransform()
        xslt.Load(stylesheet1)
        
        'Load the file to transform.
        Dim doc As New XPathDocument(filename1)
        
        'Create an XmlTextWriter which outputs to the console.
        Dim writer As New XmlTextWriter(Console.Out)
        
        'Transform the file and send the output to the console.
        xslt.Transform(doc, Nothing, writer, Nothing)
        writer.Close()
    End Sub
End Class

このサンプルは、次の 2 つの入力ファイルを使用します。The sample uses the following two input files.

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>

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. xsl:output要素は、への出力時にはサポートされません XmlWriter ( xsl:output は無視されます)。The xsl:output element is not supported when outputting to an XmlWriter (xsl:output is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a TextWriter.

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

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
TextWriter

出力先の TextWriterThe TextWriter to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

次の例では、XML ファイルを変換し、HTML 文字列を出力します。The following example transforms an XML file and outputs an HTML string. StringReaderおよびクラスは、 StringWriter 文字列の読み取りと書き込みに使用されます。The StringReader and StringWriter classes are used to read and write the strings.

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

public class Sample {

  public static void Main() {

    // Create a string containing the XSLT stylesheet.
    String xsltString =
    @"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
        <xsl:template match='bookstore'>
           <HTML>
              <HEAD>
                 <TITLE>Book Titles</TITLE>
             </HEAD>
             <BODY>
                <xsl:apply-templates select='book'/>
             </BODY>
          </HTML>
        </xsl:template>
        <xsl:template match='book'>
          <P><xsl:value-of select='title'/></P>
        </xsl:template>
        </xsl:stylesheet>";

    // Create the XslTransform object.
    XslTransform xslt = new XslTransform();

    // Load the stylesheet.
    StringReader rdr = new StringReader(xsltString);
    xslt.Load(new XPathDocument(rdr), null, null);

    // Transform the file and output an HTML string.
    string HTMLoutput;
    StringWriter writer = new StringWriter();
    xslt.Transform(new XPathDocument("books.xml"), null, writer, null);
    HTMLoutput = writer.ToString();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample 

  public shared sub Main() 
   
    ' Create a string containing the XSLT stylesheet.
    Dim xsltString as String 
    xsltString = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" & _
    "   <xsl:template match='bookstore'>" & _
    "      <HTML>" & _
    "         <HEAD>" & _
    "            <TITLE>Book Titles</TITLE>" & _
    "       </HEAD>" & _
    "        <BODY>" & _
    "           <xsl:apply-templates select='book'/>" & _
    "        </BODY>" & _
    "     </HTML>" & _
    "   </xsl:template>" & _
    "  <xsl:template match='book'>" & _
    "     <P><xsl:value-of select='title'/></P>" & _
    "   </xsl:template>" & _
    "   </xsl:stylesheet>"

    ' Create the XslTransform object.
    Dim xslt as XslTransform = new XslTransform()

    ' Load the stylesheet.
    Dim rdr as StringReader = new StringReader(xsltString)
    xslt.Load(new XPathDocument(rdr), nothing, nothing)

    ' Transform the file and output an HTML string.
    Dim HTMLoutput as string
    Dim writer as StringWriter = new StringWriter()
    xslt.Transform(new XPathDocument("books.xml"), nothing, writer, nothing)
    HTMLoutput = writer.ToString()

  end sub
end class

この例は、books.xml ファイルを入力として使用します。The example uses the books.xml file as input.

<?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>

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet.

要素の encoding 属性 xsl:output は、への出力時にはサポートされません TextWriterThe encoding attribute on an xsl:output element is not supported when outputting to a TextWriter. サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a Stream.

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

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
Stream

出力先のストリーム。The stream to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform がキャッシュされていません。The XmlResolver is not cached after the Transform method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

次の例では、ASP.NET ページ内で変換を実行します。The following example performs a transformation within an ASP.NET page.

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="C#" runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         // Load the XML document to transform.
         XPathDocument doc = new XPathDocument(Server.MapPath("books.xml"));

         // Load the stylesheet and perform the transform.
         XslTransform xslt = new XslTransform();
         xslt.Load(Server.MapPath("output.xsl"));
         xslt.Transform(doc, null, Response.OutputStream, null);
        
      }
   </script>
</html>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="VB" runat="server">
      sub Page_Load(sender as Object, e as EventArgs) 

         ' Load the XML document to transform.
         dim doc as XPathDocument = new XPathDocument(Server.MapPath("books.xml"))

         ' Load the stylesheet and perform the transform.
         dim xslt as XslTransform = new XslTransform()
         xslt.Load(Server.MapPath("output.xsl"))
         xslt.Transform(doc, nothing, Response.OutputStream, nothing)
        
      end sub
   </script>
</html>

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, XmlWriter)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
XmlWriter

出力先の XmlWriterThe XmlWriter to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation is performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, that is current before the transformation process, remains the current node after the Transform method has been called.

xsl:output要素は、への出力時にはサポートされません XmlWriter ( xsl:output は無視されます)。The xsl:output element is not supported when outputting to an XmlWriter (xsl:output is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, TextWriter)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して XPathNavigator の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
TextWriter

出力先の TextWriterThe TextWriter to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation is performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

要素の encoding 属性 xsl:output は、への出力時にはサポートされません TextWriterThe encoding attribute on an xsl:output element is not supported when outputting to a TextWriter. サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

こちらもご覧ください

適用対象

Transform(String, String, XmlResolver)

XML データを入力ファイルに変換し、その結果を出力ファイルに出力します。Transforms the XML data in the input file and outputs the result to an output file.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile, System::Xml::XmlResolver ^ resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver? resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver resolver);
member this.Transform : string * string * System.Xml.XmlResolver -> unit
Public Sub Transform (inputfile As String, outputfile As String, resolver As XmlResolver)

パラメーター

inputfile
String

変換するソース ドキュメントの URL。The URL of the source document to be transformed.

outputfile
String

出力ファイルの URL。The URL of the output file.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform がキャッシュされていません。The XmlResolver is not cached after the Transform method completes.

次の例では、XSLT 変換を実行し、ファイルに出力します。The following example performs an XSLT transformation and outputs to a file. XmlUrlResolver既定の資格情報を持つは、外部リソースを解決するために使用されます。An XmlUrlResolver with default credentials is used resolve an external resources. 詳細については、DefaultCredentials を参照してください。See DefaultCredentials for details.

// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "http://myServer/data/authors.xsl", resolver );

// Transform the file.
xslt->Transform( "books.xml", "books.html", resolver );

// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);

// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);


' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver)

' Transform the file. 
xslt.Transform("books.xml", "titles.xml", resolver)

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
XmlWriter

出力先の XmlWriterThe XmlWriter to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. xsl:output要素は、への出力時にはサポートされません XmlWriter ( xsl:output は無視されます)。The xsl:output element is not supported when outputting to an XmlWriter (xsl:output is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(IXPathNavigable, XsltArgumentList, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(IXPathNavigable, XsltArgumentList, XmlResolver) method completes.

戻り値

XmlReader

変換結果を格納している XmlReaderAn XmlReader containing the results of the transformation.

次の例では、XML ドキュメントを変換し、結果をに出力し XmlReader ます。The following example transforms an XML document and outputs the results to an XmlReader. XmlUrlResolver任意の XSLT 関数を処理するために、必要な資格情報を持つが使用され document() ます。An XmlUrlResolver with the necessary credentials is used to process any XSLT document() functions.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "titles.xsl" );

// Create a resolver and specify the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ myCred;
myCred = gcnew System::Net::NetworkCredential( UserName, SecurelyStoredPassword, Domain );
resolver->Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
XmlReader^ reader = xslt->Transform( doc, nullptr, resolver );

// Load the reader into a new document for more processing.
XmlDocument^ xmldoc = gcnew XmlDocument;
xmldoc->Load( reader );
// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("titles.xsl");

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

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument doc = new XPathDocument("books.xml");
XmlReader reader = xslt.Transform(doc, null, resolver);

// Load the reader into a new document for more processing.
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("titles.xsl")

' Create a resolver and specify the necessary credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
Dim myCred as System.Net.NetworkCredential 
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain)
resolver.Credentials = myCred

' Transform thefile using the resolver. The resolver is used
' to process the XSLT document() function.
Dim doc as XPathDocument = new XPathDocument("books.xml")
Dim reader as XmlReader = xslt.Transform(doc, nothing, resolver)

' Load the reader into a new document for more processing.
Dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(reader)

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. xsl:output要素は、への出力時にはサポートされません XmlReader ( xsl:output 要素は無視されます)。The xsl:output element is not supported when outputting to an XmlReader (the xsl:output element is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

このメソッドを使用すると、ソースドキュメントの非同期変換を実行できます。This method enables you to do an asynchronous transformation of the source document.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment, and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を TextWriter に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a TextWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
TextWriter

出力先の TextWriterThe TextWriter to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet.

要素の encoding 属性 xsl:output は、への出力時にはサポートされません TextWriterThe encoding attribute on an xsl:output element is not supported when outputting to a TextWriter. サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment, and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList, Stream)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to a Stream.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream)

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
Stream

出力先のストリーム。The stream to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlWriter に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
XmlWriter

出力先の XmlWriterThe XmlWriter to which you want to output.

resolver
XmlResolver

XSLT の document() 関数を解決するために使用する XmlResolverThe XmlResolver used to resolve the XSLT document() function. これが null の場合、document() 関数は解決されません。If this is null, the document() function is not resolved.

XmlResolver メソッドが完了した後、Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) method completes.

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

次の例では、XSLT 変換を実行する前に、XML ドキュメントを読み込んで編集します。The following example loads and edits an XML document before performing an XSLT transform.

XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "books.xml" );

// Modify the XML file.
XmlElement^ root = doc->DocumentElement;
root->FirstChild->LastChild->InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator^ nav = root->CreateNavigator();

// Transform the file.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( "output.xsl" );
XmlTextWriter^ writer = gcnew XmlTextWriter( "books.html", nullptr );
xslt->Transform( nav, nullptr, writer, nullptr);
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");

// Modify the XML file.
XmlElement root = doc.DocumentElement;
root.FirstChild.LastChild.InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator nav = root.CreateNavigator();

// Transform the file.
XslTransform xslt = new XslTransform();
xslt.Load("output.xsl");
XmlTextWriter writer = new XmlTextWriter("books.html", null);
xslt.Transform(nav, null, writer, null);
Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")

' Modify the XML file.
Dim root as XmlElement = doc.DocumentElement
root.FirstChild.LastChild.InnerText = "12.95"

' Create an XPathNavigator to use for the transform.
Dim nav as XPathNavigator = root.CreateNavigator()

' Transform the file.
Dim xslt as XslTransform = new XslTransform()
xslt.Load("output.xsl")
Dim writer as XmlTextWriter = new XmlTextWriter("books.html", nothing)
xslt.Transform(nav,nothing, writer, nothing)

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation is performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, that is current before the transformation process, remains the current node after the Transform method has been called.

xsl:output要素は、への出力時にはサポートされません XmlWriter ( xsl:output は無視されます)。The xsl:output element is not supported when outputting to an XmlWriter (xsl:output is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して XPathNavigator の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to an XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList) As XmlReader

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

戻り値

XmlReader

変換結果を格納している XmlReaderAn XmlReader containing the results of the transformation.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation has been performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

XmlReaderは読み取り専用の出力を提供するため、 xsl:output 要素は無視されます。Because XmlReader provides read-only output, the xsl:output element is ignored. 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

このメソッドを使用すると、ソースドキュメントの非同期変換を実行できます。This method enables you to do an asynchronous transformation of the source document.

注意

このメソッドは、互換性のために残されています。This method is obsolete. プロパティの設定によって、 XmlResolver XSLT ドキュメント () 関数がどのように解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

こちらもご覧ください

適用対象

Transform(IXPathNavigable, XsltArgumentList)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlReader に出力します。Transforms the XML data in the IXPathNavigable using the specified args and outputs the result to an XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList) As XmlReader

パラメーター

input
IXPathNavigable

IXPathNavigable インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

戻り値

XmlReader

変換結果を格納している XmlReaderAn XmlReader containing the results of the transformation.

属性

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. xsl:output要素は、への出力時にはサポートされません XmlReader ( xsl:output 要素は無視されます)。The xsl:output element is not supported when outputting to an XmlReader (the xsl:output element is ignored). 詳細について は、「XslTransform からの出力 」を参照してください。See Outputs from an XslTransform for more information.

このメソッドを使用すると、ソースドキュメントの非同期変換を実行できます。This method enables you to do an asynchronous transformation of the source document.

変換はドキュメント全体に対して行われます。Transformations apply to the document as a whole. つまり、ドキュメント ルート ノード以外のノードを指定しても、変換処理では、読み込んだドキュメントのすべてのノードがアクセスされます。In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. ノードフラグメントを変換するには、 XmlDocument ノードフラグメントだけを含むを作成し、それをメソッドに渡す必要があり XmlDocument Transform ます。To transform a node fragment, you must create an XmlDocument containing just the node fragment and pass that XmlDocument to the Transform method.

次の例では、ノードフラグメントに対して変換を実行します。The following example performs a transformation on a node fragment.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

この例では、ファイルとファイルを入力とし library.xml て使用し、次の情報を print_root.xsl コンソールに出力します。The example uses the library.xml and print_root.xsl files as input and outputs the following to the console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

こちらもご覧ください

適用対象

Transform(String, String)

注意事項

You should pass XmlResolver to Transform() method

XML データを入力ファイルに変換し、その結果を出力ファイルに出力します。Transforms the XML data in the input file and outputs the result to an output file.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile);
public void Transform (string inputfile, string outputfile);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (string inputfile, string outputfile);
member this.Transform : string * string -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : string * string -> unit
Public Sub Transform (inputfile As String, outputfile As String)

パラメーター

inputfile
String

変換するソース ドキュメントの URL。The URL of the source document to be transformed.

outputfile
String

出力ファイルの URL。The URL of the output file.

属性

次の例では、 books.xml スタイルシートを使用してファイル output.xsl を変換し、結果をファイルに出力し books.html ます。The following example transforms the books.xml file using the output.xsl style sheet and outputs the results to the books.html file.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "output.xsl" );

// Transform the file.
xslt->Transform("books.xml","books.html");
//Create the XslTransform object.
XslTransform xslt = new XslTransform();

//Load the stylesheet.
xslt.Load("output.xsl");

//Transform the file.
xslt.Transform("books.xml", "books.html");
'Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

'Load the stylesheet.
xslt.Load("output.xsl")

'Transform the file.
xslt.Transform("books.xml", "books.html")

このサンプルでは、次の2つの入力ファイルを使用します。The sample uses the following two input files:

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>

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

注意

このメソッドは、バージョン1.1 の .NET Framework では廃止されています。This method is obsolete in version 1.1 of the .NET Framework. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

こちらもご覧ください

適用対象

Transform(XPathNavigator, XsltArgumentList, Stream)

注意事項

You should pass XmlResolver to Transform() method

指定した args を使用して XPathNavigator の XML データを変換し、その結果を Stream に出力します。Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream)

パラメーター

input
XPathNavigator

変換されるデータを含む XPathNavigatorAn XPathNavigator containing the data to be transformed.

args
XsltArgumentList

変換に対する入力として使用される名前空間修飾引数を含む XsltArgumentListAn XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

output
Stream

出力先のストリーム。The stream to which you want to output.

属性

例外

XSLT 変換の処理中にエラーが発生しました。There was an error processing the XSLT transformation.

メモ : これは、旧バージョンからの動作の変更です。Note: This is a change in behavior from earlier versions. Microsoft .NET Framework Version 1.1 以前のバージョンを使用している場合は、XsltException がスローされます。An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

は、 args xsl:param スタイルシートで定義されている要素と一致します。The args are matched with the xsl:param elements defined in the style sheet. 変換の選択は、ドキュメント全体に適用されます。The transformation selections apply to the document as a whole. つまり、現在のノードがドキュメントルートノード以外のノードツリーで設定されている場合、この操作によって、読み込まれたドキュメント内のすべてのノードに変換処理がアクセスするのを防ぐことはできません。In other words, if the current node is set on a node tree other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 変換が実行されると、は XPathNavigator 元の状態のままになります。After the transformation has been performed, the XPathNavigator remains in its original state. これは、メソッドが呼び出された後に、変換プロセスの前にあるノードが現在のノードのままであることを意味し Transform ます。This means that the node, which is current before the transformation process, remains the current node after the Transform method has been called.

サポートされている属性の詳細については 、「XslTransform からの出力 」を参照してください xsl:outputSee Outputs from an XslTransform for specifics on which xsl:output attributes are supported.

注意

このメソッドは使われていません。This method is now obsolete. プロパティの設定によって、 XmlResolver XSLT 関数がどのように document() 解決されるかが決まります。The setting of the XmlResolver property determines how the XSLT document() function is resolved. Transform XmlResolver オブジェクトを引数の1つとして受け取るメソッドを使用することをお勧めします。The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

こちらもご覧ください

適用対象