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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] XPath predicate and context

[ Lists Home | Date Index | Thread Index ]

No, I don't think you can do this within a single XPath 1.0 expression.

In XPath 2.0 you can do

for $x in . return /doc/state[@id=$x/@state]

Michael Kay

> -----Original Message-----
> From: Putman, Harold [mailto:PutmanH@diebold.com] 
> Sent: 22 December 2003 15:43
> To: 'xml-dev@lists.xml.org'
> Subject: [xml-dev] XPath predicate and context
> 
> 
> 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
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org 
> <http://www.xml.org>, an initiative of OASIS 
<http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>





 

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

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