[Accessibility conventions are described at the bottom of the page]
*** This is a free preview excerpt of a commercial publication. ***

C. Instruction, function and grammar summaries
[> D.][< B.0][^^^]
C.0 Quick summaries
[> C.1][> D.][< C.][^^][^^^]
This annex lists alphabetized references to the components of the specifications. Each entry notes the chapter in this book where the construct is primarily described.
The specifications are rigorous references to all of the facilities and functions:
XSLT 1.0/XPath 1.0:
[[1] - [http://www.w3.org/TR/1999/REC-xslt-19991116]
 [1] - [http://www.w3.org/TR/1999/REC-xpath-19991116]
]
XSLT 2.0/XPath 2.0/XQuery 1.0
[[1] - [http://www.w3.org/TR/2007/REC-xslt20-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xpath20-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xpath-datamodel-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xslt-xquery-serialization-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xquery-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xquery-semantics-20070123/]
 [1] - [http://www.w3.org/TR/2007/REC-xqueryx-20070123]
]
C.1 Vocabulary, functions and grammars XSLT 1.0 and XPath 1.0
[> C.2][< C.0][^^][^^^]
C.1.1 XSLT 1.0 element summary
[> C.1.2][> C.2][> D.][< C.0][^^][^^^]
All elements in the XSLT vocabulary in alphabetical order follow. Note that the Kleene operators '?', '*' and '+' (respectively zero or one, zero or more, and one or more) are used to denote the cardinality of attributes and contained constructs. The content model operators ',' and '|' (respectively sequence and alternation) are also used. The brace brackets '{' and '}' denote the use of an attribute value template. This information is mechanically derived from the XSLT 1.0 Recommendation.
[apply-imports] (instruction) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 5.6 Overriding Template Rules [http://www.w3.org/TR/1999/REC-xslt-19991116.html#apply-imports]]
 [1] - [Example C-1: Model of apply-imports
01  <xsl:apply-imports/>
]
]
[apply-templates] (instruction) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 5.4 Applying Template Rules [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Applying-Template-Rules]]
 [1] - [Example C-2: Model of apply-templates
01  <xsl:apply-templates mode="qname"?
02   select="node-set-expression"?>
03   (<xsl:sort>|<xsl:with-param>)*
04  </xsl:apply-templates>
]
]
[attribute] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.1 Creating Elements and Attributes [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Elements-and-Attributes]]
 [1] - [Example C-3: Model of attribute
01  <xsl:attribute name="qname|{string-expression}"
02   namespace="uri-reference|{string-expression}"?>
03   template
04  </xsl:attribute>
]
]
[attribute-set] (top level element) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.1 Creating Elements and Attributes [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Elements-and-Attributes]]
 [1] - [Example C-4: Model of attribute-set
01  <xsl:attribute-set name="qname"
02   use-attribute-sets="qnames"?>
03   <xsl:attribute>*
04  </xsl:attribute-set>
]
]
[call-template] (instruction) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 6 Named Templates [http://www.w3.org/TR/1999/REC-xslt-19991116.html#named-templates]]
 [1] - [Example C-5: Model of call-template
01  <xsl:call-template name="qname">
02   <xsl:with-param>*
03  </xsl:call-template>
]
]
[choose] (instruction) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 9.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Conditional-Processing-with-xsl:choose]]
 [1] - [Example C-6: Model of choose
01  <xsl:choose>
02   (<xsl:when>+,<xsl:otherwise>?)
03  </xsl:choose>
]
]
[comment] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.4 Creating Comments [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Comments]]
 [1] - [Example C-7: Model of comment
01  <xsl:comment>
02   template
03  </xsl:comment>
]
]
[copy] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.5 Copying [http://www.w3.org/TR/1999/REC-xslt-19991116.html#copying]]
 [1] - [Example C-8: Model of copy
01  <xsl:copy use-attribute-sets="qnames"?>
02   template
03  </xsl:copy>
]
]
[copy-of] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 11.3 Using Values of Variables and Parameters with xsl:copy-of [http://www.w3.org/TR/1999/REC-xslt-19991116.html#copy-of]]
 [1] - [Example C-9: Model of copy-of
01  <xsl:copy-of select="expression"/>
]
]
[decimal-format] (top level element) - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.3 Number Formatting [http://www.w3.org/TR/1999/REC-xslt-19991116.html#format-number]]
 [1] - [Example C-10: Model of decimal-format
01  <xsl:decimal-format decimal-separator="char"?
02   digit="char"?
03   grouping-separator="char"?
04   infinity="string"?
05   minus-sign="char"?
06   name="qname"?
07   NaN="string"?
08   pattern-separator="char"?
09   per-mille="char"?
10   percent="char"?
11   zero-digit="char"?/>
]
]
[element] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.1 Creating Elements and Attributes [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Elements-and-Attributes]]
 [1] - [Example C-11: Model of element
01  <xsl:element name="qname|{string-expression}"
02   namespace="uri-reference|{string-expression}"?
03   use-attribute-sets="qnames"?>
04   template
05  </xsl:element>
]
]
[fallback] (instruction) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 15 Fallback [http://www.w3.org/TR/1999/REC-xslt-19991116.html#fallback]]
 [1] - [Example C-12: Model of fallback
01  <xsl:fallback>
02   template
03  </xsl:fallback>
]
]
[for-each] (instruction) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 8 Repetition [http://www.w3.org/TR/1999/REC-xslt-19991116.html#for-each]]
 [1] - [Example C-13: Model of for-each
01  <xsl:for-each select="node-set-expression">
02   (<xsl:sort>*,template)
03  </xsl:for-each>
]
]
[if] (instruction) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 9.1 Conditional Processing with xsl:if [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Conditional-Processing-with-xsl:if]]
 [1] - [Example C-14: Model of if
01  <xsl:if test="boolean-expression">
02   template
03  </xsl:if>
]
]
[import] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 2.6 Combining Stylesheets [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Combining-Stylesheets]]
 [1] - [Example C-15: Model of import
01  <xsl:import href="uri-reference"/>
]
]
[include] (top level element) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 2.6 Combining Stylesheets [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Combining-Stylesheets]]
 [1] - [Example C-16: Model of include
01  <xsl:include href="uri-reference"/>
]
]
[key] (top level element) - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.2 Keys [http://www.w3.org/TR/1999/REC-xslt-19991116.html#key]]
 [1] - [Example C-17: Model of key
01  <xsl:key match="pattern"
02   name="qname"
03   use="expression"/>
]
]
[message] (instruction) - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 13 Messages [http://www.w3.org/TR/1999/REC-xslt-19991116.html#message]]
 [1] - [Example C-18: Model of message
01  <xsl:message terminate="yes|no"?>
02   template
03  </xsl:message>
]
]
[namespace-alias] (top level element) - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 7.1 Creating Elements and Attributes [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Elements-and-Attributes]]
 [1] - [Example C-19: Model of namespace-alias
01  <xsl:namespace-alias result-prefix="prefix|#default"
02   stylesheet-prefix="prefix|#default"/>
]
]
[number] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.7 Numbering [http://www.w3.org/TR/1999/REC-xslt-19991116.html#number]]
 [1] - [Example C-20: Model of number
01  <xsl:number count="pattern"?
02   format="string|{string-expression}"?
03   from="pattern"?
04   grouping-separator="char|{string-expression}"?
05   grouping-size="number|{string-expression}"?
06   lang="nmtoken|{string-expression}"?
07   letter-value="alphabetic|traditional|{string-expression}"?
08   level="single|multiple|any"?
09   value="number-expression"?/>
]
]
[otherwise] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 9.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Conditional-Processing-with-xsl:choose]]
 [1] - [Example C-21: Model of otherwise
01  <xsl:otherwise>
02   template
03  </xsl:otherwise>
]
]
[output] (top level element) - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 16 Output [http://www.w3.org/TR/1999/REC-xslt-19991116.html#output]]
 [1] - [Example C-22: Model of output
01  <xsl:output cdata-section-elements="qnames"?
02   doctype-public="string"?
03   doctype-system="string"?
04   encoding="string"?
05   indent="yes|no"?
06   media-type="string"?
07   method="xml|html|text|qname-but-not-ncname"?
08   omit-xml-declaration="yes|no"?
09   standalone="yes|no"?
10   version="nmtoken"?/>
]
]
[param] (top level element) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 11 Variables and Parameters [http://www.w3.org/TR/1999/REC-xslt-19991116.html#variables]]
 [1] - [Example C-23: Model of param
01  <xsl:param name="qname"
02   select="expression"?>
03   template
04  </xsl:param>
]
]
[preserve-space] (top level element) - [XPath data model - Section 3.0]
[[1] - [XSLT 1.0 3.4 Whitespace Stripping [http://www.w3.org/TR/1999/REC-xslt-19991116.html#strip]]
 [1] - [Example C-24: Model of preserve-space
01  <xsl:preserve-space elements="tokens"/>
]
]
[processing-instruction] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.3 Creating Processing Instructions [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Processing-Instructions]]
 [1] - [Example C-25: Model of processing-instruction
01  <xsl:processing-instruction name="ncname|{string-expression}">
02   template
03  </xsl:processing-instruction>
]
]
[sort] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 1.0 10 Sorting [http://www.w3.org/TR/1999/REC-xslt-19991116.html#sorting]]
 [1] - [Example C-26: Model of sort
01  <xsl:sort case-order="upper-first|lower-first|{string-expression}"?
02   data-type="text|number|qname-but-not-ncname|{string-expression}"?
03   lang="nmtoken|{string-expression}"?
04   order="ascending|descending|{string-expression}"?
05   select="string-expression"?/>
]
]
[strip-space] (top level element) - [XPath data model - Section 3.0]
[[1] - [XSLT 1.0 3.4 Whitespace Stripping [http://www.w3.org/TR/1999/REC-xslt-19991116.html#strip]]
 [1] - [Example C-27: Model of strip-space
01  <xsl:strip-space elements="tokens"/>
]
]
[stylesheet] - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 2.2 Stylesheet Element [http://www.w3.org/TR/1999/REC-xslt-19991116.html#stylesheet-element]]
 [1] - [Example C-28: Model of stylesheet
01  <xsl:stylesheet version="number"
02   exclude-result-prefixes="tokens"?
03   extension-element-prefixes="tokens"?
04   id="id"?>
05   (<xsl:import>*,top-level-elements)
06  </xsl:stylesheet>
]
]
[template] (top level element) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 5.3 Defining Template Rules [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Defining-Template-Rules]]
 [1] - [Example C-29: Model of template
01  <xsl:template match="pattern"?
02   mode="qname"?
03   name="qname"?
04   priority="number"?>
05   (<xsl:param>*,template)
06  </xsl:template>
]
]
[text] (instruction) - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 1.0 7.2 Creating Text [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Creating-Text]]
 [1] - [Example C-30: Model of text
01  <xsl:text disable-output-escaping="yes|no"?>
02   #PCDATA
03  </xsl:text>
]
]
[transform] - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 2.2 Stylesheet Element [http://www.w3.org/TR/1999/REC-xslt-19991116.html#stylesheet-element]]
 [1] - [Example C-31: Model of transform
01  <xsl:transform version="number"
02   exclude-result-prefixes="tokens"?
03   extension-element-prefixes="tokens"?
04   id="id"?>
05   (<xsl:import>*,top-level-elements)
06  </xsl:transform>
]
]
[value-of] (instruction) - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 7.6 Computing Generated Text [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Computing-Generated-Text]]
 [1] - [Example C-32: Model of value-of
01  <xsl:value-of select="string-expression"
02   disable-output-escaping="yes|no"?/>
]
]
[variable] (top level element) - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 11 Variables and Parameters [http://www.w3.org/TR/1999/REC-xslt-19991116.html#variables]]
 [1] - [Example C-33: Model of variable
01  <xsl:variable name="qname"
02   select="expression"?>
03   template
04  </xsl:variable>
]
]
[when] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 1.0 9.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Conditional-Processing-with-xsl:choose]]
 [1] - [Example C-34: Model of when
01  <xsl:when test="boolean-expression">
02   template
03  </xsl:when>
]
]
[with-param] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 11.6 Passing Parameters to Templates [http://www.w3.org/TR/1999/REC-xslt-19991116.html#section-Passing-Parameters-to-Templates]]
 [1] - [Example C-35: Model of with-param
01  <xsl:with-param name="qname"
02   select="expression"?>
03   template
04  </xsl:with-param>
]
]
C.1.2 XPath 1.0 and XSLT 1.0 function summary
[> C.1.3][> C.2][> D.][< C.1.1][^][^^][^^^]
All functions of both XPath 1.0 and XSLT 2.0 in alphabetical order follow. This information is mechanically derived from the XPath 1.0 and XSLT 1.0 Recommendations.
boolean - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.3 Boolean Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-boolean]]
 [1] - [boolean boolean( object )]
]
ceiling - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.4 Number Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-ceiling]]
 [1] - [number ceiling( number )]
]
concat - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-concat]]
 [1] - [string concat( string, string, string* )]
]
contains - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-contains]]
 [1] - [boolean contains( string, string )]
]
count - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-count]]
 [1] - [number count( node-set )]
]
current - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.4 Miscellaneous Additional Functions [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-current]]
 [1] - [node-set current( )]
]
document - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 12.1 Multiple Source Documents [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-document]]
 [1] - [node-set document( object, node-set? )]
]
element-available - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 15 Fallback [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-element-available]]
 [1] - [boolean element-available( string )]
]
false - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.3 Boolean Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-false]]
 [1] - [boolean false( )]
]
floor - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.4 Number Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-floor]]
 [1] - [number floor( number )]
]
format-number - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.3 Number Formatting [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-format-number]]
 [1] - [string format-number( number, string, string? )]
]
function-available - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 15 Fallback [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-function-available]]
 [1] - [boolean function-available( string )]
]
generate-id - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.4 Miscellaneous Additional Functions [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-generate-id]]
 [1] - [string generate-id( node-set? )]
]
id - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-id]]
 [1] - [node-set id( object )]
]
key - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 1.0 12.2 Keys [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-key]]
 [1] - [node-set key( string, object )]
]
lang - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.3 Boolean Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-lang]]
 [1] - [boolean lang( string )]
]
last - [XPath data model - Section 3.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-last]]
 [1] - [number last( )]
]
local-name - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-local-name]]
 [1] - [string local-name( node-set? )]
]
name - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-name]]
 [1] - [string name( node-set? )]
]
namespace-uri - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-namespace-uri]]
 [1] - [string namespace-uri( node-set? )]
]
normalize-space - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-normalize-space]]
 [1] - [string normalize-space( string? )]
]
not - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.3 Boolean Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-not]]
 [1] - [boolean not( boolean )]
]
number - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.4 Number Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-number]]
 [1] - [number number( object? )]
]
position - [XPath data model - Section 3.0]
[[1] - [XPath 1.0 4.1 Node Set Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-position]]
 [1] - [number position( )]
]
round - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.4 Number Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-round]]
 [1] - [number round( number )]
]
starts-with - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-starts-with]]
 [1] - [boolean starts-with( string, string )]
]
string - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-string]]
 [1] - [string string( object? )]
]
string-length - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-string-length]]
 [1] - [number string-length( string? )]
]
substring - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-substring]]
 [1] - [string substring( string, number, number? )]
]
substring-after - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-substring-after]]
 [1] - [string substring-after( string, string )]
]
substring-before - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-substring-before]]
 [1] - [string substring-before( string, string )]
]
sum - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.4 Number Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-sum]]
 [1] - [number sum( node-set )]
]
system-property - [The transformation environment - Section 5.0]
[[1] - [XSLT 1.0 12.4 Miscellaneous Additional Functions [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-system-property]]
 [1] - [object system-property( string )]
]
translate - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.2 String Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-translate]]
 [1] - [string translate( string, string, string )]
]
true - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 1.0 4.3 Boolean Functions [http://www.w3.org/TR/1999/REC-xpath-19991116.html#function-true]]
 [1] - [boolean true( )]
]
unparsed-entity-uri - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 1.0 12.4 Miscellaneous Additional Functions [http://www.w3.org/TR/1999/REC-xslt-19991116.html#function-unparsed-entity-uri]]
 [1] - [string unparsed-entity-uri( string )]
]
C.1.3 XPath 1.0 grammar productions
[> C.1.4][> C.2][> D.][< C.1.2][^][^^][^^^]
Location Paths (2)
[1] LocationPath
 ::= 
