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] [debutant] pb dans la transformation


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut [XSLT] [debutant] pb dans la transformation
    Voici mon problème, je dois extraire le snoms des taches dans la document suivant:
    ( a l'origine il y a d'autres noued au meme niveau que TASKS et plus de noeuds au niveau de TASKS/TASK/NAME , les autres ayant été supprimer pour la clarté:


    Citation Envoyé par XML
    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
    <Project>
     
     
    <Tasks>
    -
    	<Task>
    <UID>0</UID>
    <ID>0</ID>
    <Type>1</Type>
    <WBS>0</WBS>
    </Task>
    -
    	<Task>
    <UID>1</UID>
    <ID>1</ID>
    <Name>Agro Analyses</Name>
    <Type>1</Type>
    <IsNull>0</IsNull>
    <CreateDate>2005-05-18T18:21:00</CreateDate>
    <WBS>1</WBS>
    </Task>
     
     
     
    <Project>


    J'applique a ce fichier XML le fichier XSL suivant:

    Citation Envoyé par XSL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      <?xml version="1.0" standalone="no" ?> 
    - <html xmlns:xsl="http://www.w2.org/1999/XSL/Transform" xsl:version="1.0">
    - <head>
      <title>Marche pas</title> 
      </head>
    - <body>
    - <xsl:for-each select="/Project/Tasks/Task">
    - <p>
      nom de la tache: 
      <xsl:value-of select="./Name" /> 
      </p>
      </xsl:for-each>
      </body>
      </html>
    je pensais que cela suffisait mais j'obtiens:

    Citation Envoyé par Obtenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html xmlns:xsl="http://www.w2.org/1999/XSL/Transform" xsl:version="1.0">
    <head>
    <title>Marche pas</title>
    </head>
    <body>
    <xsl:for-each select="/Project/Tasks/Task">
    <p>nom de la tache:
    				<xsl:value-of select="./Name" />
    </p>
    </xsl:for-each>
    </body>
    </html>

    je comprends pas pourquoi mon for each marche pas , pouvez vous m'éclairer SVP?
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  2. #2
    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,

    l'espace de nom de XSL que tu as utilisé est incorrect ; l'espace de nom qui convient est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    Le processeur XSL n'a donc pas pu reconnaître les balises préfixées XSL comme lui appartenant, et les a restituées intégralement dans le flux de sortie.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    Citation Envoyé par GrandFather
    Le processeur XSL n'a donc pas pu reconnaître les balises préfixées XSL comme lui appartenant,
    est ce que le processeur va chercher la définition? je croyais que non
    si non, est ce que ds l'exé du moteur de transformation il y a écrit qq chose du style:
    ok, vu l espace est w3c... transform alors ça correspond bien à mon xsl???

  4. #4
    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
    Citation Envoyé par tiscars
    si non, est ce que ds l'exé du moteur de transformation il y a écrit qq chose du style:
    ok, vu l espace est w3c... transform alors ça correspond bien à mon xsl???
    C'est cela, et c'est bien la fonction d'un espace de nom : permettre à une application (ici le processeur XSLT) de définir à quel domaine appartient un ensemble d'éléments d'une source XML. Rien ne t'empêche de créer tes propres balises <xsl:for-each>, <xsl:template> pour tes propres besoins, à partir du moment où tu les attaches à un espace de nom différent de celui de la spécification XSLT.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    ok donc les fonctions for-each par exemple sont compilées directement dans l exe du parseur.
    Et si je veux rajouter des fonctions à moi, il faudra que je code ces fonctions ds un espace de nom m 'étant propre et recompiler l exe (même si je ne pense pas que l on puisse avoir le code source de msxsl)
    Si j ai tout bon, alors c est tout bon

  6. #6
    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
    Citation Envoyé par tiscars
    Si j ai tout bon, alors c est tout bon
    Non, pas exactement. Le mécanisme d'extension de XSLT, pour ajouter ses propres balises ou fonctions au langage, est différent pour chaque processeur, et ne nécessite jamais qu'on touche aux binaires du processeur (heureusement !). Par contre, il faut effectivement que ces extensions appartiennent à un espace de nom que tu créés pour l'occasion.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Merci a vous pour ces réponses
    Ca va me permettre de bien avancer (je n'ai pas encore refait le test pour cause de code VB.net a achever en priorité mais j'avance cela dès que possible) M E R C I
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

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

Discussions similaires

  1. [XSLT] Caractères spéciaux dans une feuille de transformation
    Par lescarphe dans le forum XSL/XSLT/XPATH
    Réponses: 16
    Dernier message: 08/07/2009, 09h36
  2. Réponses: 2
    Dernier message: 01/12/2008, 15h32
  3. [XSLT] moyen d'introduire une transformation dans du HTML
    Par despeludo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2008, 11h32
  4. [Debutant]Suppression dans des tables avec contraintes
    Par Roming22 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 26/10/2004, 17h23
  5. Réponses: 5
    Dernier message: 21/04/2004, 11h43

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