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] Aucun traitement n'est effectué sur les noeuds déclarant un certain XMLNS...


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [XSLT] Aucun traitement n'est effectué sur les noeuds déclarant un certain XMLNS...
    Bonjour,

    J'ai réalisé en XSLT dont voici l'entete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <xsl:stylesheet 
    	version="1.0" 
    	xmlns="http://www.hprim.org/hprimXML"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.hprim.org/hprimXML D:\PCIA\SchemaHprimXml\msgEvenementsPatients100.xsd"
    	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    	xmlns:z="#RowsetSchema"
     
    >
    <xsl:output method="text"  version="1.0" encoding="utf-8"  standalone="yes" indent="yes"  />
    Ce template fonctionne avec les XML qui ont cette entête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <evenementsPatients acquittementAttendu="oui" xmlns="http://www.hprim.org/hprimXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hprim.org/hprimXML D:\PCIA\SchemaHprimXml\msgEvenementsPatients100.xsd">
    mais dès que j'ai cette ligne en plus dans l'entete XML, mon XLT ne fonctionne plus :

    xmlns="http://www.hprim.org/hprimXML"

    Savez vous comment modifier mon XSLT afin que cela fonctionne pour les deux types de fichiers XML ?


    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    quel erreur obtiens tu?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    je n'ai pas de message d'erreur mais les recherches suivantes ne me renvoient aucune réponse lorsque j'ai cette fameuse ligne dans les fichiers XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    xsl:template match="/">
    	<xsl:apply-templates select="//personnePhysique" />
    </xsl:template>
     
    <xsl:template match="//personnePhysique">
      <val>
       Sexe=<xsl:value-of select="//@sexe"/>
       NomUsuel=<xsl:value-of select="//nomUsuel"/>
       CodePostal=<xsl:value-of select="//codePostal"/>
    en Supprimant cette ligne xmlns="http://www.hprim.org/hprimXML" des fichiers XML que je dois traiter, tout fonctionne. C'est pour cela que je suppose que mon entête n'est pas correcte.

    Merci de votre aide

  4. #4
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    tu as un fihier xml et xsl complet
    merci
    ps a mon avis le problème vient du faite que la balise personnePhysique n'est pas la même chose que http://www.hprim.org/hprimXML/personnePhysique

    d'ailleur tu peux peut être essayer cela:
    - ajoute ton namespace http://www.hprim.org/hprimXML/ dans ton xslt
    - dans ton template utilise http://www.hprim.org/hprimXML/personnePhysique

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Si ton xsl définit le namespace par défaut xmlns="http://www.hprim.org/hprimXML" il faut que les xml qu'il traite utilise le même namespace sinon le xslt ne reconnaitra pas les noeuds. Ou alors aucun des 2 ne doit le définir comme namespace par défaut.

    Si tu veux vraiment que le xst traite à la fois des noeuds avec le namespace et sans, il faudra faire des trucs sale du genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xsl:stylesheet 
    	version="1.0" 
    	xmlns:dummy="http://www.hprim.org/hprimXML"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.hprim.org/hprimXML D:\PCIA\SchemaHprimXml\msgEvenementsPatients100.xsd"
    	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    	xmlns:z="#RowsetSchema"
    	
    >
    
    <xsl:template match="//personnePhysique | //dummy:personnePhysique">
    ...

Discussions similaires

  1. Mozilla s'est trompée sur les extensions malicieuses de Firefox
    Par Gordon Fowler dans le forum Actualités
    Réponses: 49
    Dernier message: 18/02/2010, 13h29
  2. Réponses: 0
    Dernier message: 18/12/2009, 03h15
  3. Réponses: 2
    Dernier message: 27/01/2009, 13h47
  4. [XSLT] Travailler sur les noeuds déjà créés
    Par fraoustin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/03/2007, 10h03
  5. comment savoir qui est connecté sur les db
    Par zoltix dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/05/2006, 16h35

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