XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (302 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
3.47Mb size Format: txt, pdf, ePub


to process the four selected elements in the order indicated.

If there is no contained expression, that is, if the
ParenthesizedExpr
is written as
()
, then its value is the empty sequence. For example, the expression
$a
union
()
returns the union of the sequence
$a
and the empty sequence; this has the effect of returning all the nodes in
$a
, in document order and with duplicates removed. The
union
operator (which can also be written
|
) is described in Chapter 9.

One special case where the meaning of parentheses may not be immediately apparent is in conjunction with predicates. Predicates are used to filter the items in a sequence; for example,
$seq[.>= 0]
selects all the items in the sequence
$seq
whose value is greater than zero. As explained in Chapter 9, the meaning of a predicate is subtly different when it appears as part of an axis step. The result of this distinction is that:

  • ancestor::node()[1]
    selects the innermost ancestor of the context node (that is, its parent)
  • (ancestor::node())[1]
    selects the outermost ancestor of the context node (that is, the root of the tree).

Other books

At First Touch by Tamara Sneed
Cash Burn by Michael Berrier
Ambush in the Ashes by William W. Johnstone
Absent Light by Eve Isherwood
Drawing Conclusions by Donna Leon