[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: xpath question
Hi Abbouh, > what is the difference between these xpaths: > //table/tgroup/tbody/row[1]/entry[1]/child::node()[1] > and > //table/tgroup/tbody/row[1]/entry[1]/ce[1] > //table/tgroup/tbody/row[1]/entry[1]/para[1] The first selects the first of all the child nodes of the <entry> element. In your example: > <entry colname="col1"> > <ce>aaaaa</ce> > <ce>(1)</ce> > </entry> the first child of the <entry> element is a whitespace-only text node, containing a newline character, between the start tag of the <entry> element and the start tag of the <ce> element. If you want to get the first element within the <entry> element then use: //table/tgroup/tbody/row[1]/entry[1]/*[1] Or you could strip the whitespace-only text nodes from within the <entry> elements by adding: <xsl:strip-space elements="entry" /> at the top level of your stylesheet. The reason that you get different results in Xalan and XML Spy (which uses MSXML) is that MSXML by default automatically strips all whitespace-only text nodes from a document, whereas Xalan doesn't. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ 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
|