Subject: AW: [xsl] Re: getting all nodes from a certain level in the xml hierarchy From: "Peter Menzel" <mai00bfy@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 27 Sep 2002 14:19:47 +0200 |
When i try this, I get a "Cannot convert number to NodeSet" Error... I use the Oracle XSLProcessor Classes. -----Ursprungliche Nachricht----- Von: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]Im Auftrag von Dimitre Novatchev Gesendet: Freitag, 27. September 2002 12:46 An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Betreff: [xsl] Re: getting all nodes from a certain level in the xml hierarchy Here's a simple solution using the Muenchian method for grouping: source xml (provided by you): ---------------------------- <Folder NAME="/"> <Folder NAME="a"/> <Folder NAME="b"> <Folder NAME="ba"/> <Folder NAME="bb"/> </Folder> <Folder NAME="z"> <Folder NAME="za"> <Folder NAME="very deep folder"/> </Folder> </Folder> </Folder> stylesheet: ---------- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:key name="kDepth" match="Folder" use="count(ancestor::*)" /> <xsl:template match="/"> <xsl:for-each select="//Folder [ generate-id() = generate-id(key('kDepth', count(ancestor::*) )[1] ) ]"> <xsl:value-of select="concat('Level ', count(ancestor::*), ': ' )"/> <xsl:for-each select="key('kDepth',count(ancestor::*))"> <xsl:value-of select="concat(@NAME, '; ')"/> </xsl:for-each> <xsl:text>
</xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet> Result: ------ Level 0: /; Level 1: a; b; z; Level 2: ba; bb; za; Level 3: very deep folder; XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: getting all nodes from a , Dimitre Novatchev | Thread | AW: [xsl] Re: getting all nodes fro, Peter Menzel |
Re: [xsl] Re: getting all nodes fro, Jeni Tennison | Date | AW: [xsl] Re: getting all nodes fro, Peter Menzel |
Month |