次の方法で共有


XslTransform.Transform メソッド (IXPathNavigable, XsltArgumentList, XmlResolver)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

指定した args を使用して IXPathNavigable の XML データを変換し、その結果を XmlReader に出力します。

Overloads Public Function Transform( _
   ByVal input As IXPathNavigable, _   ByVal args As XsltArgumentList, _   ByVal resolver As XmlResolver _) As XmlReader
[C#]
public XmlReader Transform(IXPathNavigableinput,XsltArgumentListargs,XmlResolverresolver);
[C++]
public: XmlReader* Transform(IXPathNavigable* input,XsltArgumentList* args,XmlResolver* resolver);
[JScript]
public function Transform(
   input : IXPathNavigable,args : XsltArgumentList,resolver : XmlResolver) : XmlReader;

パラメータ

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

  • args
    変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList

  • resolver
    XSLT の document() 関数を解決するために使用する XmlResolver 。これが null 参照 (Visual Basic では Nothing) の場合、document() 関数は解決されません。

    Transform メソッドが完了した後、 XmlResolver がキャッシュされていません。

戻り値

変換結果を格納している XmlReader

解説

XslTransform は、XSLT 1.0 構文をサポートしています。XSLT スタイル シートには、名前空間宣言 xmlns:xsl= http://www.w3.org/1999/XSL/Transform を含める必要があります。

args は、スタイル シートに定義されている xsl:param 要素と一致します。 XmlReader に出力するとき、 xsl:output 要素はサポートされません。 xsl:output 要素は無視されます。詳細については、「 XslTransform からの出力 」を参照してください。

このメソッドを使用すると、ソース ドキュメントの非同期変換を行うことができます。

変換はドキュメント全体に適用されます。つまり、ドキュメント ルート ノード以外のノードに渡す場合、これによって、読み込まれたドキュメント内のすべてのノードに変換処理が行われることを防ぐことはできません。ノード フラグメントを変換するには、ノード フラグメントだけを含む XmlDocument を作成し、その XmlDocument を Transform メソッドに渡す必要があります。詳細については、「 XslTransform クラスによる XSLT プロセッサの実装 」を参照してください。

使用例

[Visual Basic, C#, C++] XML ドキュメントを変換し、その結果を XmlReader に出力する例を次に示します。この例では、必要な資格情報を持つ XmlUrlResolver を使用して、XSLT document() 関数を処理しています。

 
' 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)

[C#] 
// 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);

[C++] 
// Create the XslTransform object.
XslTransform* xslt = new XslTransform();

// Load the stylesheet.
xslt->Load(S"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(S"books.xml");
XmlReader * reader = xslt->Transform(doc, 0, resolver);

// Load the reader into a new document for more processing.
XmlDocument* xmldoc = new XmlDocument();
xmldoc -> Load(reader);

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

XslTransform クラス | XslTransform メンバ | System.Xml.Xsl 名前空間 | XslTransform.Transform オーバーロードの一覧 | XslTransform クラスの随意動作の実装 | XslTransform からの出力 | XmlSecureResolver