[xquery-talk] outer for
Eric Robinson
tracknerd2003 at yahoo.com
Thu Apr 23 10:49:31 PDT 2009
I was wondering if someone can help me with a xquery issue I am having.
What I am trying to do is create a web page that will allow a user to enter information about what they are looking for in a xml document and return to them the xml document if it matches their criteria. I thought I had it all working till I hit an issue with missing repeatable complex types.
Example of xml and xquery that works.
<book>
<title>Data on the web</title>
<author>Dan Suciu</author>
<section>
<title>Introduction</title>
<figure>
<title>Traditional</title>
<image source="csarch.gih"/>
</figure>
<figure>
<title>Examples</title>
<image source="example.gif"/>
</figure>
</section>
<section>
<title>Syntax</title>
</section>
</book>
for $book in /book
for $section in $book/section
for $figure in $section/figure
where ($book/author='Dan Suciu' and (($figure/title='Examples' and $section/title='Syntax) or ($figure/title='Examples' and $figure/image/@source='example.gif')))
return $book
Since the xml matches the where at
<figure>
<title>Examples</title>
<image source="example.gif"/>
</figure>
it returns me the enitre document like I want.
Example that breaks my xquery.
<book>
<title>Data on the web</title>
<author>Dan Suciu</author>
<section>
<title>Introduction</title>
</section>
<section>
<title>Syntax</title>
</section>
</book>
for $book in /book
for $section in $book/section
for $figure in $section/figure
where ($book/author='Dan Suciu' and (($figure/title='Examples' or $section/title='Syntax) or ($figure/title='Examples' and $figure/image/@source='example.gif')))
return $book
This will always return nothing because there is no /book/section/figure in the xml.
I believe once "outer for" is implemented I will be able to do
for $book in /book
for $section in $book/section
outer for $figure in $section/figure
where ($book/author='Dan Suciu' and (($figure/title='Examples' or $section/title='Syntax) or ($figure/title='Examples' and $figure/image/@source='example.gif')))
return $book
Anyone have any ideas how I could get this to work?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://x-query.com/pipermail/talk/attachments/20090423/009917df/attachment.htm
More information about the talk
mailing list