[RelativeLocationPath[3]]
| [AbsoluteLocationPath[2]]
[2] AbsoluteLocationPath
 ::= 
'/' [RelativeLocationPath[3]]?
| [AbbreviatedAbsoluteLocationPath[10]]
[3] RelativeLocationPath
 ::= 
[Step[4]]
| [RelativeLocationPath[3]] '/' [Step[4]]
| [AbbreviatedRelativeLocationPath[11]]
Location Steps (2.1)
[4] Step
 ::= 
[AxisSpecifier[5]] [NodeTest[7]] [Predicate[8]]*
| [AbbreviatedStep[12]]
[5] AxisSpecifier
 ::= 
[AxisName[6]] '::'
| [AbbreviatedAxisSpecifier[13]]
Axes (2.2)
[6] AxisName
 ::= 
'ancestor'
| 'ancestor-or-self'
| 'attribute'
| 'child'
| 'descendant'
| 'descendant-or-self'
| 'following'
| 'following-sibling'
| 'namespace'
| 'parent'
| 'preceding'
| 'preceding-sibling'
| 'self'
Node Tests (2.3)
[7] NodeTest
 ::= 
[NameTest[37]]
| [NodeType[38]] '(' ')'
| 'processing-instruction' '(' [Literal[29]] ')'
Predicates (2.4)
[8] Predicate
 ::= 
'[' [PredicateExpr[9]] ']'
[9] PredicateExpr
 ::= 
[Expr[14]]
Abbreviated Syntax (2.5)
[10] AbbreviatedAbsoluteLocationPath
 ::= 
'//' [RelativeLocationPath[3]]
[11] AbbreviatedRelativeLocationPath
 ::= 
[RelativeLocationPath[3]] '//' [Step[4]]
[12] AbbreviatedStep
 ::= 
'.'
| '..'
[13] AbbreviatedAxisSpecifier
 ::= 
'@'?
Expressions (3)
Basics (3.1)
[14] Expr
 ::= 
[OrExpr[21]]
[15] PrimaryExpr
 ::= 
