Bonjour à tous,
je suis en train de transformer un document XML via une feuille de style XSL.
Mon problème est le suivant :
je veux créer un nouvel élément dont le nom serait les trois premiers caractères d'un attribut du document XML source.
<xsl:template match="element1">
<xsl:copy>
<xsl:for-each select="element2">
<xsl:element name="{substring(@att1,1,3)}">
<xsl:value-of select="@att2" />
</xsl:element>
</xsl:for-each>
</xsl:copy>
</xsl:template>
J'ai comme message d'erreur : ERROR: Description: To create nodes of type 'ELEMENT', a valid name must be specified.
(XML Cooktop)
Le plus étrange c'est que si je rajoute un caractère devant l'expression
{substring(@att1,1,3)}, la transformation marche sans problème :
<xsl:template match="element1">
<xsl:copy>
<xsl:for-each select="element2">
<xsl:element name="X{substring(@att1,1,3)}">
<xsl:value-of select="@att2" />
</xsl:element>
</xsl:for-each>
</xsl:copy>
</xsl:template>
me donne dans mon XML de sortie :
<Xatt1>
att2
</Xatt1>
Si quelqu'un à une autre solution que rajouter un caractère dont je n'ai pas besoin, je suis preneur !
Merci d'avance...
Configuration: Windows XP
Firefox 2.0.0.14