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 :

[XSLT] Balise for-each et caractères spéciaux


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Points : 27
    Points
    27
    Par défaut [XSLT] Balise for-each et caractères spéciaux
    Bonjour,

    Ma question concerne la création d'une transformation XSLT.

    Voilà, je souhaiterais connaître le nombre d'occurrence des éléments contenus dans un for-each avant de lancer la boucle for-each. Pouvez-vous me dire comment faire ? existe-t-il une balise qui fait ça ?

    D'autre part, que ce soit avec l'encoding UTF-8 ou iso-8859-1, je n'arrive pas à générer les caractères "<" et ">". Dans le fichier généré, j'obtiens "&lt;" ou "&gt;" même en codant le caractère spécial avec "<" et ">".

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    pour tes inf/sup tu peux faire je pense

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:text>"&lt;"</xsl:text>
    et le nobmre de boucle : tu connais à priory l'élement sur lequel tu vas boucler, il suffit donc de faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:count select="./ton noeud sur lequel tu vas boucler">/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    Merci pour le nombre de boucle, ça marche.

    En revanche, cela ne marche toujours pas pour inf/sup. La solution <xsl:text>"&lt;"</xsl:text> génère le code "&lt;".

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    enleve les guillemets!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    J'ai essayé sans mais cela ne marche toujours pas. La transformation génère le code &lt;
    Avez-vous une idée d'où cela pourrait venir ?

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    moi j'ai ça dans mon entete xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8"?>

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    hum... est-ce que tu aurais des attributs du style disable-output-escaping (ou qui y ressemble) qui traineraient dans un coin ?

    Quelles sont les attributs de tes balises xsl:output et xsl:stylesheet ?

  8. #8
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Citation Envoyé par Guilbert69
    D'autre part, que ce soit avec l'encoding UTF-8 ou iso-8859-1, je n'arrive pas à générer les caractères "<" et ">". Dans le fichier généré, j'obtiens "&lt;" ou "&gt;" même en codant le caractère spécial avec "<" et ">".
    Si ta transformation génère du XML, il est normal que ces entités apparaissent en lieu et place des caractères < et >, c'est dans la spécification XML. Et ça n'a aucune répercussion puisque lorsque les parseurs vont lire ces entités, ils vont automatiquement y substituer les caractères correspondants.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    Merci pour vos réponses.
    Les attributs de mes balises stylesheet et output sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="UTF-8" standalone="no" omit-xml-declaration="no" doctype-system="test.dtd"/>
    S'il est normal que ces entités apparaissent en lieu et place des caractères < et >, puisque je génère un fichier XML, comment puis-je générer ces caractères ?

Discussions similaires

  1. [XSLT] xsl:for-each + EXCEPT
    Par fcjunic dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/04/2010, 14h25
  2. XML-> HTML par XSLT multiple for-each
    Par ftillier dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/09/2008, 08h25
  3. Réponses: 1
    Dernier message: 13/04/2008, 10h17
  4. [XSLT]Boucle for each
    Par jaq dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 10/12/2006, 12h40
  5. [XSLT / XPATH] for-each-group: comment ça marche?
    Par be_tnt dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/11/2006, 09h40

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