[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

Returning "pre-pos" context

Michael Kay mhk at mhk.me.uk
Thu Jan 5 17:34:34 PST 2006


pre pos
Your terminology is a bit out: you're looking for elements, not tags: but I
think what you want is to find three consecutive <tok> elements whose child
<orth> elements contain the values AA, BB, and CC respectively. I'm not sure
why you've focused on the middle one of the three explicitly, but I'll
retain that emphasis in the solution:
 
tok[orth='BB'][following-sibling::tok[1]/orth='CC'][preceding-sibling::tok[1
]/orth='AA']
 
Of course this assumes that your XQuery implementation offers all the axes.
But then you don't actually need XQuery for this: the above is pure XPath
1.0.
 
Michael Kay
http://www.saxonica.com/


  _____  

From: http://xquery.com/mailman/listinfo/talk [mailto:http://xquery.com/mailman/listinfo/talk] On Behalf Of
Elarrat, EFC
Sent: 05 January 2006 16:27
To: http://xquery.com/mailman/listinfo/talk
Subject:  Returning "pre-pos" context


Happy new year everybody
 
 
I have this xml structure
                       <s>
                         <tok>
                              <orth>dataxxx</orth>
                              <lex>
                                   <ctag>datayyy</ctag> 
                              </lex>
                         </tok>
                        ...(mani tok tags for a s tag)
                       </s>
 
I tried to do the following: 
find the tags that contains some data beginning with d (for example) on the
ORTH tag - Ok You guys already helped me with that

find the tags that contains some data beginning with d (for example) on the
CTAG tag - Ok You guys already helped me with that

find the tags that contains some data beginning with d (for example) on the
ORTH AND the CTAG tag - Ok You guys already helped me with that
 
And now the hard one (for me, of course)
within the rules above, I would like to find the same as before, but with
some others tags before it, and some others tag after it. It's hard to
explain...so I'm going to give an example:
This xml
                       <s>
                         <tok>
                              <orth>AA</orth>
                              <lex>
                                   <ctag>XX</ctag> 
                              </lex>
                         </tok>
                         <tok>
                              <orth>BB</orth>
                              <lex> 
                                   <ctag>YY</ctag>
                              </lex>
                         </tok>
                         <tok>
                              <orth>CC</orth> 
                              <lex>
                                   <ctag>ZZ</ctag>
                              </lex>
                         </tok>
                       </s>
 
What I would like to do, is to find the BB, but with the AA and the CC with
it, so the final return value would be like: AA BB CC. 
 
Is it possible to do something like this? Thanks for you attention.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://xquery.com/pipermail/talk/attachments/20060105/11ad5dbe/attachment.htm


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.