XslTransform.Transform メソッド (IXPathNavigable, XsltArgumentList, Stream, XmlResolver)
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
指定した args を使用して IXPathNavigable の XML データを変換し、その結果を Stream に出力します。
Overloads Public Sub Transform( _
ByVal input As IXPathNavigable, _ ByVal args As XsltArgumentList, _ ByVal output As Stream, _ ByVal resolver As XmlResolver _)
[C#]
public void Transform(IXPathNavigableinput,XsltArgumentListargs,Streamoutput,XmlResolverresolver);
[C++]
public: void Transform(IXPathNavigable* input,XsltArgumentList* args,Stream* output,XmlResolver* resolver);
[JScript]
public function Transform(
input : IXPathNavigable,args : XsltArgumentList,output : Stream,resolver : XmlResolver);
パラメータ
input
IXPathNavigable インターフェイスを実装するオブジェクト。.NET Framework では、これは XmlNode (通常は XmlDocument)、または変換されるデータを含む XPathDocument になります。args
変換に対する入力として使用された名前空間限定引数を含む XsltArgumentList 。output
出力先のストリーム。resolver
XSLT の document() 関数を解決するために使用する XmlResolver 。これが null 参照 (Visual Basic では Nothing) の場合、document() 関数は解決されません。Transform メソッドが完了した後、 XmlResolver がキャッシュされていません。
例外
例外の種類 | 条件 |
---|---|
XsltException | XSLT 変換の処理中にエラーが発生しました。 |
解説
XslTransform は、XSLT 1.0 構文をサポートしています。XSLT スタイル シートには、名前空間宣言 xmlns:xsl= http://www.w3.org/1999/XSL/Transform を含める必要があります。
args は、スタイル シートに定義されている xsl:param 要素と一致します。
変換はドキュメント全体に適用されます。つまり、ドキュメント ルート ノード以外のノードに渡す場合、これによって、読み込まれたドキュメント内のすべてのノードに変換処理が行われることを防ぐことはできません。ノード フラグメントを変換するには、ノード フラグメントだけを含む XmlDocument を作成し、その XmlDocument を Transform メソッドに渡す必要があります。詳細については、「 XslTransform クラスによる XSLT プロセッサの実装 」を参照してください。
使用例
[Visual Basic, C#] ASP.NET ページ内で変換を行う例を次に示します。
<%@ 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>
[C#]
<%@ 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>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および 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 | XmlResolver.Credentials