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 XML—all 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 World Wide Web Consortium (W3C) currently has a recommendation for making the next generation of HTML an XML application. W3C XHTML™ 1.0: The Extensible HyperText Markup Language, described in the World Wide Web Consortium Web site 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 the following set of XML elements:

XSLT Elements

Element Description
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 Specifies an XSLT style sheet to include.
xsl:include Specifies another XSLT style sheet to include.
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 name space 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 or xsl:template. 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 The document element of a style sheet, containing all other style sheet 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

XSLT Reference | XML Stylesheet Language Transformations (XSLT)

 Last updated on Saturday, April 10, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.