XSLT Elements
XSL Transformations (XSLT) can be used to manipulate, sort, and filter XML data. Many transformations will target well-formed HTML. Well-formed means that any HTML tag can be used, subject to the stricter syntax rules of XMLall start tags are paired with end tags and are nested correctly. Well-formed HTML can be displayed by the browser, or further manipulated by XML tools. The Worldwide Web Consortium (W3C) currently has a recommendation for making the next generation of HTML an XML application. The W3C XHTML™ 1.0: The Extensible HyperText Markup Language describes the benefits of defining well-formed HTML. XSLT is a valuable tool for generating well-formed HTML or other XML files.
XSLT enables you to define templates for your output, into which data from the XML source is delivered. Each template defines a pattern that identifies elements in the source tree and defines the resulting output subtree to be generated. The XSLT transformation processor merges data from the XML source document with the template. By combining a set of template fragments into a style sheet, XSLT can be used to perform data-driven transforms useful for highly irregular XML data and XML documents.
XSLT templates are defined using a small set of XML elements.
XSLT Elements
| xsl:apply-imports |
Invokes an overridden template rule. |
| xsl:apply-templates |
Directs the XSLT processor to find the appropriate template to apply, based on the type and context of each selected node. |
| xsl:attribute |
Creates an attribute node and attaches it to an output element. |
| xsl:attribute-set |
Defines a named set of attributes. |
| xsl:call-template |
Invokes a template by name. |
| xsl:choose |
Provides multiple conditional testing in conjunction with the <xsl:otherwise> element and <xsl:when> element. |
| xsl:comment |
Generates a comment in the output. |
| xsl:copy |
Copies the current node from the source to the output. |
| xsl:copy-of |
Inserts subtrees and result tree fragments into the result tree. |
| xsl:decimal-format |
Declares a decimal-format, which controls the interpretation of a format pattern used by the format-number function. |
| xsl:element |
Creates an element with the specified name in the output. |
| xsl:fallback |
Calls template content that can provide a reasonable substitute to the behavior of the new element when encountered. |
| xsl:for-each |
Applies a template repeatedly, applying it in turn to each node in a set. |
| xsl:if |
Allows simple conditional template fragments. |
| xsl:import |
Imports another XSLT file. |
| xsl:include |
Includes another XSLT file. |
| xsl:key |
Declares a named key for use with the key () function in XML Path Language (XPath) expressions. |
| xsl:message |
Sends a text message to either the message buffer or a message dialog box. |
| xsl:namespace-alias |
Replaces the prefix associated with a given namespace with another prefix. |
| xsl:number |
Inserts a formatted number into the result tree. |
| xsl:otherwise |
Provides multiple conditional testing in conjunction with the <xsl:choose> element and <xsl:when> element. |
| xsl:output |
Specifies options for use in serializing the result tree. |
| xsl:param |
Declares a named parameter for use within an <xsl:stylesheet> element or an <xsl:template> element. Allows specification of a default value. |
| xsl:preserve-space |
Preserves white space in a document. |
| xsl:processing-instruction |
Generates a processing instruction in the output. |
| msxsl:script * |
Defines global variables and functions for script extensions. |
| xsl:sort |
Specifies sort criteria for node lists selected by <xsl:for-each> or <xsl:apply-templates>. |
| xsl:strip-space |
Strips white space from a document. |
| xsl:stylesheet |
Specifies the document element of an XSLT file, containing all other XSLT elements. |
| xsl:template |
Defines a reusable template for generating the desired output for nodes of a particular type and context. |
| xsl:text |
Generates text in the output. |
| xsl:transform |
Synonym for <xsl:stylesheet>. |
| xsl:value-of |
Inserts the value of the selected node as text. |
| xsl:variable |
Specifies a value bound in an expression. |
| xsl:when |
Provides multiple conditional testing in conjunction with the <xsl:choose> element and <xsl:otherwise> element. |
| xsl:with-param |
Passes a parameter to a template. |
* Microsoft proprietary extensions to support scripting
See Also
Displaying XML Files in Internet Explorer | format-number Function | xsl:apply-templates Element | xsl:choose Element | xsl:for-each Element | xsl:otherwise Element | xsl:stylesheet Element | xsl:template Element | xsl:when Element
Other Resources 
XHTML™ 1.0: The Extensible HyperText Markup Language