xsl:decimal-format

<xsl:decimal-format name = qname decimal-separator = char grouping-separator = char infinity = string minus-sign = char NaN = string percent = char per-mille = char zero-digit = char digit = char pattern-separator = char />

xsl:key

<xsl:key name = qname match = pattern use = expression />

CONDITIONAL PROCESSING ELEMENTS

xsl:choose

<xsl:choose>
<!-- Content: (xsl:when+, xsl:otherwise?) -->
</xsl:choose>

xsl:if

<xsl:if test = boolean-expression>
<!-- Content: template -->
</xsl:if>

xsl:otherwise

<xsl:otherwise>
<!-- Content: template -->
</xsl:otherwise>

xsl:when

<xsl:when test = boolean-expression>
<!-- Content: template -->
</xsl:when>

CREATING RESULT-TREE ELEMENTS

xsl:attribute

<xsl:attribute name = { qname } namespace = { uri-reference }>
<!-- Content: template -->
</xsl:attribute>

xsl:attribute-set

<xsl:attribute-set name = qname use-attribute-sets = qnames>
<!-- Content: xsl:attribute* -->
</xsl:attribute-set>

xsl:comment

<xsl:comment>
<!-- Content: template -->
</xsl:comment>

xsl:copy

<xsl:copy use-attribute-sets = qnames>
<!-- Content: template -->
</xsl:copy>

xsl:element

<xsl:element name = { qname } namespace = { uri-reference } use-attribute-sets = qnames>
<!-- Content: template -->
</xsl:element>

xsl:namespace-alias

<xsl:namespace-alias stylesheet-prefix = prefix | "#default" result-prefix = prefix | "#default" />

xsl:number

<xsl:number level = "single" | "multiple" | "any" count = pattern from = pattern value = number-expression format = { string } lang = { nmtoken } letter-value = { "alphabetic" | "traditional" } grouping-separator = { char } grouping-size = { number } />

xsl:processing-instruction

<xsl:processing-instruction name = { ncname }>
<!-- Content: template -->
</xsl:processing-instruction>

xsl:text

<xsl:text disable-output-escaping = "yes" | "no">
<!-- Content: #PCDATA -->
</xsl:text>

xsl:value-of

<xsl:value-of select = string-expression disable-output-escaping = "yes" | "no" />

DATA MODEL ELEMENTS

xsl:preserve-space

<xsl:preserve-space elements = tokens />

xsl:strip-space

<xsl:strip-space elements = tokens />

FALLBACK ELEMENT

xsl:fallback

<xsl:fallback>
<!-- Content: template -->
</xsl:fallback>

MESSAGE ELEMENT

xsl:message

<xsl:message terminate = "yes" | "no">
<!-- Content: template -->
</xsl:message>

NAMED TEMPLATE ELEMENT

xsl:call-template

<xsl:call-template name = qname>
<!-- Content: xsl:with-param* -->
</xsl:call-template>

OUTPUT ELEMENT

xsl:output

<xsl:output method = "xml" | "html" | "text" | qname-but-not-ncname version = nmtoken encoding = string omit-xml-declaration = "yes" | "no" standalone = "yes" | "no" doctype-public = string doctype-system = string cdata-section-elements = qnames indent = "yes" | "no" media-type = string />

REPETITON ELEMENT

xsl:for-each

<xsl:for-each select = node-set-expression>
<!-- Content: (xsl:sort*, template) -->
</xsl:for-each>

SORTING ELEMENT

xsl:sort

<xsl:sort select = string-expression lang = { nmtoken } data-type = { "text" | "number" | qname-but-not-ncname } order = { "ascending" | "descending" } case-order = { "upper-first" | "lower-first" } />

STYLESHEET STRUCTURE ELEMENTS

xsl:import

<xsl:import href = uri-reference />

xsl:include

<xsl:include href = uri-reference />

xsl:stylesheet

<xsl:stylesheet id = id extension-element-prefixes = tokens exclude-result-prefixes = tokens version = number>
<!-- Content: (xsl:import*, top-level-elements) -->
</xsl:stylesheet>

xsl:transform

<xsl:transform id = id extension-element-prefixes = tokens exclude-result-prefixes = tokens version = number>
<!-- Content: (xsl:import*, top-level-elements) -->
</xsl:transform>

TEMPLATE RULE ELEMENTS

xsl:apply-imports

<xsl:apply-imports />

xsl:apply-templates

<xsl:apply-templates select = node-set-expression mode = qname>
<!-- Content: (xsl:sort | xsl:with-param)* -->
</xsl:apply-templates>

xsl:template

<xsl:template match = pattern name = qname priority = number mode = qname>
<!-- Content: (xsl:param*, template) -->
</xsl:template>

VARIABLE/PARAMETER ELEMENTS

xsl:copy-of

<xsl:copy-of select = expression />

xsl:param

<xsl:param name = qname select = expression>
<!-- Content: template -->
</xsl:param>

xsl:variable

<xsl:variable name = qname select = expression>
<!-- Content: template -->
</xsl:variable>

xsl:with-param

<xsl:with-param name = qname select = expression>
<!-- Content: template -->
</xsl:with-param>

FUNCTIONS

node-set current()

The current function returns a node-set that has the current node as its only member.

note-set document(object, node-set?)

The document function allows access to XML documents other than the main source document.

boolean element-available(string)

The element-available function returns true if and only if the expanded-name is the name of an instruction. If the expanded-name has a namespace URI equal to the XSLT namespace URI, then it refers to an element defined by XSLT.

string format-number(number, string, string?)

The format-number function converts its first argument to a string using the format pattern string specified by the second argument and the decimalformat named by the third argument, or the default decimal-format, if there is no third argument. The format pattern string is in the syntax specified by the JDK 1.1 DecimalFormat class.

boolean function-available(string)

The function-available function returns true if and only if the expandedname is the name of a function in the function library.

string generate-id(node-set?)

The generate-id function returns a string that uniquely identifies the node in the argument node-set that is first in document order.

node-set key(string, object)

The key function does for keys what the id function does for IDs.

object system-property(string)

The system-property function returns an object representing the value of the system property identified by the name. If there is no such system property, the empty string should be returned.

string unparsed-entity-uri(string)

The unparsed-entity-uri returns the URI of the unparsed entity with the specified name in the same document as the context node.

NOTATION

|separator for alternative values
,separator for consecutive values
?zero-or-more repetitions
*zero-or-more repetitions
+one-or-more repetitions
#PCDATAparsable character data
boolean-expressionexpression returning a Boolean
charrepresents a single character
expressionXPath production expression
idXML name used as unique identifier within the document, special attribute type
ncnamenon-colon-name - XML Name without colon (see also qname)
nmtokenname token – mixture of XML name characters
node-set-expressionexpression returning a node-set
numberrepresents a number
number-expressionexpression retuning a number
patternXPath pattern
prefixXML namespace prefix
qnamequalified name – XML name with local part and optional XML namespace prefix, separated by a colon
stringrepresents a string
string-expressionexpression returning a string token attribute type
uri-referenceUniversal Resource Identifier reference
XML nameXML name is a string beginning with a letter or one of a few punctuation characters, and continuing with