[VariableReference[36]]
| '(' [Expr[14]] ')'
| [Literal[29]]
| [Number[30]]
| [FunctionCall[16]]
Function Calls (3.2)
[16] FunctionCall
 ::= 
[FunctionName[35]] '(' ( [Argument[17]] ( ',' [Argument[17]] )* )? ')'
[17] Argument
 ::= 
[Expr[14]]
Node-sets (3.3)
[18] UnionExpr
 ::= 
[PathExpr[19]]
| [UnionExpr[18]] '|' [PathExpr[19]]
[19] PathExpr
 ::= 
[LocationPath[1]]
| [FilterExpr[20]]
| [FilterExpr[20]] '/' [RelativeLocationPath[3]]
| [FilterExpr[20]] '//' [RelativeLocationPath[3]]
[20] FilterExpr
 ::= 
[PrimaryExpr[15]]
| [FilterExpr[20]] [Predicate[8]]
Booleans (3.4)
[21] OrExpr
 ::= 
[AndExpr[22]]
| [OrExpr[21]] 'or' [AndExpr[22]]
[22] AndExpr
 ::= 
[EqualityExpr[23]]
| [AndExpr[22]] 'and' [EqualityExpr[23]]
[23] EqualityExpr
 ::= 
[RelationalExpr[24]]
| [EqualityExpr[23]] '=' [RelationalExpr[24]]
| [EqualityExpr[23]] '!=' [RelationalExpr[24]]
[24] RelationalExpr
 ::= 
[AdditiveExpr[25]]
| [RelationalExpr[24]] '<' [AdditiveExpr[25]]
| [RelationalExpr[24]] '>' [AdditiveExpr[25]]
| [RelationalExpr[24]] '<=' [AdditiveExpr[25]]
| [RelationalExpr[24]] '>=' [AdditiveExpr[25]]
Numbers (3.5)
[25] AdditiveExpr
 ::= 
[MultiplicativeExpr[26]]
| [AdditiveExpr[25]] '+' [MultiplicativeExpr[26]]
| [AdditiveExpr[25]] '-' [MultiplicativeExpr[26]]
[26] MultiplicativeExpr
 ::= 
[UnaryExpr[27]]
| [MultiplicativeExpr[26]] [MultiplyOperator[34]] [UnaryExpr[27]]
| [MultiplicativeExpr[26]] 'div' [UnaryExpr[27]]
| [MultiplicativeExpr[26]] 'mod' [UnaryExpr[27]]
[27] UnaryExpr
 ::= 
[UnionExpr[18]]
| '-' [UnaryExpr[27]]
Lexical Structure (3.7)
[28] ExprToken
 ::= 
'(' | ')' | '[' | ']' | '.' | '..' | '@' | ',' | '::'
| [NameTest[37]]
| [NodeType[38]]
| [Operator[32]]
| [FunctionName[35]]
| [AxisName[6]]
| [Literal[29]]
| [Number[30]]
| [VariableReference[36]]
[29] Literal
 ::= 
'"' [^"]* '"'
| "'" [^']* "'"
[30] Number
 ::= 
[Digits[31]] ('.' [Digits[31]]?)?
| '.' [Digits[31]]
[31] Digits
 ::= 
[0-9]+
[32] Operator
 ::= 
[OperatorName[33]]
| [MultiplyOperator[34]]
| '/' | '//' | '|' | '+' | '-' | '=' | '!=' | '<' | '<=' | '>' | '>='
[33] OperatorName
 ::= 
'and' | 'or' | 'mod' | 'div'
[34] MultiplyOperator
 ::= 
'*'
[35] FunctionName
 ::= 
[QName[XML-Names-6] [http://www.w3.org/TR/REC-xml-names#NT-QName]] - [NodeType[38]]
[36] VariableReference
 ::= 
'$' [QName[XML-Names-6] [http://www.w3.org/TR/REC-xml-names#NT-QName]]
[37] NameTest
 ::= 
'*'
| [NCName[XML-Names-4] [http://www.w3.org/TR/REC-xml-names#NT-NCName]] ':' '*'
| [QName[XML-Names-6] [http://www.w3.org/TR/REC-xml-names#NT-QName]]
[38] NodeType
 ::= 
'comment'
| 'text'
| 'processing-instruction'
| 'node'
[39] ExprWhitespace
 ::= 
[S[XML-3] [http://www.w3.org/TR/REC-xml#NT-S]]
C.1.4 XSLT 1.0 grammar productions
[> C.2][> D.][< C.1.3][^][^^][^^^]
Template Rules (5)
Patterns (5.2)
[1] Pattern
 ::= 
[LocationPathPattern[2]]
| [Pattern[1]] '|' [LocationPathPattern[2]]
[2] LocationPathPattern
 ::= 
'/' [RelativePathPattern[4]]?
| [IdKeyPattern[3]] (('/' | '//') [RelativePathPattern[4]])?
| '//'? [RelativePathPattern[4]]
[3] IdKeyPattern
 ::= 
'id' '(' [Literal[XPath-1.0-29]] ')'
| 'key' '(' [Literal[XPath-1.0-29]] ',' [Literal[XPath-1.0-29]] ')'
[4] RelativePathPattern
 ::= 
[StepPattern[5]]
| [RelativePathPattern[4]] '/' [StepPattern[5]]
| [RelativePathPattern[4]] '//' [StepPattern[5]]
[5] StepPattern
 ::= 
[ChildOrAttributeAxisSpecifier[6]] [NodeTest[XPath-1.0-7]] [Predicate[XPath-1.0-8]]*
[6] ChildOrAttributeAxisSpecifier
 ::= 
[AbbreviatedAxisSpecifier[XPath-1.0-13]]
| ('child' | 'attribute') '::'
C.2 Vocabulary, functions and grammars XSLT 2.0 and XPath 2.0
[> D.][< C.1.4][^^][^^^]
C.2.1 XSLT 2.0 element summary
[> C.2.2][> D.][< C.1.4][^^][^^^]
All elements in the XSLT vocabulary in alphabetical order follow. Note that the Kleene operators '?', '*' and '+' (respectively zero or one, zero or more, and one or more) are used to denote the cardinality of attributes and contained constructs. The content model operators ',' and '|' (respectively sequence and alternation) are also used. The brace brackets '{' and '}' denote the use of an attribute value template. This information is mechanically derived from the XSLT 1.0 Recommendation.
[analyze-string] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 15.1 The xsl:analyze-string instruction [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-analyze-string]]
 [1] -
<!-- Category: instruction -->
<xsl:analyze-string
  select = expression
  regex = { string }
  flags? = { string }>
  <!-- Content: ([xsl:matching-substring]?, [xsl:non-matching-substring]?, [xsl:fallback]*) -->
</xsl:analyze-string>
]
[apply-imports] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 6.7 Overriding Template Rules [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-apply-imports]]
 [1] -
<!-- Category: instruction -->
<xsl:apply-imports>
  <!-- Content: [xsl:with-param]* -->
</xsl:apply-imports>
]
[apply-templates] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 6.3 Applying Template Rules [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-apply-templates]]
 [1] -
<!-- Category: instruction -->
<xsl:apply-templates
  select? = expression
  mode? = token>
  <!-- Content: ([xsl:sort] | [xsl:with-param])* -->
</xsl:apply-templates>
]
[attribute] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.3 Creating Attribute Nodes Using xsl:attribute [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-attribute]]
 [1] -
<!-- Category: instruction -->
<xsl:attribute
  name = { qname }
  namespace? = { uri-reference }
  select? = expression
  separator? = { string }
  type? = qname
  validation? = "strict" | "lax" | "preserve" | "strip">
  <!-- Content: sequence-constructor -->
</xsl:attribute>
]
[attribute-set] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 10.2 Named Attribute Sets [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-attribute-set]]
 [1] -
<!-- Category: declaration -->
<xsl:attribute-set
  name = qname
  use-attribute-sets? = qnames>
  <!-- Content: [xsl:attribute]* -->
</xsl:attribute-set>
]
[call-template] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 10.1 Named Templates [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-call-template]]
 [1] -
<!-- Category: instruction -->
<xsl:call-template
  name = qname>
  <!-- Content: [xsl:with-param]* -->
</xsl:call-template>
]
[character-map] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 20.1 Character Maps [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-character-map]]
 [1] -
<!-- Category: declaration -->
<xsl:character-map
  name = qname
  use-character-maps? = qnames>
  <!-- Content: ([xsl:output-character]*) -->
</xsl:character-map>
]
[choose] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 8.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-choose]]
 [1] -
<!-- Category: instruction -->
<xsl:choose>
  <!-- Content: ([xsl:when]+, [xsl:otherwise]?) -->
</xsl:choose>
]
[comment] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.8 Creating Comments [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-comment]]
 [1] -
<!-- Category: instruction -->
<xsl:comment
  select? = expression>
  <!-- Content: sequence-constructor -->
</xsl:comment>
]
[copy] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.9.1 Shallow Copy [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-copy]]
 [1] -
<!-- Category: instruction -->
<xsl:copy
  copy-namespaces? = "yes" | "no"
  inherit-namespaces? = "yes" | "no"
  use-attribute-sets? = qnames
  type? = qname
  validation? = "strict" | "lax" | "preserve" | "strip">
  <!-- Content: sequence-constructor -->
