Supprimer caractère spéciaux d'un attribut --> Expected QName
Bonjour,
A partir du xml suivant :
Code:
1 2 3 4 5 6 7 8
| <RECORD>
<allname ref="pre_nom">
Albert
</allname>
<allname ref="pre_nom">
Alfred
</allname>
</RECORD> |
j'applique le XSL suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output encoding="UTF-8" indent="yes" method="xml"/>
<xsl:template match="/">
<xsl:for-each select="//allname">
<xsl:element name="{@ref}">
<!--<xsl:element name="translate({@ref}, '[]_^+-*(){}.,;:/\', '')">-->
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet> |
pour obtenir comme résultat le XML suivant :
Code:
1 2 3 4 5 6 7
|
<pre_nom>
Albert
</pre_nom>
<pre_nom>
Alfred
</pre_nom> |
Dans ce xml final, j'aimerais que le tag <pre_nom> devienne <prenom> sans underscore et ce sans changer le xml de départ.
Dans mon XSL, vous trouverez en commentaire la ligne : <xsl:element name="translate({@ref}, '[]_^+-*(){}.,;:/\', '')">
J'essaye donc de remplacer les caractères spéciaux dans le nom de l'attribut par un caractère vide mais j'ai l'erreur suivante : Expected QName
Qqun a-t-il une idée ?
Merci