I have found what I was doing wrong. However I cannot
explain why it was wrong. Maybe one of you can help.
I was modifying the follwing two templates:
<xsl:template match="//Fruits/*[count(./*) >
0]/*">
<tr>
<xsl:apply-templates select="*"/>
</tr>
</xsl:template>
<xsl:template match="*">
<td>
<xsl:value-of select="normalize-space(text())"/>
</td>
</xsl:template>
to
<xsl:template match="//Fruits/*[count(./*) > 0]/*">
<tr>
<xsl:apply-templates select="*|@*"/>
</tr>
</xsl:template>
<xsl:template match="*|@*">
<td>
<xsl:value-of select="normalize-space(text())"/>
</td>
</xsl:template>
The problem seemed to have been the 'text' function.
It does not seem to return the value of an attribute
node. Is this correct? When I added the following line
to the second template, the attributes' data was
retrieved into the table:
<xsl:value-of select="."/>
I can have both statements in this template without
worry, because the row will never have both elements
and attributes at the same time.
Imrran
__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list