|
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 |