MvpXslTransform class extends capabilities of the XslCompiledTransform class by adding support for transforming into XmlReader, vast collection of EXSLT extention functions, multiple outputs and transforming of IXPathNavigable along with XmlResolver. Also MvpXslTransform class provides new improved XSL transformation API by introducing concepts of IXmlTransform interface, XmlInput and XmlOutput.

Namespace: Mvp.Xml.Common.Xsl
Assembly: Mvp.Xml (in Mvp.Xml.dll)

Syntax

Visual Basic (Declaration)
Public Class MvpXslTransform
    Implements IXmlTransform
C#
public class MvpXslTransform : IXmlTransform
C++
ref class MvpXslTransform : IXmlTransform
J#
public class MvpXslTransform implements IXmlTransform
JScript
public class MvpXslTransform extends IXmlTransform

Remarks

MvpXslTransform class is thread-safe for Transorm() methods. I.e. once MvpXslTransform object is loaded, you can safely call its Transform() methods in multiple threads simultaneously.

MvpXslTransform supports EXSLT extension functions from the following namespaces:
* http://exslt.org/common
* http://exslt.org/dates-and-times
* http://exslt.org/math
* http://exslt.org/random
* http://exslt.org/regular-expressions
* http://exslt.org/sets
* http://exslt.org/strings
* http://gotdotnet.com/exslt/dates-and-times
* http://gotdotnet.com/exslt/math
* http://gotdotnet.com/exslt/regular-expressions
* http://gotdotnet.com/exslt/sets
* http://gotdotnet.com/exslt/strings
* http://gotdotnet.com/exslt/dynamic

Multioutput (<exsl:document> element) is turned off by default and can be turned on using MultiOutput property. Note, that multioutput is not supported when transfomation is done to XmlWriter or XmlReader.

MvpXslTransform uses XSLT extension objects and reflection and so using it requires FullTrust security level.

Author: Sergey Dubinets, Microsoft XML Team.

Contributors: Oleg Tkachenko, http://www.xmllab.net.

Inheritance Hierarchy

System.Object
   Mvp.Xml.Common.Xsl.MvpXslTransform

Thread Safety

Public static (Shared in Visual Basic)staticShared members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

See Also