Subject: Re: [xsl] sort | uniq via keys From: Saverio Perugini <sperugin@xxxxxxxxxxxxxxxx> Date: Thu, 14 Feb 2002 15:30:17 -0500 (EST) |
On Thu, 14 Feb 2002, Wendell Piez wrote: > Using the following:: axis on your for-each, you are selecting nodes from > those following your context node, the '/db' you have matched on. > > But your db is your document element, and has no following nodes. > > Just select your descendants (select="descendant::*[...]) and it should work. Thank you Wendell. I am curious then as to the difference b/t the descendant, following, and following-sibling axes. In addition, consider the following problem. Instead of sorting and uniqing the element names of `all' nodes in the input tree, I'd like to extract the names of elements residing at the same `level' in the input tree, assuming a balanced input tree. e.g., in the following data <db> <a> <d> <j>...</j> <k>...</k> </d> <e> <l>...</l> <m>...</m> </e> </a> <b> <f> <n>...</n> <o>...</o> </f> <g> <p>...</p> <q>...</q> </g> </b> <c> <h> <r>...</r> <s>...</s> </h> <i> <t>...</t> <u>...</u> </i> </c> </db> I would like the following output, first level ----------- a b c second level ------------ d e f g h i third level ----------- j k l m n o p q r s t u The following is my initial solution. <xsl:template match="/db" priority="0.7"> <xsl:apply-templates select="*[1]"/> </xsl:template> <xsl:template match="*"> <xsl:for-each select="following-sibling::*"> <xsl:sort select="name()"/> <xsl:value-of value="name()" /> </xsl:for-each> <xsl:apply-templates select="*[1]"/> </xsl:template> <xsl:template match="text()"/> This runs down the left-most path of the tree and collects siblings. The problem is that is works at the sibling level, while I am interested in an `entire' level in the tree. Thank You and Best Regards, Saverio Perugini XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] sort | uniq via keys, Wendell Piez | Thread | Re: [xsl] sort | uniq via keys, Wendell Piez |
Re: [xsl] match on attribute anywhe, Trevor Nash | Date | [xsl] xsl:include with plain text i, Peter Davis |
Month |