Márcio Ferreira wrote:
I want to now the sum of the lengths of attribute descriptions in the
xml below
<folder description="Ngin Mart">
<folder description="Clientes"/>
<folder description="Desempenho"/>
<folder description="MyReports">
</folder>
I have tried this:
<xsl:template match="folder mode="left_menu">
<xsl:variable name="sizeTotal" select =
'string-length(descendant::folder/@description)'/>
<table border="0" cellspacing="0" cellpadding="0"
width="{count(folder)*$sizeTotal}">
<tr>
<xsl:apply-templates select="folder" mode="left_menu"/>
</tr>
</table>
</xsl:template>
The variable "sizeTotal" will be the width of the table.
But don’t work.
Hi Márcio,
I think "string-length(descendant::folder/@description)" will only test
one description attribute (the first in document order).
Possible solution: first collect all the descriptions inside a variable,
then use string-length on that variable:
<xsl:template match="folder" mode="left_menu">
<xsl:variable name="all-descriptions">
<xsl:copy-of select="descendant::folder/@description"/>
</xsl:variable>
<xsl:variable name="sizeTotal" select="string-length($all-descriptions)"/>
...
</xsl:template>
HTH,
Anton