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] filtre


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 13
    Points
    13
    Par défaut [XSLT] filtre
    Bonjour tout le monde,

    c toujours moi bloquée sur des problèmes de xsl
    le problème cette fois :
    je veux faire un filtre sur un fichier xml(je connait pas le contenu) et je je genere en sortie un autre fichier xml optimisé.

    voila mon fichier:
    <?xml version="1.0" encoding="UTF-8"?>

    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="valeur" />
    <xsl:param name="nomBalise" />
    <xsl:param name="chemin" />

    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="/">
    <xsl:copy>
    <xsl:copy-of select="//*[name()=$chemin][*[name()=$nomBalise]=$valeur]"/>

    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
    dans ce fichier je teste seulement si le contenu de la balise est egal a la valeur passé en parametre et ca marche
    maintenant je veux tester aussi si le contenu de la balise CONTIENT la valeur.
    aussi je veux tester pour les chiffres(valeur superieur ou inferieur)

    je sais que je dois faire des if mais puisque je suis tres nule en xsl je ne sais pas comment faire.

    je suis vraiment coincée.

    merci pour votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 31
    Points : 13
    Points
    13
    Par défaut solution
    Bonjour,

    c'est toujours moi, mais cette fois-ci j'ai résolu le problème et je donne le résultat comme ça tout le monde et surtout les gens qui ont intérrésé regarde la solution

    c'est un fichier qui applique des filtres sur n'importe quelle balise d'un ficier XML, il faut simplement lui passer en paramétres le nom de la balise, le chemin, la valeur qu'il faut filtrer et le type de champ(text ou number)

    et pour les valeur numerique il faut donner aussi le signe(superieur, inferieur ou egal)
    voilà le code:
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform" xmlns:dyn="http://exslt.org/dynamic">
    <xsl:param name="valeur" />
    <xsl:param name="nomBalise" />
    <xsl:param name="chemin" />
    <xsl:param name="type" />
    <xsl:param name="signe" />
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
    - <xsl:template match="/">
    - <xsl:copy>
    - <xsl:if test="$type = 'text'">
    - <xsl:for-each select="//*[name()=$chemin][*[name()=$nomBalise]]">
    <xsl:variable name="contenu" select="." />
    - <xsl:if test="contains($contenu,$valeur)">
    <xsl:copy-of select="." />
    </xsl:if>
    </xsl:for-each>
    </xsl:if>
    - <xsl:if test="$type = 'number'">
    - <xsl:if test="$signe = 'superieur'">
    <xsl:copy-of select="//*[name()=$chemin][*[name()=$nomBalise] &gt $valeur]" />
    </xsl:if>
    - <xsl:if test="$signe = 'inferieur'">
    <xsl:copy-of select="//*[name()=$chemin][*[name()=$nomBalise] &lt $valeur]" />
    </xsl:if>
    - <xsl:if test="$signe = 'egale'">
    <xsl:copy-of select="//*[name()=$chemin][*[name()=$nomBalise] = $valeur]" />
    </xsl:if>
    </xsl:if>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

    merci et a la prochaine

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

Discussions similaires

  1. [XSLT][OpenOffice] Problème filtre d'export XML
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/06/2011, 20h10
  2. [XSLT] Filtre et regroupement selon balise
    Par littleLink dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 24/12/2010, 12h23
  3. [XSLT] filtre sur apply-templates
    Par hjn31 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/09/2009, 10h43
  4. [XSLT] Réalisation d'un filtre
    Par enael dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/05/2007, 15h22
  5. [XSLT] XML vers un nouveau XML (filtre)
    Par abertaud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/05/2007, 14h32

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