Microsoft’s initial release of the Extensible Stylesheet Language (XSL), circa 1998, included a selection language called XSL Patterns with its style sheet language. Microsoft based both the original style sheet language and XSL Patterns on intermediate drafts of the World Wide Web Consortium (W3C) Extensible Stylesheet Language Transformations (XSLT—http://www.w3.org/tr/xslt) and XML Path Language (XPath—http://www.w3.org/tr/xpath) recommendations that were current at the time.

Although many of XSL’s initial concepts have become part of the XSLT and XPath standards, the W3C didn’t incorporate into the standards all the features that Microsoft chose for its initial implementation (e.g., W3C didn’t incorporate the context() operator). After the W3C released the XSLT and XPath standards, Microsoft implemented full XSLT and XPath support. For the past few years, Microsoft has also recommended that developers use the standard XSLT and XPath to author all new style sheets, rather than the older nonstandard style sheet language and XSL Pattern implementations. However, Microsoft has supported XSL (and, thus, XSL Patterns) for backward compatibility.

Microsoft recently dropped support for XSL with the release of Microsoft XML Core Services (MSXML) 4.0, which includes, for example, the XML parser, XSLT, and the Document Object Model (DOM). To use MSXML 4.0, you now need to upgrade any old XSL style sheets to XSLT.