[
Lists Home |
Date Index |
Thread Index
]
At 15:43 22/12/2003, Putman, Harold wrote:
>Is there any way to get information from the context of the current XPath
>expression, and use that inside a predicate expression. For example, if I
>have
><doc>
> <state id="OH">Ohio</state>
> <state id="PA">Pennsylvania</state>
> <home state="PA"/>
> <home state="OH"/>
></doc>
>I want to write an XPath expression that will give me the name of the state
>assigned to the home element. Something like this works as long as long as
>there is only one home: /doc/state[@id=/doc/home/@state]
>But what I want to do is evaluate an XPath at any home node and get the
>state name for that node. Something like:
>/doc/state[@id=current()/@state]
>Where current would be the context node when the XPath evaluation starts.
>The problem is that current() is not a part of XPath... In XSLT I would do
>this using a variable.
><xsl:variable name="state">
> <xsl:value-of select="@state"/>
></xsl:variable>
><xsl:value-of select="/doc/state[@id=$state]"/>
>But, it seems like there should be a way to do this with XPath alone. Is
>there a way?
Look up keys.
If you had a key which listed all the states via their code
the value of the state would be accessible.
HTH DaveP
|