XslCompiledTransform Class

Definition

Transforms XML data using an XSLT style sheet.

public ref class XslCompiledTransform sealed
public sealed class XslCompiledTransform
type XslCompiledTransform = class
Public NotInheritable Class XslCompiledTransform
Inheritance
XslCompiledTransform

Examples

The following example executes a transform and outputs to a file.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")

The sample uses the following two input files:

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

Remarks

For more information about this API, see Supplemental API remarks for XslCompiledTransform.

Constructors

XslCompiledTransform()

Initializes a new instance of the XslCompiledTransform class.

XslCompiledTransform(Boolean)

Initializes a new instance of the XslCompiledTransform class with the specified debug setting.

Properties

OutputSettings

Gets an XmlWriterSettings object that contains the output information derived from the xsl:output element of the style sheet.

TemporaryFiles

Gets the TempFileCollection that contains the temporary files generated on disk after a successful call to the Load method.

Methods

CompileToType(XmlReader, XsltSettings, XmlResolver, Boolean, TypeBuilder, String)

Compiles an XSLT style sheet to a specified type.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Load(IXPathNavigable)

Compiles the style sheet contained in the IXPathNavigable object.

Load(IXPathNavigable, XsltSettings, XmlResolver)

Compiles the XSLT style sheet contained in the IXPathNavigable. The XmlResolver resolves any XSLT import or include elements and the XSLT settings determine the permissions for the style sheet.

Load(MethodInfo, Byte[], Type[])

Loads a method from a style sheet compiled using the XSLTC.exe utility.

Load(String)

Loads and compiles the style sheet located at the specified URI.

Load(String, XsltSettings, XmlResolver)

Loads and compiles the XSLT style sheet specified by the URI. The XmlResolver resolves any XSLT import or include elements and the XSLT settings determine the permissions for the style sheet.

Load(Type)

Loads the compiled style sheet that was created using the XSLT Compiler (xsltc.exe).

Load(XmlReader)

Compiles the style sheet contained in the XmlReader.

Load(XmlReader, XsltSettings, XmlResolver)

Compiles the XSLT style sheet contained in the XmlReader. The XmlResolver resolves any XSLT import or include elements and the XSLT settings determine the permissions for the style sheet.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)
Transform(IXPathNavigable, XmlWriter)

Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to a stream. The XsltArgumentList provides additional runtime arguments.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an TextWriter. The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter. The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Executes the transform by using the input document that is specified by the IXPathNavigable object and outputs the results to an XmlWriter. The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

Transform(String, String)

Executes the transform using the input document specified by the URI and outputs the results to a file.

Transform(String, XmlWriter)

Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter.

Transform(String, XsltArgumentList, Stream)

Executes the transform using the input document specified by the URI and outputs the results to stream. The XsltArgumentList provides additional run-time arguments.

Transform(String, XsltArgumentList, TextWriter)

Executes the transform using the input document specified by the URI and outputs the results to a TextWriter.

Transform(String, XsltArgumentList, XmlWriter)

Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter. The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XmlWriter)

Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter.

Transform(XmlReader, XsltArgumentList, Stream)

Executes the transform using the input document specified by the XmlReader object and outputs the results to a stream. The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XsltArgumentList, TextWriter)

Executes the transform using the input document specified by the XmlReader object and outputs the results to a TextWriter. The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

Applies to

Thread Safety

The XslCompiledTransform object is thread safe once it has been loaded. In other words, after the Load method has successfully completed, the Transform method can be called simultaneously from multiple threads.

If the Load method is called again in one thread while the Transform method is being called in another thread, the XslCompiledTransform object finishes executing the Transform call by continuing to use the old state. The new state is used when the Load method successfully completes.

The Load method is not thread safe when called simultaneously from multiple threads.

See also