</xsl:copy>
]
[copy-of] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.9.2 Deep Copy [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-copy-of]]
 [1] -
<!-- Category: instruction -->
<xsl:copy-of
  select = expression
  copy-namespaces? = "yes" | "no"
  type? = qname
  validation? = "strict" | "lax" | "preserve" | "strip" />
]
[decimal-format] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.4.1 Defining a Decimal Format [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-decimal-format]]
 [1] -
<!-- Category: declaration -->
<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 />
]
[document] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.5 Creating Document Nodes [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-document]]
 [1] -
<!-- Category: instruction -->
<xsl:document
  validation? = "strict" | "lax" | "preserve" | "strip"
  type? = qname>
  <!-- Content: sequence-constructor -->
</xsl:document>
]
[element] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.2 Creating Element Nodes Using xsl:element [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-element]]
 [1] -
<!-- Category: instruction -->
<xsl:element
  name = { qname }
  namespace? = { uri-reference }
  inherit-namespaces? = "yes" | "no"
  use-attribute-sets? = qnames
  type? = qname
  validation? = "strict" | "lax" | "preserve" | "strip">
  <!-- Content: sequence-constructor -->
</xsl:element>
]
[fallback] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 18.2.3 Fallback [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-fallback]]
 [1] -
<!-- Category: instruction -->
<xsl:fallback>
  <!-- Content: sequence-constructor -->
</xsl:fallback>
]
[for-each] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 7 Repetition [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-for-each]]
 [1] -
<!-- Category: instruction -->
<xsl:for-each
  select = expression>
  <!-- Content: ([xsl:sort]*, sequence-constructor) -->
</xsl:for-each>
]
[for-each-group] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 2.0 - 14.3 The xsl:for-each-group Element [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-for-each-group]]
 [1] -
<!-- Category: instruction -->
<xsl:for-each-group
  select = expression
  group-by? = expression
  group-adjacent? = expression
  group-starting-with? = pattern
  group-ending-with? = pattern
  collation? = { uri }>
  <!-- Content: ([xsl:sort]*, sequence-constructor) -->
</xsl:for-each-group>
]
[function] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 10.3 Stylesheet Functions [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-function]]
 [1] -
<!-- Category: declaration -->
<xsl:function
  name = qname
  as? = sequence-type
  override? = "yes" | "no">
  <!-- Content: ([xsl:param]*, sequence-constructor) -->
</xsl:function>
]
[if] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 8.1 Conditional Processing with xsl:if [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-if]]
 [1] -
<!-- Category: instruction -->
<xsl:if
  test = expression>
  <!-- Content: sequence-constructor -->
</xsl:if>
]
[import] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 3.10.3 Stylesheet Import [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-import]]
 [1] -
<!-- Category: declaration -->
<xsl:import
  href = uri-reference />
]
[import-schema] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 3.14 Importing Schema Components [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-import-schema]]
 [1] -
<!-- Category: declaration -->
<xsl:import-schema
  namespace? = uri-reference
  schema-location? = uri-reference>
  <!-- Content: xs:schema? -->
</xsl:import-schema>
]
[include] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 3.10.2 Stylesheet Inclusion [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-include]]
 [1] -
<!-- Category: declaration -->
<xsl:include
  href = uri-reference />
]
[key] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.3.1 The xsl:key Declaration [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-key]]
 [1] -
<!-- Category: declaration -->
<xsl:key
  name = qname
  match = pattern
  use? = expression
  collation? = uri>
  <!-- Content: sequence-constructor -->
</xsl:key>
]
[matching-substring] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 15.1 The xsl:analyze-string instruction [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-matching-substring]]
 [1] -
<xsl:matching-substring>
  <!-- Content: sequence-constructor -->
</xsl:matching-substring>
]
[message] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 17 Messages [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-message]]
 [1] -
<!-- Category: instruction -->
<xsl:message
  select? = expression
  terminate? = { "yes" | "no" }>
  <!-- Content: sequence-constructor -->
</xsl:message>
]
[namespace] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.7 Creating Namespace Nodes [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-namespace]]
 [1] -
<!-- Category: instruction -->
<xsl:namespace
  name = { ncname }
  select? = expression>
  <!-- Content: sequence-constructor -->
</xsl:namespace>
]
[namespace-alias] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 11.1.4 Namespace Aliasing [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-namespace-alias]]
 [1] -
<!-- Category: declaration -->
<xsl:namespace-alias
  stylesheet-prefix = prefix | "#default"
  result-prefix = prefix | "#default" />
]
[next-match] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 6.7 Overriding Template Rules [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-next-match]]
 [1] -
<!-- Category: instruction -->
<xsl:next-match>
  <!-- Content: ([xsl:with-param] | [xsl:fallback])* -->
</xsl:next-match>
]
[non-matching-substring] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 15.1 The xsl:analyze-string instruction [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-non-matching-substring]]
 [1] -
<xsl:non-matching-substring>
  <!-- Content: sequence-constructor -->
</xsl:non-matching-substring>
]
[number] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 12 Numbering [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-number]]
 [1] -
<!-- Category: instruction -->
<xsl:number
  value? = expression
  select? = expression
  level? = "single" | "multiple" | "any"
  count? = pattern
  from? = pattern
  format? = { string }
  lang? = { nmtoken }
  letter-value? = { "alphabetic" | "traditional" }
  ordinal? = { string }
  grouping-separator? = { char }
  grouping-size? = { number
} />
]
[otherwise] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 8.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-otherwise]]
 [1] -
<xsl:otherwise>
  <!-- Content: sequence-constructor -->
</xsl:otherwise>
]
[output] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 20 Serialization [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-output]]
 [1] -
<!-- Category: declaration -->
<xsl:output
  name? = qname
  method? = "xml" | "html" | "xhtml" | "text" | qname-but-not-ncname
  byte-order-mark? = "yes" | "no"
  cdata-section-elements? = qnames
  doctype-public? = string
  doctype-system? = string
  encoding? = string
  escape-uri-attributes? = "yes" | "no"
  include-content-type? = "yes" | "no"
  indent? = "yes" | "no"
  media-type? = string
  normalization-form? = "NFC" | "NFD" | "NFKC" | "NFKD" | "fully-normalized" | "none" | nmtoken
  omit-xml-declaration? = "yes" | "no"
  standalone? = "yes" | "no" | "omit"
  undeclare-prefixes? = "yes" | "no"
  use-character-maps? = qnames
  version? = nmtoken />
]
[output-character] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 20.1 Character Maps [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-output-character]]
 [1] -
<xsl:output-character
  character = char
  string = string />
]
[param] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 9.2 Parameters [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-param]]
 [1] -
<!-- Category: declaration -->
<xsl:param
  name = qname
  select? = expression
  as? = sequence-type
  required? = "yes" | "no"
  tunnel? = "yes" | "no">
  <!-- Content: sequence-constructor -->
</xsl:param>
]
[perform-sort] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 2.0 - 13.2 Creating a Sorted Sequence [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-perform-sort]]
 [1] -
<!-- Category: instruction -->
<xsl:perform-sort
  select? = expression>
  <!-- Content: ([xsl:sort]+, sequence-constructor) -->
</xsl:perform-sort>
]
[preserve-space] - [XPath data model - Section 3.0]
[[1] - [XSLT 2.0 - 4.4 Stripping Whitespace from a Source Tree [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-preserve-space]]
 [1] -
<!-- Category: declaration -->
<xsl:preserve-space
  elements = tokens />
]
[processing-instruction] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.6 Creating Processing Instructions [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-processing-instruction]]
 [1] -
<!-- Category: instruction -->
<xsl:processing-instruction
  name = { ncname }
  select? = expression>
  <!-- Content: sequence-constructor -->
</xsl:processing-instruction>
]
[result-document] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 19.1 Creating Final Result Trees [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-result-document]]
 [1] -
<!-- Category: instruction -->
<xsl:result-document
  format? = { qname }
  href? = { uri-reference }
  validation? = "strict" | "lax" | "preserve" | "strip"
  type? = qname
  method? = { "xml" | "html" | "xhtml" | "text" | qname-but-not-ncname }
  byte-order-mark? = { "yes" | "no" }
  cdata-section-elements? = { qnames }
  doctype-public? = { string }
  doctype-system? = { string }
  encoding? = { string }
  escape-uri-attributes? = { "yes" | "no" }
  include-content-type? = { "yes" | "no" }
  indent? = { "yes" | "no" }
  media-type? = { string }
  normalization-form? = { "NFC" | "NFD" | "NFKC" | "NFKD"
| "fully-normalized" | "none" | nmtoken }
  omit-xml-declaration? = { "yes" | "no" }
  standalone? = { "yes" | "no" | "omit" }
  undeclare-prefixes? = { "yes" | "no" }
  use-character-maps? = qnames
  output-version? = { nmtoken }>
  <!-- Content: sequence-constructor -->
</xsl:result-document>
]
[sequence] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 11.10 Constructing Sequences [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-sequence]]
 [1] -
<!-- Category: instruction -->
<xsl:sequence
  select = expression>
  <!-- Content: [xsl:fallback]* -->
</xsl:sequence>
]
[sort] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 2.0 - 13.1 The xsl:sort Element [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-sort]]
 [1] -
