IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Supprimer caractère spéciaux d'un attribut --> Expected QName [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut Supprimer caractère spéciaux d'un attribut --> Expected QName
    Bonjour,

    A partir du xml suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut
    Oups,

    suffisait de mettre les accolades sur toute l'expression translate et pas uniquement sur le @ref

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête pour supprimer caractères spéciaux dans des champs
    Par Laureoz dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/02/2012, 16h58
  2. Réponses: 4
    Dernier message: 09/09/2010, 16h56
  3. Chaine de caractère, supprimer caractère spéciaux []
    Par snoopy69 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/03/2009, 12h40
  4. [RegEx] Supprimer caractères spéciaux
    Par Guillomme dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2008, 14h12
  5. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo