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] mise en forme de termdefs sur XML perso


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
    Juin 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Par défaut [XSLT] mise en forme de termdefs sur XML perso
    Je suis en train de développer un script de stats qui génère des fichiers XML quotidiens.

    Les elements sont "home made", par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <referents>
     <termdef id="moteurs" term="moteurs">
      <termdef id="child" term="Google">17</termdef>
      <termdef id="child" term="Yahoo">3</termdef>
     </termdef>
     <termdef id="liens" term="liens">
      <termdef id="child" term="www.unsitereferent.com">51</termdef>
     </termdef>
    </referents>
    J'ai deja mis en forme des XML au format RSS, avec des templates du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:template match="item" name="item">
      <xsl:for-each select="item">
      <div class="item">
        <h2><a href="{link}"><xsl:value-of select="title" />
    Mais pour ce fichier XML perso, je n'arrive pas à comprendre comment sélectionner les termdefn, par leur id ou leur term.
    Est ce que vous avez des liens ou un piste de documentation ? Les TR W3C sont peu diserts sur le sujet...

    NB : les termdef sont nécessaires, puisque je ne suis pas maitre du nom des élements. Par exemple <moteurs><AOL France>17</AOL France></moteurs> coince sur le nom d'élément avec espace.

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coince sur le nom d'élément avec espace.
    les noms des élements xml ne doivent contenir que des lettre etc...donc pas d'espaces!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <termdef id="liens" term="liens">
      <termdef id="child" term="www.unsitereferent.com">51</termdef>
     </termdef>
    t'aurais au moins mis un "S" pour le termdef englobant..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <termdefs id="liens" term="liens">
      <termdef id="child" term="www.unsitereferent.com">51</termdef>
     </termdefs>[/
    sinon, est ce que ce que tu veux c générer autant de liens que de "liens" ou "moteurs"...

    explique un peu plus ce que tu veux....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Par défaut
    Pour le termdefs, c'est bien vu et changé.

    Pour l'ensemble, le fichier est déjà généré par le script de stats.

    Le souci, c'est la mise en forme : dans le XSLT je ne sais pas comment "appeller" les éléments de type <termdefs id="moteurs">, et comment appeller les éléments-fils <termdef id="child">.

    Je pourrais faire un rendu en xhtml, mais je trouve ca dommage d'avoir à générer à chaque fois le fichier en dynamique

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dans le XSLT je ne sais pas comment "appeller" les éléments de type <termdefs id="moteurs">, et comment appeller les éléments-fils <termdef id="child">.
    tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xsl:template match="termdefs">
     
    là tu appele le parent 
      <xsl:apply-templates/>
    </xsl:template>
     
    <xsl:template match="termdef">
      et tu traite les fils
    </xsl:template>

Discussions similaires

  1. XSLT mise en form XML
    Par hy_dev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/08/2011, 12h20
  2. [2.3.2] Mise en forme données à partir de xml
    Par dodane dans le forum BIRT
    Réponses: 1
    Dernier message: 02/04/2009, 17h15
  3. [XSLT]Mise en forme d'un tableau par categorie
    Par dibox dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/12/2006, 16h42
  4. mise en forme et coloration du XML et des JSP
    Par sir_gcc dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 22/09/2006, 10h43
  5. Garder la mise en forme des dossiers sur un CD
    Par tibodoudou dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 19/12/2005, 16h42

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