<xsl:sort
  select? = expression
  lang? = { nmtoken }
  order? = { "ascending" | "descending" }
  collation? = { uri }
  stable? = { "yes" | "no" }
  case-order? = { "upper-first" | "lower-first" }
  data-type? = { "text" | "number" | qname-but-not-ncname }>
  <!-- Content: sequence-constructor -->
</xsl:sort>
]
[strip-space] - [XPath data model - Section 3.0]
[[1] - [XSLT 2.0 - 4.4 Stripping Whitespace from a Source Tree [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-strip-space]]
 [1] -
<!-- Category: declaration -->
<xsl:strip-space
  elements = tokens />
]
[stylesheet] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 3.6 Stylesheet Element [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-stylesheet]]
 [1] -
<xsl:stylesheet
  id? = id
  extension-element-prefixes? = tokens
  exclude-result-prefixes? = tokens
  version = number
  xpath-default-namespace? = uri
  default-validation? = "preserve" | "strip"
  default-collation? = uri-list
  input-type-annotations? = "preserve" | "strip" | "unspecified">
  <!-- Content: ([xsl:import]*, other-declarations) -->
</xsl:stylesheet>
]
[template] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 6.1 Defining Templates [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-template]]
 [1] -
<!-- Category: declaration -->
<xsl:template
  match? = pattern
  name? = qname
  priority? = number
  mode? = tokens
  as? = sequence-type>
  <!-- Content: ([xsl:param]*, sequence-constructor) -->
</xsl:template>
]
[text] - [Constructing result-tree nodes - Section 8.0]
[[1] - [XSLT 2.0 - 11.4.2 Creating Text Nodes Using xsl:text [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-text]]
 [1] -
<!-- Category: instruction -->
<xsl:text
  [disable-output-escaping]?
= "yes" | "no">
  <!-- Content: #PCDATA -->
</xsl:text>
]
[transform] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 3.6 Stylesheet Element [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-transform]]
 [1] -
<xsl:transform
  id? = id
  extension-element-prefixes? = tokens
  exclude-result-prefixes? = tokens
  version = number
  xpath-default-namespace? = uri
  default-validation? = "preserve" | "strip"
  default-collation? = uri-list
  input-type-annotations? = "preserve" | "strip" | "unspecified">
  <!-- Content: ([xsl:import]*, other-declarations) -->
</xsl:transform>
]
[value-of] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 11.4.3 Generating Text with xsl:value-of [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-value-of]]
 [1] -
<!-- Category: instruction -->
<xsl:value-of
  select? = expression
  separator? = { string }
  [disable-output-escaping]?
= "yes" | "no">
  <!-- Content: sequence-constructor -->
</xsl:value-of>
]
[variable] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 9.1 Variables [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-variable]]
 [1] -
<!-- Category: declaration -->
<!-- Category: instruction -->
<xsl:variable
  name = qname
  select? = expression
  as? = sequence-type>
  <!-- Content: sequence-constructor -->
</xsl:variable>
]
[when] - [A predictable behavior for processors - Section 4.0]
[[1] - [XSLT 2.0 - 8.2 Conditional Processing with xsl:choose [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-when]]
 [1] -
<xsl:when
  test = expression>
  <!-- Content: sequence-constructor -->
</xsl:when>
]
[with-param] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 10.1.1 Passing Parameters to Templates [http://www.w3.org/TR/2007/REC-xslt20-20070123/#element-with-param]]
 [1] -
<xsl:with-param
  name = qname
  select? = expression
  as? = sequence-type
  tunnel? = "yes" | "no">
  <!-- Content: sequence-constructor -->
</xsl:with-param>
]
C.2.2 XPath 2.0 and XSLT 2.0 function summary
[> C.2.3][> D.][< C.2.1][^][^^][^^^]
All functions of both XPath 2.0 and XSLT 2.0 in alphabetical order follow. This information is mechanically derived from the XPath 2.0 Functions and XSLT 2.0 Recommendations.
[abs] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 6.4 Functions on Numeric Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-abs]]
 [1] -
numeric abs( numeric )
]
[adjust-date-to-timezone] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.7 Timezone Adjustment Functions on Dates and Time Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-adjust-date-to-timezone]]
 [1] -
xs:date adjust-date-to-timezone( xs:date )
xs:date adjust-date-to-timezone( xs:date, xs:dayTimeDuration )
]
[adjust-dateTime-to-timezone] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.7 Timezone Adjustment Functions on Dates and Time Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-adjust-dateTime-to-timezone]]
 [1] -
xs:dateTime adjust-dateTime-to-timezone( xs:dateTime )
xs:dateTime adjust-dateTime-to-timezone( xs:dateTime, xs:dayTimeDuration )
]
[adjust-time-to-timezone] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.7 Timezone Adjustment Functions on Dates and Time Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-adjust-time-to-timezone]]
 [1] -
xs:time adjust-time-to-timezone( xs:time )
xs:time adjust-time-to-timezone( xs:time, xs:dayTimeDuration )
]
[avg] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.4 Aggregate Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-avg]]
 [1] -
xs:anyAtomicType avg( xs:anyAtomicType* )
]
[base-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-base-uri]]
 [1] -
xs:anyURI base-uri(  )
xs:anyURI base-uri( node() )
]
[boolean] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-boolean]]
 [1] -
xs:boolean boolean( item()* )
]
[ceiling] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 6.4 Functions on Numeric Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-ceiling]]
 [1] -
numeric ceiling( numeric )
]
[codepoint-equal] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.3 Equality and Comparison of Strings [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-codepoint-equal]]
 [1] -
xs:boolean codepoint-equal( xs:string, xs:string )
]
[codepoints-to-string] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.2 Functions to Assemble and Disassemble Strings [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-codepoints-to-string]]
 [1] -
xs:string codepoints-to-string( xs:integer* )
]
[collection] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XPath 2.0 - 15.5 Functions and Operators that Generate Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-collection]]
 [1] -
node()* collection(  )
node()* collection( xs:string )
]
[compare] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.3 Equality and Comparison of Strings [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-compare]]
 [1] -
xs:integer compare( xs:string, xs:string )
xs:integer compare( xs:string, xs:string, xs:string )
]
[concat] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-concat]]
 [1] -
xs:string concat( xs:anyAtomicType, xs:anyAtomicType,  )
]
[contains] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.5 Functions Based on Substring Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-contains]]
 [1] -
xs:boolean contains( xs:string, xs:string )
xs:boolean contains( xs:string, xs:string, xs:string )
]
[count] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.4 Aggregate Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-count]]
 [1] -
xs:integer count( item()* )
]
[current] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.6.1 current [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-current]]
 [1] -
item() [current](  )
]
[current-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-current-date]]
 [1] -
xs:date current-date(  )
]
[current-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-current-dateTime]]
 [1] -
xs:dateTime current-dateTime(  )
]
[current-group] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 2.0 - 14.1 The Current Group [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-current-group]]
 [1] -
item()* [current-group](  )
]
[current-grouping-key] - [Sorting and grouping - Section 9.0]
[[1] - [XSLT 2.0 - 14.2 The Current Grouping Key [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-current-grouping-key]]
 [1] -
xs:anyAtomicType? [current-grouping-key](  )
]
[current-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-current-time]]
 [1] -
xs:time current-time(  )
]
[data] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-data]]
 [1] -
xs:anyAtomicType* data( item()* )
]
[dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 5 Constructor Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-dateTime]]
 [1] -
xs:dateTime dateTime( xs:date, xs:time )
]
[day-from-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-day-from-date]]
 [1] -
xs:integer day-from-date( xs:date )
]
[day-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-day-from-dateTime]]
 [1] -
xs:integer day-from-dateTime( xs:dateTime )
]
[days-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-days-from-duration]]
 [1] -
xs:integer days-from-duration( xs:duration )
]
[deep-equal] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.3 Equals, Union, Intersection and Except [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-deep-equal]]
 [1] -
xs:boolean deep-equal( item()*, item()* )
xs:boolean deep-equal( item()*, item()*, string )
]
[default-collation] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-default-collation]]
 [1] -
xs:string default-collation(  )
]
[distinct-values] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-distinct-values]]
 [1] -
xs:anyAtomicType* distinct-values( xs:anyAtomicType* )
xs:anyAtomicType* distinct-values( xs:anyAtomicType*, xs:string )
]
[doc] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XPath 2.0 - 15.5 Functions and Operators that Generate Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-doc]]
 [1] -
document-node() doc( xs:string )
]
[doc-available] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XPath 2.0 - 15.5 Functions and Operators that Generate Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-doc-available]]
 [1] -
xs:boolean doc-available( xs:string )
]
[document] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 16.1 Multiple Source Documents [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-document]]
 [1] -
node()* [document]( uri-sequence )
node()* [document]( uri-sequence, base-node )
]
[document-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-document-uri]]
 [1] -
xs:anyURI document-uri( node() )
]
[element-available] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 18.2.2 Testing Availability of Instructions [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-element-available]]
 [1] -
xs:boolean [element-available]( element-name )
]
[empty] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-empty]]
 [1] -
xs:boolean empty( item()* )
]
[encode-for-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-encode-for-uri]]
 [1] -
xs:string encode-for-uri( xs:string )
]
[ends-with] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.5 Functions Based on Substring Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-ends-with]]
 [1] -
