[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] XQuery Puzzle
- From: Jonathan Robie <jonathan.robie@redhat.com>
- To: Fraser Goffin <goffinf@googlemail.com>
- Date: Thu, 17 Apr 2008 14:27:56 -0400
Did you get a different result, or did you just find that not all
implementations support all of these axes (which would give you an error)?
Jonathan
Fraser Goffin wrote:
> Is there any difference in the way that XPath 1.0 and 2.0 evaluate
> multiple predicates like this (there was a different result between
> some of the XQuery processors used and it wasn't clear whether these
> implemented XPath 1.0 or 2.0) ?
>
> Fraser.
>
> On 17/04/2008, Michael Kay <mike@saxonica.com> wrote:
>
>>> Thanks. Does Andrews point above still hold though, that is,
>>> gotcha and div1 nodes are NOT siblings since they don't share
>>> a common parent ??
>>>
>> Yes, the expression was void on both counts - Andrew spotted one mistake, I
>> spotted another.
>>
>> Michael Kay
>> http://www.saxonica.com/
>>
>>
>>> Fraser
>>>
>>> On 17/04/2008, Michael Kay <mike@saxonica.com> wrote:
>>>
>>>>> Sorry for asking an XQuery question here, if there is a more
>>>>> appropriate forum please let me know.
>>>>>
>>>> talk at x-query.com
>>>>
>>>>
>>>>> Anyway, a question relating to this simple XQuery has been
>>>>> circulating on another group, but I am puzzled as to
>>>>>
>>> whether using
>>>
>>>>> // on a sequence is valid (see the return clause below).
>>>>>
>>> I tried in
>>>
>>>>> a couple of XQuery parsers (Saxon9 + the one built into
>>>>>
>>> XML Spy) and
>>>
>>>>> both return no results ??
>>>>>
>>>>> let $set := (
>>>>> <div1>one </div1>,
>>>>> <div1 class="doc">two </div1>,
>>>>> <div1>three </div1>,
>>>>> <div1 class="doc">four </div1>,
>>>>> <gotcha>START</gotcha>,
>>>>> <div1>five </div1>
>>>>> )
>>>>> return $set//gotcha/preceding-sibling::div1[@class="doc"][1]
>>>>>
>>>> This is actually an XPath question. This path expands to
>>>>
>>>>
>>>>
>>> $set/descendant-or-self::node()/child::gotcha/preceding-sibling::div1[
>>>
>>>> @class
>>>> ="doc"][1]
>>>>
>>>> Now, one of the elements in $set is a gotcha element, but
>>>>
>>> none of them
>>>
>>>> has a child, or has a descendant with a child, named
>>>>
>>> gotcha. Therefore
>>>
>>>> the expression selects nothing.
>>>>
>>>> You want $set/self::gotcha/....
>>>>
>>>> Michael Kay
>>>> http://www.saxonica.com/
>>>>
>>>>
>>>>
>>> ______________________________________________________________
>>> _________
>>>
>>> XML-DEV is a publicly archived, unmoderated list hosted by
>>> OASIS to support XML implementation and development. To
>>> minimize spam in the archives, you must subscribe before posting.
>>>
>>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>>> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>>> subscribe: xml-dev-subscribe@lists.xml.org List archive:
>>> http://lists.xml.org/archives/xml-dev/
>>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>>>
>>>
>>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
>
>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]