[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Re: XPath riddle

Subject: RE: Re: XPath riddle
From: "Nikolaos Giannadakis" <ngiann@xxxxxxxxxx>
Date: Thu, 5 Jul 2001 11:28:13 +0300
exclude nodes in xpath example
> I cannot understand why you exclude a node in your second example
> -- this node
> perfectly matches your definition of the result node-set.
>

This node is defined inside F and may have some other type (as would be
defined in a schema).
The generic problem is "how to select the node you want inside a possibly
recursive xml file, when the
the same pattern may appear somewhere in between in anonther context....




>
> > Can you tell what the XPath expression that:
> >  "selects all C elements that come after A and have a D parent" is.
> >
>
> (//A/following::C | //A/descendant::C)[parent::D]
>
> >  That is, there might be a schema, which declares the unwanted
> instances of C
> >  as integers, while
> >  the other C declared has some anonymous complexType.
> >
> >  <?xml version="1.0" encoding="UTF-8"?>
> >  <A>
> >          <B>
> >                  <C/>
>  <!-- DO NOT
> select this -->
> >                  <D>
> >                          <!-- recursion is introduced here -->
> >                          <C>
>  <!-- select this
> -->
> >                                  <B>
> >                                          <C/>
>  <!-- DO NOT
> select this -->>
> >                                          <D>
> >                                                  <C/>
>  <!-- select this
> -->
> >                                          </D>
> >                                  </B>
> >                          </C>
> >                  </D>
> >          </B>
> >  </A>
>
> >  /A//D/C (/A/descendant::D/C) would suffice, or, better, /A//B/D/C
> >  (/A/descendant::B/D/C). But this would not rule out the
> possibility of the
> >  B/D/C pattern appearing somewhere after A in another context.
>                                              ^^^^^^^^^^^^^^^^^^
> ??????????
>
> What "context"? You do not define any particular "context" in
> your original
> definition of the wanted result set. There's something you
> haven't told us.
>
> Please, explain this statement.
>
> >  I cannot find
> >  any XPath feature that would handle recursion.
> >
> >  <?xml version="1.0" encoding="UTF-8"?>
> >  <A>
> >          <B>
> >                  <F>
> >                          <B>
> >                                  <D>
> >                                          <C/>
>  <!-- this would
> be selected incorrectly -->
>
> Why, it exactly matches your definition -- this is a "C" node
> that follows "A" and
> has a "D" parent.
>
>
> >                                  </D>
> >                          </B>
> >                  </F>
> >                  <D>
> >                          <!-- recursion is introduced here -->
> >                          <C>
>  <!-- select this
> -->
> >                                  <B>
> >                                          <C/>
>  <!-- DO NOT
> select this -->
> >                                          <D>
> >                                                  <C/>
>  <!-- select this
> -->
> >                                          </D>
> >                                  </B>
> >                          </C>
> >                  </D>
> >          </B>
> >  </A>
> >
> >  Using /A/B/D/C | /A/B/D/C//B/D/C would overcome this, but you
> can see how I
> >  could create another problematic example...
> >  How does one find one's way around this, using a generic XPath
> approach?
> >  I am not saying this is good XML design. To the contrary! ...
> it is legal,
> >  nonetheless ...any ideas?
>
> Once again, could you provide a correct definition of your result
> set? The node you
> want excluded in your second example matches exactly your
> definition of the result
> set.
>
> Cheers,
> Dimitre Novatchev.
>
>
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail
> http://personal.mail.yahoo.com/
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

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-2013 All Rights Reserved.