xs:boolean ends-with( xs:string, xs:string )
xs:boolean ends-with( xs:string, xs:string, xs:string )
]
[error] - [The transformation environment - Section 5.0]
[[1] - [XPath 2.0 - 3 The Error Function [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-error]]
 [1] -
error(  )
error( xs:QName )
error( xs:QName, xs:string )
error( xs:QName, xs:string, item()* )
]
[escape-html-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-escape-html-uri]]
 [1] -
xs:string escape-html-uri( xs:string )
]
[exactly-one] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.2 Functions That Test the Cardinality of Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-exactly-one]]
 [1] -
item() exactly-one( item()* )
]
[exists] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-exists]]
 [1] -
xs:boolean exists( item()* )
]
[false] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 9.1 Additional Boolean Constructor Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-false]]
 [1] -
xs:boolean false(  )
]
[floor] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 6.4 Functions on Numeric Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-floor]]
 [1] -
numeric floor( numeric )
]
[format-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.5 Formatting Dates and Times [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-format-date]]
 [1] -
xs:string? [format-date]( value, picture, language, calendar, country )
xs:string? [format-date]( value, picture )
]
[format-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.5 Formatting Dates and Times [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-format-dateTime]]
 [1] -
xs:string? [format-dateTime]( value, picture, language, calendar, country )
xs:string? [format-dateTime]( value, picture )
]
[format-number] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.4 Number Formatting [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-format-number]]
 [1] -
xs:string [format-number]( value, picture )
xs:string [format-number]( value, picture, decimal-format-name )
]
[format-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.5 Formatting Dates and Times [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-format-time]]
 [1] -
xs:string? [format-time]( value, picture, language, calendar, country )
xs:string? [format-time]( value, picture )
]
[function-available] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 18.1.1 Testing Availability of Functions [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-function-available]]
 [1] -
xs:boolean [function-available]( function-name )
xs:boolean [function-available]( function-name, arity )
]
[generate-id] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.6.4 generate-id [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-generate-id]]
 [1] -
xs:string [generate-id](  )
xs:string [generate-id]( node )
]
[hours-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-hours-from-dateTime]]
 [1] -
xs:integer hours-from-dateTime( xs:dateTime )
]
[hours-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-hours-from-duration]]
 [1] -
xs:integer hours-from-duration( xs:duration )
]
[hours-from-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-hours-from-time]]
 [1] -
xs:integer hours-from-time( xs:time )
]
[id] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.5 Functions and Operators that Generate Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-id]]
 [1] -
element()* id( xs:string* )
element()* id( xs:string*, node() )
]
[idref] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.5 Functions and Operators that Generate Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-idref]]
 [1] -
node()* idref( xs:string* )
node()* idref( xs:string*, node() )
]
[implicit-timezone] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-implicit-timezone]]
 [1] -
xs:dayTimeDuration implicit-timezone(  )
]
[in-scope-prefixes] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.2 Functions and Operators Related to QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-in-scope-prefixes]]
 [1] -
xs:string* in-scope-prefixes( element() )
]
[index-of] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-index-of]]
 [1] -
xs:integer* index-of( xs:anyAtomicType*, xs:anyAtomicType )
xs:integer* index-of( xs:anyAtomicType*, xs:anyAtomicType, xs:string )
]
[insert-before] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-insert-before]]
 [1] -
item()* insert-before( item()*, xs:integer, item()* )
]
[iri-to-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-iri-to-uri]]
 [1] -
xs:string iri-to-uri( xs:string )
]
[key] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 16.3.2 The key Function [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-key]]
 [1] -
node()* [key]( key-name, key-value )
node()* [key]( key-name, key-value, top )
]
[lang] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-lang]]
 [1] -
xs:boolean lang( xs:string )
xs:boolean lang( xs:string, node() )
]
[last] - [XPath data model - Section 3.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-last]]
 [1] -
xs:integer last(  )
]
[local-name] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-local-name]]
 [1] -
xs:string local-name(  )
xs:string local-name( node() )
]
[local-name-from-QName] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.2 Functions and Operators Related to QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-local-name-from-QName]]
 [1] -
xs:NCName local-name-from-QName( xs:QName )
]
[lower-case] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-lower-case]]
 [1] -
xs:string lower-case( xs:string )
]
[matches] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.6 String Functions that Use Pattern Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-matches]]
 [1] -
xs:boolean matches( xs:string, xs:string )
xs:boolean matches( xs:string, xs:string, xs:string )
]
[max] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.4 Aggregate Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-max]]
 [1] -
xs:anyAtomicType max( xs:anyAtomicType* )
xs:anyAtomicType max( xs:anyAtomicType*, string )
]
[min] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.4 Aggregate Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-min]]
 [1] -
xs:anyAtomicType min( xs:anyAtomicType* )
xs:anyAtomicType min( xs:anyAtomicType*, string )
]
[minutes-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-minutes-from-dateTime]]
 [1] -
xs:integer minutes-from-dateTime( xs:dateTime )
]
[minutes-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-minutes-from-duration]]
 [1] -
xs:integer minutes-from-duration( xs:duration )
]
[minutes-from-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-minutes-from-time]]
 [1] -
xs:integer minutes-from-time( xs:time )
]
[month-from-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-month-from-date]]
 [1] -
xs:integer month-from-date( xs:date )
]
[month-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-month-from-dateTime]]
 [1] -
xs:integer month-from-dateTime( xs:dateTime )
]
[months-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-months-from-duration]]
 [1] -
xs:integer months-from-duration( xs:duration )
]
[name] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-name]]
 [1] -
xs:string name(  )
xs:string name( node() )
]
[namespace-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-namespace-uri]]
 [1] -
xs:anyURI namespace-uri(  )
xs:anyURI namespace-uri( node() )
]
[namespace-uri-for-prefix] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.2 Functions and Operators Related to QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-namespace-uri-for-prefix]]
 [1] -
xs:anyURI namespace-uri-for-prefix( xs:string, element() )
]
[namespace-uri-from-QName] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.2 Functions and Operators Related to QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-namespace-uri-from-QName]]
 [1] -
xs:anyURI namespace-uri-from-QName( xs:QName )
]
[nilled] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-nilled]]
 [1] -
xs:boolean nilled( node() )
]
[node-name] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-node-name]]
 [1] -
xs:QName node-name( node() )
]
[normalize-space] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-normalize-space]]
 [1] -
xs:string normalize-space(  )
xs:string normalize-space( xs:string )
]
[normalize-unicode] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-normalize-unicode]]
 [1] -
xs:string normalize-unicode( xs:string )
xs:string normalize-unicode( xs:string, xs:string )
]
[not] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 9.3 Functions on Boolean Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-not]]
 [1] -
xs:boolean not( item()* )
]
[number] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-number]]
 [1] -
xs:double number(  )
xs:double number( xs:anyAtomicType )
]
[one-or-more] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.2 Functions That Test the Cardinality of Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-one-or-more]]
 [1] -
item()+ one-or-more( item()* )
]
[position] - [XPath data model - Section 3.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-position]]
 [1] -
xs:integer position(  )
]
[prefix-from-QName] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.2 Functions and Operators Related to QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-prefix-from-QName]]
 [1] -
xs:NCName prefix-from-QName( xs:QName )
]
[QName] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.1 Additional Constructor Functions for QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-QName]]
 [1] -
xs:QName QName( xs:string, xs:string )
]
[regex-group] - [Data type expressions and functions - Section 7.0]
[[1] - [XSLT 2.0 - 15.2 Captured Substrings [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-regex-group]]
 [1] -
xs:string [regex-group]( group-number )
]
[remove] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-remove]]
 [1] -
item()* remove( item()*, xs:integer )
]
[replace] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.6 String Functions that Use Pattern Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-replace]]
 [1] -
xs:string replace( xs:string, xs:string, xs:string )
xs:string replace( xs:string, xs:string, xs:string, xs:string )
]
[resolve-QName] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 11.1 Additional Constructor Functions for QNames [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-resolve-QName]]
 [1] -
xs:QName resolve-QName( xs:string, element() )
]
[resolve-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 8 Functions on anyURI [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-resolve-uri]]
 [1] -
xs:anyURI resolve-uri( xs:string )
xs:anyURI resolve-uri( xs:string, xs:string )
]
[reverse] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-reverse]]
 [1] -
item()* reverse( item()* )
]
[root] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 14 Functions and Operators on Nodes [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-root]]
 [1] -
node() root(  )
node() root( node() )
]
[round] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 6.4 Functions on Numeric Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-round]]
 [1] -
numeric round( numeric )
]
[round-half-to-even] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 6.4 Functions on Numeric Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-round-half-to-even]]
 [1] -
numeric round-half-to-even( numeric )
numeric round-half-to-even( numeric, xs:integer )
]
[seconds-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-seconds-from-dateTime]]
 [1] -
xs:decimal seconds-from-dateTime( xs:dateTime )
]
[seconds-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-seconds-from-duration]]
 [1] -
xs:decimal seconds-from-duration( xs:duration )
]
[seconds-from-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-seconds-from-time]]
 [1] -
xs:decimal seconds-from-time( xs:time )
]
[starts-with] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.5 Functions Based on Substring Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-starts-with]]
 [1] -
