OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   XPath predicate and context

[ Lists Home | Date Index | Thread Index ]

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?

Thanks,
Harold Putman




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS