Extensible Stylesheet Language Transformations (XSLT) has evolved from the early Extensible Stylesheet Language (XSL) standard. XSL specifies a language definition for XML data presentation and data transformations. Data presentation means displaying data in some format and/or medium. Presentation is about style. Data transformation means parsing an input XML document into a tree of nodes, and then converting the source tree into a result tree. Transformation is about data exchange.
Because these functionalities serve two distinct purposes, XSLT was proposed and later accepted as a separate standard for XML data transformation only. XSL is now generally referred to as XSL Formatting Objects (XSL-FO), to distinguish it from XSLT. The future of XSL-FO as a standard is uncertain, because much of its functionality overlaps with that provided by cascading style sheets (CSS) and the HTML tag set. If cross-vendor compatibility is important, you might want to avoid XSL-FO until it becomes a standard fully accepted by the Worldwide Web Consortium.
Note MSXML versions 4.0 and later fully implement and support XSL Transformations (XSLT) Version 1.0 (W3C Recommendation 16 November 1999). If your XML application requires a later version of XSLT, Microsoft strongly recommends moving to the newer System.Xml framework classes, because all future XML development efforts will be focused there.
This section contains the following topics: