XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XQuery Puzzle

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
??

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/
>
>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS