[xsl] XPath context evaluation

Subject: [xsl] XPath context evaluation
From: Victor Toni <xsl-list@xxxxxxxxx>
Date: Fri, 12 May 2006 14:03:58 +0200
I apologize for hijacking the XSL list for XPath questions, I wish there
would be some kind of XPath list ..

I have written some XSL-like application (maybe a bit more like FOP)
which uses the results of XPath expression as trigger for further
processing:
The attached file is a stripped down example of an XML file I would like
to process. At some point I am iterating over the <some> element and
it's children.
I would like to retrieve the associated <info> element from the
<infoList> for a given <id> element in the <idList>.
Since the application is agnostic about the data it reads I want to use
an XPath expression to find the correct element. Using a string as '123'
(e.g. "//info[id = '123']" ) shows no issues, however I am not able to
use the current context (one of the <id> elements in the <idList>) to
evaluate an XPath expression as "//info[id = .]" or "//info[string(id) =
(.)]".

Am I missing something obvious, is this a restriction of XPath?

Kindest regards,
Victor


------------------------------------------------------



<?xml version="1.0" encoding="UTF-8"?> <root> <infoList> <info> <name>abc</name> <id>123</id> </info> <info> <name>klm</name> <id>456</id> </info> <info> <name>xyz</name> <id>789</id> </info> </infoList> <data> <someList> <some> <readme>some words</readme> <idList> <id>123</id> </idList> </some> <some> <readme>some more words</readme> <idList> <id>123</id> <id>456</id> </idList> </some> <some> <readme>famous last words</readme> <idList> <id>456</id> <id>789</id> </idList> </some> </someList> </data> </root>

Current Thread