Simple Location Paths
Now that we’ve talked about what a context is and why it matters, we’ll look at some location paths. We’ll start with a variety of simple paths; as we go along, we’ll look at more complex location paths that use all the various features of XPath. We already looked at one of the simplest XSLT patterns:
<xsl:template match="/">
This template selects the root node of the document. We saw
another simple XPath expression in the <xsl:value-of> element:
<xsl:value-of select="."/>
This template selects the context node, represented by a period.
To complete our tour of very simple location paths, we can use the
double period (..) to select the
parent of the context node:
<xsl:value-of select=".."/>
All these XPath expressions have one thing in common: they don’t use element names. As you might have noticed in our Hello World example, you can use element names to select elements that have a particular name:
<xsl:apply-templates select="greeting"/>
In this example, we select all of the <greeting> elements in the current
context and apply the appropriate template to each of them. Turning to
our XML sonnet, we can create location paths that specify more than
one level in the document hierarchy:
<xsl:apply-templates select="lines/line"/>
This example selects all <line> elements that are contained in
any <lines> elements in the
current context. If the current context doesn’t have any <lines> elements, then this expression returns an empty node-set. If the current context has plenty ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access