<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Path expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="next" href="ch02s03s03.html" title="Axis steps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Path_expressions"></a>Path expressions</h3></div></div></div><p>A path expression is a sequence of steps separated by the
        <span class="bold"><strong>/''' or '''//</strong></span> operator. For example,
        <span class="bold"><strong>../@desc</strong></span> selects the desc attribute
        of the parent of the context node.</p><p>In XPath 2.0, path expressions have been generalized so that any
        expression can be used as an operand of <span class="bold"><strong>/</strong></span>, (both on the left and the right), as long as
        its value is a sequence of nodes. For example, it is possible to use a
        union expression (in parentheses) or a call to the id()
        function.</p><p>In practice, it only makes sense to use expressions on the right
        of <span class="bold"><strong>"/"</strong></span> if they depend on the context
        item. It is legal to write $x/$y provided both $x and $y are sequences
        of nodes, but the result is exactly the same as writing <span class="bold"><strong> <span class="italic">./$y</span>
        </strong></span>.</p><p>Note that the expressions <span class="bold"><strong>./$X</strong></span>
        or <span class="bold"><strong>$X/.</strong></span> can be used to remove
        duplicates from <span class="bold"><strong>$X</strong></span> and sort the
        results into document order.</p><p>The operator <span class="bold"><strong>//</strong></span> is an
        abbreviation for <span class="bold"><strong>/descendant-or-self::node()</strong></span>. An expression of
        the form <span class="bold"><strong>/E</strong></span> is shorthand for
        <span class="bold"><strong>root(.)/E</strong></span>, and the expression
        <span class="bold"><strong>/''' on its own is shorthand for
        '''root(.)</strong></span>.</p></div></body></html>