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 :

[XSL] Apostrophes


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut [XSL] Apostrophes
    Bonjour,
    Je voudrais inserer un fichier xml dans une base de donnée ... or un texte de mon xml peut contenir des apostrophes.

    Je cherche donc un moyen avec XSL, de remplacer une apostrophe par deux apostrophes (pour que ca passe dans la base de donnée).

    j'ai tenté presque toutes les combinaisons possibles entre les " et les ', les ' ................ mes recherches dans google n'ont pas donné grand choses!!

    Aidez moi ;'(


    voilà omn code :

    <xsl:template name="afficherApos2Esp">
    <xsl:param name="libelle"/>
    <xsl:if test='contains($libelle,$apos)'>
    <!-- c'est cette ligne là qui pose problème : -->
    '<xsl:value-of select="translate($libelle,$apos,$apos$apos)"/>'
    </xsl:if>
    </xsl:template>

  2. #2
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 29
    Par défaut
    Je répond moi meme car j'ai trouvé la solution ... et aussi pour ceux qui en auraient besoin un jour :

    Il faut donc faire soit meme sa fonction recursive :

    <xsl:variable name="apos" select='"&apos;"'/>

    <xsl:template name="afficherApos2AposD">
    <xsl:param name="libelle"/>
    <xsl:choose>
    <xsl:when test="contains($libelle, $apos)">
    <xsl:value-of select="substring-before($libelle, $apos)"/>
    <xsl:text>''</xsl:text>
    <xsl:call-template name="afficherApos2AposD">
    <xsl:with-param name="libelle" select="substring-after($libelle, $apos)" />
    </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
    <xsl:value-of select="$libelle" />
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>


    voila .....

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 691
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 691
    Par défaut
    merci d'avoir mis la solution à ton problème ca pourra peut-être servir à d'autres personnes

    par contre il y a 2 petits détails à régler :
    - édite tes 2 messages et rajoute les balises [&#99;ode][/&#99;ode] autour de ton code pour qu'il soit plus lisible
    - clique sur "Résolu" (en bas de cette page à gauche)

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. [XSLT]xsl:sort qui classe mal les éléments (apostrophe)
    Par strat0 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/07/2007, 14h14
  3. [XSL] Problème apostrophe dans paramètre
    Par jeyce dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 28/03/2006, 17h46
  4. [xsl] caractère Apostrophe
    Par Brets dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/12/2004, 17h21
  5. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57

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