[xsl] How can I avaliate an expression XPath in a variable

Subject: [xsl] How can I avaliate an expression XPath in a variable
From: "Giovani Librelotto" <grl@xxxxxxxxxxxx>
Date: Wed, 23 Oct 2002 11:08:22 +0100
Hello all,

I've a problem when I try to avaliate the value of a variable that
contain an expression XPath, as below:

The XML file:

<?xml version="1.0" encoding="UTF-8"?>
<di>
  <nome>Departamento de Informatica</nome>
  <docentes>
    <prof>Pedro Silva</prof>
    <prof>Jorge Santos</prof>
    <prof>Paulo Camargo</prof>
  </docentes>
</di>

The stylesheet:

<xsl:for-each select="/di/docentes/prof">
  <xsl:element name="profRef">
    <xsl:attribute name="href">
      <xsl:variable name="pos" select="concat('/di/docentes/prof', '[',
position(), ']')"/>
      #<xsl:value-of select="translate($pos, ' ', '-')"/>
    </xsl:attribute>
  </xsl:element>
</xsl:for-each>

The generated XML file:

<profRef href="#./docentes/prof[1]"/>
<profRef href="#./docentes/prof[2]"/>
<profRef href="#./docentes/prof[3]"/>

The desired XML file:

<profRef href="#Pedro-Silva"/>
<profRef href="#Jorge-Santos"/>
<profRef href="#Paulo-Camargo"/>

Thanks in advance.
Regards,

------------------------------------
Giovani Rubert Librelotto
Ph.D. Student
Universidade do Minho
Braga - Portugal
grl@xxxxxxxxxxxx




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread