Transform Method (XPathNavigator, XsltArgumentList, TextWriter)

XslTransform.Transform Method (XPathNavigator, XsltArgumentList, TextWriter)


Transforms the XML data in the XPathNavigator using the specified args and outputs the result to a TextWriter.

Namespace:   System.Xml.Xsl
Assembly:  System.Xml (in System.Xml.dll)

public void Transform(
	XPathNavigator input,
	XsltArgumentList args,
	TextWriter output


Type: System.Xml.XPath.XPathNavigator

An XPathNavigator containing the data to be transformed.

Type: System.Xml.Xsl.XsltArgumentList

An XsltArgumentList containing the namespace-qualified arguments used as input to the transformation.

Type: System.IO.TextWriter

The TextWriter to which you want to output.

Exception Condition

There was an error processing the XSLT transformation.

Note: This is a change in behavior from earlier versions. An XsltException is thrown if you are using Microsoft .NET Framework version 1.1 or earlier.


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=

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, which is current before the transformation process, remains the current node after the Transform method has been called.

The encoding attribute on an xsl:output element is not supported when outputting to a TextWriter. See Outputs from an XslTransform for specifics on which xsl:output attributes are supported.


This method is now obsolete. The setting of the XmlResolver property determines how the XSLT document() function is resolved. The recommended practice is to use the Transform method which takes an XmlResolver object as one of its arguments.

.NET Framework
Available since 1.1
Return to top
© 2015 Microsoft