xs:boolean starts-with( xs:string, xs:string )
xs:boolean starts-with( xs:string, xs:string, xs:string )
]
[static-base-uri] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 16 Context Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-static-base-uri]]
 [1] -
xs:anyURI static-base-uri(  )
]
[string] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 2 Accessors [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-string]]
 [1] -
xs:string string(  )
xs:string string( item() )
]
[string-join] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-string-join]]
 [1] -
xs:string string-join( xs:string*, xs:string )
]
[string-length] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-string-length]]
 [1] -
xs:integer string-length(  )
xs:integer string-length( xs:string )
]
[string-to-codepoints] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.2 Functions to Assemble and Disassemble Strings [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-string-to-codepoints]]
 [1] -
xs:integer* string-to-codepoints( xs:string )
]
[subsequence] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-subsequence]]
 [1] -
item()* subsequence( item()*, xs:double )
item()* subsequence( item()*, xs:double, xs:double )
]
[substring] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-substring]]
 [1] -
xs:string substring( xs:string, xs:double )
xs:string substring( xs:string, xs:double, xs:double )
]
[substring-after] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.5 Functions Based on Substring Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-substring-after]]
 [1] -
xs:string substring-after( xs:string, xs:string )
xs:string substring-after( xs:string, xs:string, xs:string )
]
[substring-before] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.5 Functions Based on Substring Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-substring-before]]
 [1] -
xs:string substring-before( xs:string, xs:string )
xs:string substring-before( xs:string, xs:string, xs:string )
]
[sum] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.4 Aggregate Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-sum]]
 [1] -
xs:anyAtomicType sum( xs:anyAtomicType* )
xs:anyAtomicType sum( xs:anyAtomicType*, xs:anyAtomicType )
]
[system-property] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 16.6.5 system-property [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-system-property]]
 [1] -
xs:string [system-property]( property-name )
]
[timezone-from-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-timezone-from-date]]
 [1] -
xs:dayTimeDuration timezone-from-date( xs:date )
]
[timezone-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-timezone-from-dateTime]]
 [1] -
xs:dayTimeDuration timezone-from-dateTime( xs:dateTime )
]
[timezone-from-time] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-timezone-from-time]]
 [1] -
xs:dayTimeDuration timezone-from-time( xs:time )
]
[tokenize] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.6 String Functions that Use Pattern Matching [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-tokenize]]
 [1] -
xs:string* tokenize( xs:string, xs:string )
xs:string* tokenize( xs:string, xs:string, xs:string )
]
[trace] - [The transformation environment - Section 5.0]
[[1] - [XPath 2.0 - 4 The Trace Function [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-trace]]
 [1] -
item()* trace( item()*, xs:string )
]
[translate] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-translate]]
 [1] -
xs:string translate( xs:string, xs:string, xs:string )
]
[true] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 9.1 Additional Boolean Constructor Functions [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-true]]
 [1] -
xs:boolean true(  )
]
[type-available] - [The transformation environment - Section 5.0]
[[1] - [XSLT 2.0 - 18.1.4 Testing Availability of Types [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-type-available]]
 [1] -
xs:boolean [type-available]( type-name )
]
[unordered] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.1 General Functions and Operators on Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-unordered]]
 [1] -
item()* unordered( item()* )
]
[unparsed-entity-public-id] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 16.6.3 unparsed-entity-public-id [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-unparsed-entity-public-id]]
 [1] -
xs:string [unparsed-entity-public-id]( entity-name )
]
[unparsed-entity-uri] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 16.6.2 unparsed-entity-uri [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-unparsed-entity-uri]]
 [1] -
xs:anyURI [unparsed-entity-uri]( entity-name )
]
[unparsed-text] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 16.2 Reading Text Files [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-unparsed-text]]
 [1] -
xs:string? [unparsed-text]( href )
xs:string? [unparsed-text]( href, encoding )
]
[unparsed-text-available] - [Why modularize logical and physical structures? - Section 6.0]
[[1] - [XSLT 2.0 - 16.2 Reading Text Files [http://www.w3.org/TR/2007/REC-xslt20-20070123/#function-unparsed-text-available]]
 [1] -
xs:boolean [unparsed-text-available]( href )
xs:boolean [unparsed-text-available]( href, encoding )
]
[upper-case] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 7.4 Functions on String Values [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-upper-case]]
 [1] -
xs:string upper-case( xs:string )
]
[year-from-date] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-year-from-date]]
 [1] -
xs:integer year-from-date( xs:date )
]
[year-from-dateTime] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-year-from-dateTime]]
 [1] -
xs:integer year-from-dateTime( xs:dateTime )
]
[years-from-duration] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 10.5 Component Extraction Functions on Durations, Dates and Times [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-years-from-duration]]
 [1] -
