XslTransform.Transform Method (XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)
Assembly: System.Xml (in System.Xml.dll)
public void Transform( XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver )
An XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.
The XslTransform class is obsolete in the .NET Framework version 2.0. The XslCompiledTransform class is the new XSLT processor. For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.
XslTransform supports the XSLT 1.0 syntax. The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.
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. After the transformation is performed, the XPathNavigator remains in its original state. This means that the node, that is current before the transformation process, remains the current node after the method has been called.
The following example loads and edits an XML document before performing an XSLT transform.
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);
Available since 1.1