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]Atteindre un node set dans xsl:param


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut [XSLT]Atteindre un node set dans xsl:param
    Bonjour,

    Voila j'aimerais passer en paramètre de ma feuille de style une document xml tout marche très bien quand le xml n'a pas de namespace.

    Par contre s'il en a un du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns="http://toto.com"
    Ca ne marche pas impossible de naviquer dans le document si je fais comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="$Xml/Personne/Nom"/>
    Savez-vous comment résoudre ce problème?

    Merci

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  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
    Salut,

    j'imagine que le namespace est déclaré sur l'élément racine ? Dans ce cas, il suffit de le déclarer dans la feuille de style, et d'utiliser son alias dans les expressions XPath :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:stylesheet version="1.0" xmlns:toto="http://toto.com" ...>
     
      ...
      <xsl:value-of select="$Xml/toto:Personne/toto:Nom"/>
    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 expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    merci pour la réponse.

    Oui ca je savais mais je fais comment si j'ai un namespace xmlns tout court et que j'en aie déjà un différent déclaré dans le xsl:stylesheet???

    Faut que je l'enlève avant?
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  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 virgul
    Oui ca je savais mais je fais comment si j'ai un namespace xmlns tout court et que j'en aie déjà un différent déclaré dans le xsl:stylesheet???
    Là, je ne vois pas trop ce que tu veux dire...

    Un petit exemple serait le bienvenu.
    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 expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    OK l'entête de mon xslt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns="http://zefix.powernet.ch/WebServices">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:param name="OptXml"/>
    	<xsl:param name="EHRAOpt"/>
    	<xsl:param name="Fliesstext"/>
    la param est Fliesstext ce que je lui passe dedans est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <TextList xmlns="http://tes32.com/fdsfjs/dfmhfksd">Tagebuch91 27.09.2006		(MR/3:3/ZG-10774-2006-0010/CH-020.3.906.281-4)<textType AVnr="ZG-10774-2006-0010" Amt="170" CHNR="CH-020.3.906.281-4" FaktNr="152" GF="3" Lang="1" MutFlags="000000000000000000" RF="3" Stempel="2006-09-27T09:07:00" TBdatum="2006-09-27" TBnr="91" Version="0.1" Visum="MR" nextRef="1" type="FreiTB" name="2006-09-27T14:47:45"><nameActual>Mizuho Bank (Schweiz) AG</nameActual> (Mizuho Bank (Switzerland) Ltd) (Banque Mizuho (Suisse) SA) (Banca Mizuho (Svizzera) SA), bisher in <seatActual>Zürich</seatActual>, <number13>CH-020.3.906.281-4</number13>, Betrieb einer Bank, <LegalStatusActual>Aktiengesellschaft</LegalStatusActual> (SHAB Nr. 118 vom 21.06.2006, S. 15, Publ. 3426824). Gründungsstatuten: 10.12.1990, Statutenänderung : 15.09.2006. Firma neu: <nameNew>Mizuho Bank AG</nameNew> ...
    Et le problème est que je n'arrive pas a faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select="$Fliesstext/TextList/textType"/>
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Discussions similaires

  1. [XSLT] Accèder à un noeud via un xsl:param
    Par Gregco dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 30/10/2007, 19h09
  2. [XSLT]pb application template feuille XSL incluse dans XSL
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 26/06/2006, 16h09
  3. [XSL] Expression must evaluate to a node-set
    Par tchoukapi dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 20/06/2006, 14h52
  4. [XSL] Expression must evaluate to a node-set.
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 27/04/2006, 14h04
  5. [XSLT] 2.0 et variables node-set
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/01/2006, 17h01

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