The XSL Tags
The tag this template processes.
An additional identifier for this template
The name of the template. This is another way to identify this template to be processed. See xsl:call-template.
A number indicating whether this matches better than another tag would.
Apply a template that has been imported at a lesser priority. In Saxon, you can use xsl:param with this. With the Microsoft DOM, doing that is an error.
Call the appropriate template for all tags. Will change the current node for purposes of matching.
The tags that should be processed.
An additional identifier to the appropriate template.
Creates attributes in the element in which it is enclosed.
The name of the attribute.
A named group of “xsl:attribute” elements.
The name of this attribute-set.
Process the current tag with the specified template. This does not change the current node for purposes of matching. Only “xsl:apply-template” and “xsl:for-each” can do that.
The template to process.
Output the current node without children and attributes, unless specified with the appropriate parameter.
The name of the attribute-set to output.
Output everything within the selected node.
The node to output everything
Output an XML tag.
The name of the element. I believe that anything within curly brackets is evaluated.
Contains a template that is applied to each node selected. Will change the current node for purposes of matching.
The XPath of nodes to process.
A Boolean test to see if the contents should be used.
Subfiles can’t see items imported by the parents.
Output a number. The default is the index of the element within its parent.
If “multiple” then output a dotted number that also includes the ancestors’ position.
A text string describing how the number should be formatted.
Instead of the index, output this number.
Specify the format of the output.
Sets a name to a value. The value can be set through a “select” parameter, or through the output of its contents. Paths will not be evaluated for their results within the contents, but will within the select. This is similar to the “xsl:variable” tag, except this value is just a default and can be changed.
The name of the parameter.
The value of the parameter. If this is a path, it will be evaluated.
If within an “xsl:apply-templates” or “xsl:for-each” will specify the order that the processing should be done.
“upper-first” or “lower-first”
“text” or “number”
“ascending” or “descending”
The key to sort on.
Output the enclosed text.
Output the evaluated text. If just a tagname, it won’t show child tags, but will show their content.
A function. Can be a tagname or an attribute. Or even “.”.
Sets a name to a value. The value can be set through a “select” parameter, or through the output of its contents. Paths will not be evaluated for their results within the contents, but will within the select.
The name of the variable.
The value of the variable. If this is a path, it will be evaluated.
When this tag appears within an “xsl:apply-templates” any parameters within that template with the same name are replaced with the value specified here. This is identical to an xsl:param concerning attributes.
The text content of the tag. It won’t show child tags, but will show their contents.
The text of an attribute
The name of the current tag.
When using a predicate (), remember the index starts with 1 in XPath.
The immediate child. The default axis.
The recursive children
The immediate parent. Can be abbreviated to “..”.
The recursive parents
See Apply-templates in XSL book for good example.
Can be abbreviated to “@”.
Can be abbreviated to “.”.
Can be abbreviated to “//”.