Subject: RE: [xsl] problem with valid Qnames From: "Joe Fawcett" <joefawcett@xxxxxxxxxxx> Date: Mon, 25 Jul 2005 10:31:57 +0100 |
The name attribute of xsl:element expects a string, not an XPath. If you want to use an XPath statement you need to enclose it in {}.From: "Philippe LAPLANCHE" <philippe.laplanche@xxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: [xsl] problem with valid Qnames Date: Mon, 25 Jul 2005 11:26:05 +0200
Hello
I'd like to transform this:
<?xml version="1.0" encoding="UTF-8"?> <csvFile> <line> <value>Nom</value> <value>Prenom</value> <value>Sexe</value> </line> <line> <value>Burke</value> <value>Eric</value> <value>H</value> </line> <line> <value>Burke</value> <value>Jennifer</value> <value>F</value> </line> <line> <value>Burke</value> <value>Aidan</value> <value>H</value> </line> </csvFile>
Into this :
<data> <line> <nom>Burke</nom> <prenom>Eric</nom> <sexe>H</nom> </line> <line> <nom>Burke</nom> <prenom>Jenifer ... </line> ...
I'm using this stylesheet :
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"> <data> <xsl:apply-templates select="*"/> </data> </xsl:template>
<xsl:template match="line"> <xsl:if test="not(position()=1)"> <line> <xsl:apply-templates select="value"/> </line> </xsl:if> </xsl:template>
<xsl:template match="value"> <xsl:variable name="pos" select="position()"/> <xsl:variable name="name" select="//line[1]/value[$pos]"/> <xsl:element name="$name"><xsl:value-of select="."/></xsl:element> </xsl:template> </xsl:stylesheet>
But I get an error because $name is not a valid Qname
How do I solve this?
Philippe
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] problem with valid Qnames, Philippe LAPLANCHE | Thread | RE: [xsl] problem with valid Qnames, Michael Kay |
[xsl] problem with valid Qnames, Philippe LAPLANCHE | Date | RE: [xsl] Can't solve the following, Michael Kay |
Month |