[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XPath 2.0
From: Ed Blachman <EdB@xxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: RE: XPath 2.0 Date: Tue, 8 Jan 2002 13:25:16 -0500 I just want to check my understanding (so far) of the WDs. My reading is that (a) if nodes with ids a1 and a2 exist in the tree being queried, xf:id('a1') precedes xf:id('a2') would raise an error because xf:id() returns a sequence, but the operands of precedes must be single nodes or empty sequences -- explicitly *not* non-empty sequences. The proper way to write this would therefore be xf:id('a1')[1] precedes xf:id('a2')[1] (b) if nodes with ids a1 and a2 exist in the tree being queried, xf:id('a1')[1] precedes xf:id('a2')[1] is equivalent to xf:exists( xf:id('a1') intersects xf:id('a2')/preceding::* ) And similarly xf:id('a1')[1] << xf:id('a2')[1] is equivalent to xf:exists( xf:id('a1') intersects ( xf:id('a2')/preceding::* | xf:id('a2')/ancestor::* ) ) (I thought that something in the discussion of xf:boolean(), which would be the wrong casting function to use here, suggested that I wouldn't need to use xf:exists(), because a non-empty sequence would automatically be treated as the boolean value true. But I couldn't find that when I went to look for it, and decided that using xf:exists() would make the intent clearer in any case.) Does that look correct? -- ed ----- end ----- XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|