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 :

Aide XSL + XML


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut Aide XSL + XML
    Bonjour à tous,
    j'ai un petit souci pour la création d'un fichier xsl. Mon document xml est le suivant (généré automatiquement avec un logiciel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet href="test.xsl"?>
    <SYSLOG>
      <message date="09/08/2006 15:27:16" host="128.1.5.10" severity="Info" value="21316: 5w4d: %SEC-6-IPACCESSLOGP: list 111 denied udp 81.22.32.15(55555) -&gt; 62.X.Y.Z(53), 2 packets" />
    </SYSLOG>
    Je cherche comment obtenir un document html à partir de ce document xml à l'aide xsl, mais je n'y arrive pas .

    Quelqu'un aurait il une idée d'un fichier xsl ?
    Merci

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Ben il faut d'abord savoir quelle tête doit avoir ton fichier...

    Sinon tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:lxslt="http://xml.apache.org/xslt" 
                    version="1.0">
     
    <xsl:output method="html" indent="yes" encoding="UTF-8"/>
     
    <xsl:template match="/">
        <html>
          <title>Test</title>
          <head>
          </head>
          <body>
             Message 
             Date : <xsl:value-of select="SYSLOG/message[@date]"/>
             Host : <xsl:value-of select="SYSLOG/message[@host]"/>
             Severity: <xsl:value-of select="SYSLOG/message[@severity]"/>
             Value : <xsl:value-of select="SYSLOG/message[@value]"/>
          </body>
        </html>
      </xsl:copy>
    </xsl:template>
     
    <xsl:apply-templates select="/" />
     
    </xsl:stylesheet>
    A+

  3. #3
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    Citation Envoyé par thibaut
    Ben il faut d'abord savoir quelle tête doit avoir ton fichier...

    Sinon tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:lxslt="http://xml.apache.org/xslt" 
                    version="1.0">
     
    <xsl:output method="html" indent="yes" encoding="UTF-8"/>
     
    <xsl:template match="/">
        <html>
          <title>Test</title>
          <head>
          </head>
          <body>
             Message 
             Date : <xsl:value-of select="SYSLOG/message[@date]"/>
             Host : <xsl:value-of select="SYSLOG/message[@host]"/>
             Severity: <xsl:value-of select="SYSLOG/message[@severity]"/>
             Value : <xsl:value-of select="SYSLOG/message[@value]"/>
          </body>
        </html>
      </xsl:copy>
    </xsl:template>
     
    <xsl:apply-templates select="/" />
     
    </xsl:stylesheet>
    A+
    Salut,
    En fait pour l'instant la mise en page du document m'importe peu. Je veux juste pouvoir récupérer la valeur des attributs ( date, host, severity ...). J'ai essayé avec ton code mais j'ai toujours l'affichage d'une page blanche lorsque j'ouvre le fichier xml. Je ne comprends pourquoi ..
    Quelqu'un a une idée ?

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Qu'est ce que tu fais exactement ?

    Ca je ne comprend pas cette affirmation :

    J'ai essayé avec ton code mais j'ai toujours l'affichage d'une page blanche lorsque j'ouvre le fichier xml.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    Citation Envoyé par thibaut
    Qu'est ce que tu fais exactement ?

    Ca je ne comprend pas cette affirmation :
    Je fais clic droit sur le fichier test.xml et je l'ouvre avec mon navigateur internet (firefox).

  6. #6
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    L'exemple que je t'ai donné ?

    Si c'est ça déjà il doit s'appeler test.xsl.

    Et secundo la voir dans firefox ne permettra pas d'executer la transformation.

    A+

  7. #7
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    Citation Envoyé par thibaut
    L'exemple que je t'ai donné ?

    Si c'est ça déjà il doit s'appeler test.xsl.

    Et secundo la voir dans firefox ne permettra pas d'executer la transformation.

    A+
    Oui l'exemple que tu m'as donné s'appelle bien test.xsl et se trouve dans le même répertoire que test.xml.
    Euh pour le secundo, que dois je faire pour pouvoir voir le résultat (la page html) dans firefox ?

  8. #8
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Ben il faut effectuer la transformation avec Xalan.
    ou en téléchargeant XML Spy (qui fait la transformation automatiquement).

    A+

  9. #9
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    J'ai essayé xmlspy et en fait il semble qu'il y ait une erreur au niveau du </xsl:copy>. En effet, il n'y a pas de balise <xsl:copy> dans ton fichier xsl. J'ai donc retirer la balise </xsl:copy>, met ceci n'a pas résolu le problème ...

  10. #10
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Oui une erreur de copier coller, elle est à supprimer. Sinon le HTML est bien généré ?

  11. #11
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    Citation Envoyé par thibaut
    Oui une erreur de copier coller, elle est à supprimer. Sinon le HTML est bien généré ?
    Mmmh en fait j'ai une erreur lors de la transformation (XSL transformation) il me met "unexpected child". J'obtiens en sortie html

    Message Date : Host : Severity: Value :

    Il récupère donc pas les valeurs des champs

  12. #12
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    En fait, non il n'y a pas d'erreur "unexpected child" (ça avait gardé l'affichage de l'erreur du </xsl:copy> ). Par contre, dans la sortie html je n'ai effectivement pas la valeur des attributs

  13. #13
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    ça y est ça fonctionne !! Voilà le fichier xsl que j'ai utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?xml version="1.0" encoding="ISO-8859-1"?> 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:lxslt="http://xml.apache.org/xslt" 
                    version="1.0">
     
    <xsl:output method="html" indent="yes" encoding="UTF-8"/>
     
    <xsl:template match="/">
        <html>
          <title>Test</title>
          <head>
          </head>
          <body>
             Message 
             Date : <xsl:value-of select="SYSLOG/message/@date"/>
             Host : <xsl:value-of select="SYSLOG/message/@host"/>
             Severity: <xsl:value-of select="SYSLOG/message/@severity"/>
             Value : <xsl:value-of select="SYSLOG/message/@value"/>
          </body>
        </html>
     
    </xsl:template>
    </xsl:stylesheet>
    Merci beaucoup thibaut pour ton aide .

  14. #14
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Tu peux mettre

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

Discussions similaires

  1. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10
  2. [XSL-XML]générer suite de chiffres
    Par xslxml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/12/2005, 16h37
  3. XML -> XSL <- XML
    Par Punky65250 dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 16/09/2004, 09h29
  4. [xsl][XML] création d'un index
    Par Boosters dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 28/11/2002, 08h29
  5. xml -> xsl -> xml
    Par virgile04 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/10/2002, 16h53

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