xs:integer years-from-duration( xs:duration )
]
[zero-or-one] - [Data type expressions and functions - Section 7.0]
[[1] - [XPath 2.0 - 15.2 Functions That Test the Cardinality of Sequences [http://www.w3.org/TR/2007/REC-xpath-functions-20070123/#func-zero-or-one]]
 [1] -
item() zero-or-one( item()* )
]
C.2.3 XPath 2.0 grammar productions
[> C.2.4][> D.][< C.2.2][^][^^][^^^]
Expressions (3)
[1] XPath
 ::= 
[Expr[2]]
[2] Expr
 ::= 
[ExprSingle[3]] ("," [ExprSingle[3]])*
[3] ExprSingle
 ::= 
[ForExpr[4]]| [QuantifiedExpr[6]]| [IfExpr[7]]| [OrExpr[8]]
For Expressions (3.7)
[4] ForExpr
 ::= 
[SimpleForClause[5]] "return" [ExprSingle[3]]
[5] SimpleForClause
 ::= 
"for" "$" [VarName[45]] "in" [ExprSingle[3]] ("," "$" [VarName[45]] "in" [ExprSingle[3]])*
Quantified Expressions (3.9)
[6] QuantifiedExpr
 ::= 
("some" | "every") "$" [VarName[45]] "in" [ExprSingle[3]] ("," "$" [VarName[45]] "in" [ExprSingle[3]])* "satisfies" [ExprSingle[3]]
Conditional Expressions (3.8)
[7] IfExpr
 ::= 
"if" "(" [Expr[2]] ")" "then" [ExprSingle[3]] "else" [ExprSingle[3]]
Logical Expressions (3.6)
[8] OrExpr
 ::= 
[AndExpr[9]] ( "or" [AndExpr[9]] )*
[9] AndExpr
 ::= 
[ComparisonExpr[10]] ( "and" [ComparisonExpr[10]] )*
Comparison Expressions (3.5)
[10] ComparisonExpr
 ::= 
[RangeExpr[11]] ( ([ValueComp[23]]| [GeneralComp[22]]| [NodeComp[24]]) [RangeExpr[11]] )?
Constructing Sequences (3.3.1)
[11] RangeExpr
 ::= 
[AdditiveExpr[12]] ( "to" [AdditiveExpr[12]] )?
Arithmetic Expressions (3.4)
[12] AdditiveExpr
 ::= 
[MultiplicativeExpr[13]] ( ("+" | "-") [MultiplicativeExpr[13]] )*
[13] MultiplicativeExpr
 ::= 
[UnionExpr[14]] ( ("*" | "div" | "idiv" | "mod") [UnionExpr[14]] )*
Combining Node Sequences (3.3.3)
[14] UnionExpr
 ::= 
[IntersectExceptExpr[15]] ( ("union" | "|") [IntersectExceptExpr[15]] )*
[15] IntersectExceptExpr
 ::= 
[InstanceofExpr[16]] ( ("intersect" | "except") [InstanceofExpr[16]] )*
Instance Of (3.10.1)
[16] InstanceofExpr
 ::= 
[TreatExpr[17]] ( "instance" "of" [SequenceType[50]] )?
Treat (3.10.5)
[17] TreatExpr
 ::= 
[CastableExpr[18]] ( "treat" "as" [SequenceType[50]] )?
Castable (3.10.3)
[18] CastableExpr
 ::= 
[CastExpr[19]] ( "castable" "as" [SingleType[49]] )?
Cast (3.10.2)
[19] CastExpr
 ::= 
[UnaryExpr[20]] ( "cast" "as" [SingleType[49]] )?
Arithmetic Expressions (3.4)
[20] UnaryExpr
 ::= 
("-" | "+")* [ValueExpr[21]]
[21] ValueExpr
 ::= 
[PathExpr[25]]
Comparison Expressions (3.5)
[22] GeneralComp
 ::= 
"=" | "!=" | "<" | "<=" | ">" | ">="
[23] ValueComp
 ::= 
"eq" | "ne" | "lt" | "le" | "gt" | "ge"
[24] NodeComp
 ::= 
"is" | "<<" | ">>"
Path Expressions (3.2)
[25] PathExpr
 ::= 
("/" [RelativePathExpr[26]]?)| ("//" [RelativePathExpr[26]])| [RelativePathExpr[26]]
[26] RelativePathExpr
 ::= 
[StepExpr[27]] (("/" | "//") [StepExpr[27]])*
Steps (3.2.1)
[27] StepExpr
 ::= 
[FilterExpr[38]] | [AxisStep[28]]
[28] AxisStep
 ::= 
([ReverseStep[32]] | [ForwardStep[29]]) [PredicateList[39]]
[29] ForwardStep
 ::= 
([ForwardAxis[30]] [NodeTest[35]]) | [AbbrevForwardStep[31]]
Axes (3.2.1.1)
[30] ForwardAxis
 ::= 
("child" "::")| ("descendant" "::")| ("attribute" "::")| ("self" "::")| ("descendant-or-self" "::")| ("following-sibling" "::")| ("following" "::")| ("namespace" "::")
Abbreviated Syntax (3.2.4)
[31] AbbrevForwardStep
 ::= 
"@"? [NodeTest[35]]
Steps (3.2.1)
[32] ReverseStep
 ::= 
([ReverseAxis[33]] [NodeTest[35]]) | [AbbrevReverseStep[34]]
Axes (3.2.1.1)
[33] ReverseAxis
 ::= 
("parent" "::")| ("ancestor" "::")| ("preceding-sibling" "::")| ("preceding" "::")| ("ancestor-or-self" "::")
Abbreviated Syntax (3.2.4)
[34] AbbrevReverseStep
 ::= 
".."
Node Tests (3.2.1.2)
[35] NodeTest
 ::= 
[KindTest[54]] | [NameTest[36]]
[36] NameTest
 ::= 
[QName[78]] | [Wildcard[37]]
[37] Wildcard
 ::= 
"*"| ([NCName[79]] ":" "*")| ("*" ":" [NCName[79]])
Filter Expressions (3.3.2)
[38] FilterExpr
 ::= 
[PrimaryExpr[41]] [PredicateList[39]]
Steps (3.2.1)
[39] PredicateList
 ::= 
[Predicate[40]]*
Predicates (3.2.2)
[40] Predicate
 ::= 
"[" [Expr[2]] "]"
Primary Expressions (3.1)
[41] PrimaryExpr
 ::= 
[Literal[42]] | [VarRef[44]] | [ParenthesizedExpr[46]] | [ContextItemExpr[47]] | [FunctionCall[48]]
Literals (3.1.1)
[42] Literal
 ::= 
[NumericLiteral[43]] | [StringLiteral[74]]
[43] NumericLiteral
 ::= 
[IntegerLiteral[71]] | [DecimalLiteral[72]] | [DoubleLiteral[73]]
Variable References (3.1.2)
[44] VarRef
 ::= 
"$" [VarName[45]]
[45] VarName
 ::= 
[QName[78]]
Parenthesized Expressions (3.1.3)
[46] ParenthesizedExpr
 ::= 
"(" [Expr[2]]? ")"
Context Item Expression (3.1.4)
[47] ContextItemExpr
 ::= 
"."
Function Calls (3.1.5)
[48] FunctionCall
 ::= 
[QName[78]] "(" ([ExprSingle[3]] ("," [ExprSingle[3]])*)? ")"
Cast (3.10.2)
[49] SingleType
 ::= 
[AtomicType[53]] "?"?
SequenceType Syntax (2.5.3)
[50] SequenceType
 ::= 
("empty-sequence" "(" ")")| ([ItemType[52]] [OccurrenceIndicator[51]]?)
[51] OccurrenceIndicator
 ::= 
"?" | "*" | "+"
[52] ItemType
 ::= 
[KindTest[54]] | ("item" "(" ")") | [AtomicType[53]]
[53] AtomicType
 ::= 
[QName[78]]
[54] KindTest
 ::= 
[DocumentTest[56]]| [ElementTest[64]]| [AttributeTest[60]]| [SchemaElementTest[66]]| [SchemaAttributeTest[62]]| [PITest[59]]| [CommentTest[58]]| [TextTest[57]]| [AnyKindTest[55]]
[55] AnyKindTest
 ::= 
"node" "(" ")"
[56] DocumentTest
 ::= 
"document-node" "(" ([ElementTest[64]] | [SchemaElementTest[66]])? ")"
[57] TextTest
 ::= 
"text" "(" ")"
[58] CommentTest
 ::= 
"comment" "(" ")"
[59] PITest
 ::= 
"processing-instruction" "(" ([NCName[79]] | [StringLiteral[74]])? ")"
[60] AttributeTest
 ::= 
"attribute" "(" ([AttribNameOrWildcard[61]] ("," [TypeName[70]])?)? ")"
[61] AttribNameOrWildcard
 ::= 
[AttributeName[68]] | "*"
[62] SchemaAttributeTest
 ::= 
"schema-attribute" "(" [AttributeDeclaration[63]] ")"
[63] AttributeDeclaration
 ::= 
[AttributeName[68]]
[64] ElementTest
 ::= 
"element" "(" ([ElementNameOrWildcard[65]] ("," [TypeName[70]] "?"?)?)? ")"
[65] ElementNameOrWildcard
 ::= 
[ElementName[69]] | "*"
[66] SchemaElementTest
 ::= 
"schema-element" "(" [ElementDeclaration[67]] ")"
[67] ElementDeclaration
 ::= 
[ElementName[69]]
[68] AttributeName
 ::= 
[QName[78]]
[69] ElementName
 ::= 
[QName[78]]
[70] TypeName
 ::= 
[QName[78]]
Literals (3.1.1)
[71] IntegerLiteral
 ::= 
[Digits[81]]
[72] DecimalLiteral
 ::= 
("." [Digits[81]]) | ([Digits[81]] "." [0-9]*)
[73] DoubleLiteral
 ::= 
(("." [Digits[81]]) | ([Digits[81]] ("." [0-9]*)?)) [eE] [+-]? [Digits[81]]
[74] StringLiteral
 ::= 
('"' ([EscapeQuot[75]] | [^"])* '"') | ("'" ([EscapeApos[76]] | [^'])* "'")
[75] EscapeQuot
 ::= 
'""'
[76] EscapeApos
 ::= 
"''"
Comments (2.6)
[77] Comment
 ::= 
"(:" ([CommentContents[82]] | [Comment[77]])* ":)"
Terminal Symbols (1.2.1)
[78] QName
 ::= 
[[http://www.w3.org/TR/REC-xml-names/#NT-QName][XML-Names-7] [http://www.w3.org/TR/REC-xml-names/#NT-QName]]
[79] NCName
 ::= 
[[http://www.w3.org/TR/REC-xml-names/#NT-NCName][XML-Names-4] [http://www.w3.org/TR/REC-xml-names/#NT-NCName]]
[80] Char
 ::= 
[[http://www.w3.org/TR/REC-xml#NT-Char][XML-2] [http://www.w3.org/TR/REC-xml#NT-Char]]
Literals (3.1.1)
[81] Digits
 ::= 
[0-9]+
Comments (2.6)
[82] CommentContents
 ::= 
([Char[80]]+ - (Char* ('(:' | ':)') Char*))
C.2.4 XSLT 2.0 grammar productions
[> D.][< C.2.3][^][^^][^^^]
[1] Pattern
 ::= 
[ PathPattern[2]]
| [ Pattern[1]] '|' [ PathPattern[2]]
[2] PathPattern
 ::= 
[ RelativePathPattern[3]]
| '/' [ RelativePathPattern[3]]?
| '//' [ RelativePathPattern[3]]
| [ IdKeyPattern[6]] (('/' | '//') [ RelativePathPattern[3]])?
[3] RelativePathPattern
 ::= 
[ PatternStep[4]] (('/' | '//') [ RelativePathPattern[3]])?
[4] PatternStep
 ::= 
[ PatternAxis[5]]? [NodeTest[XPath-35]] [ PredicateList[XPath-39]]
[5] PatternAxis
 ::= 
('child' '::' | 'attribute' '::' | '@')
[6] IdKeyPattern
 ::= 
'id' '(' [ IdValue[7]] ')'
| 'key' '(' [ StringLiteral[XPath-74]] ',' [KeyValue[8]] ')'
[7] IdValue
 ::= 
[ StringLiteral[XPath-74]] | [VarRef[XPath-44]]
[8] KeyValue
 ::= 
[Literal[XPath-42]] | [VarRef[XPath-44]]

*** This is a free preview excerpt of a commercial publication. ***

This is an accessible version of Crane's commercial training material. The content has been specifically designed to assist screen reader software in viewing the entire textual content. Figures are replaced with text narratives.

Navigation hints are in square brackets:
[Tx.x] and [Fx.x] are textual representations of the applicability icons;
[digit] indicates list depth for nested lists;
[link [URL]] indicates the URL of a hyperlink if different than link;
[EXAMPLE] indicates an example listing of code;
[FIGURE] indicates the presence of a figure replaced by its description;
[>] jumps forward;
[<] jumps backward;
[^] jumps to start of the section;
[^^] jumps to the start of the chapter;
[^^^] jumps to the table of contents.
Suggestions for improvement are welcome: [info@CraneSoftwrights.com]
Book sales: [http://www.CraneSoftwrights.com/links/trn-acc.htm]
Information: [http://www.CraneSoftwrights.com/links/info-acc.htm]
This content is protected by copyright and, as there are no means to protect this accessible version from plagiarism, please do not make any commercial edition available to others.

+//ISBN 978-1-894049::CSL::Courses::PTUX//DOCUMENT Practical Transformation Using XSLT and XPath 2011-02-11 21:00UTC//EN
Practical Transformation Using XSLT and XPath
Fourteenth Edition - 2011-02-11
ISBN 978-1-894049-24-5
Copyright © Crane Softwrights Ltd.