xsl-list
[Top] [All Lists]

WG: Display attribute inside an xsl:for-each-group loop

2005-06-22 23:54:35
Hi guys,
 
I'm stuck (once again ;) with an XSL problem and I hope someone knows
how to solve it. I'm looping through my XML structure which looks like
 
<root> 
    <sub_A> 
        <node_A myattr="33533"/> 
        <node_B>textual content</node_B>
        <node_B/> 
        <node_C/> 
        <node_D>textual content</node_D>
        <node_D myattr="1234567"/> 
        <node_D/> 
    </sub_A> 
    <sub_B> 
    ... 
    </sub_B> 
</root>
 
using a xsl:for-each-group loop because I want to display groups of node
names with a single header. The result should look like
 
node_A
33533
node_B
textual content
node_C
node_D
textual content
1234567
 
As you can see contents are stored inside a text node or an attribute
which is called "myattr". My loop construct looks like:
 
1    <xsl:for-each-group select="/root/sub_A/*"
group-adjacent="node-name()">
2        <xsl:value-of select="name()"/>
3        <xsl:for-each select="current-group()">
4            <xsl:value-of select="text()" /><xsl:value-of
select="@myattr/text()" />
5        </xsl:for-each>
6    </xsl:for-each-group>
 
Line 4 is of special interest - thats where the contents should :) be
displayed. While <xsl:value-of select="text()" /> works fine,
<xsl:value-of select="@myattr/text()" /> produces an error in the
XSL-parser:
 
Warning: on line 65 of
file:/srv/www/htdocs/bka/./tmp/evaluations/42ba56a40e38d.xsl: The child
axis starting at an attribute() node will never select anything
 
I'm using Saxon-B 8.0 working on a XSLT 2.0 stylesheet. Hope anybody can
figure this out.
 
Best regards - many thanks for your help!
Clemens Prerovsky

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>