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 :

[XPath] que renvoie "//namespace::*" ? et son count ?


Sujet :

XSL/XSLT/XPATH XML

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [XPath] que renvoie "//namespace::*" ? et son count ?
    Bonjour,
    Est-ce que vous sauriez ce que renvoie la requête XPATH : //namespace::* & count(//namespace::*) sur un arbre Xml ?
    Un grand merci d'avance !

    ---
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    <xsl:output method="xml" version="1.0" indent="yes" />
     
    <xsl:template match="/">
       <namespace>
       <xsl:value-of select="count(//namespace::*)"/>
       </namespace>
    </xsl:template>
     
    </xsl:stylesheet>

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 857
    Points : 884
    Points
    884
    Par défaut
    renvoit le nombre d'éléments

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Qu'obtient-on si on applique la transformation XSL sur l'arbre XML que voici et pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0"?>
     
    <prefixe:A xmlns:prefixe="http://www.monserveur1.com/">
    	<B />
    	<B xmlns="http://www.monserveur2.com">
    		<C xmlns="">
    			<prefixe:D />
    			<D />
    		</C>
    	</B>
    </prefixe:A>

  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
    et bien cela devrait retourner 4 car ton xsl compte le nombre d'élément comportant un namespace, et dans ton xml tu as:

    * <prefixe:A xmlns:prefixe="http://www.monserveur1.com/">
    * <B xmlns="http://www.monserveur2.com">
    * <C xmlns="">
    * <prefixe />

    si tu veux tout les éléments il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <xsl:value-of select="count(//*)"/>

  5. #5
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par LeSphinx
    Bonjour,
    Est-ce que vous sauriez ce que renvoie la requête XPATH : //namespace::* & count(//namespace::*) sur un arbre Xml ?
    Un grand merci d'avance !
    Oh putain !!! Un suicidaire
    C'est pas simple, les namespace ne sont pas des noeuds comme les autres .
    Un noeud appartient obligatoirement à un namespace par defaut c'est le namespace sans prefixe xmlnsml="http://www.w3.org/1998/Namespace" .
    Le problème c'est que si tu tape /*/namespace::* tu n'obtiens pas seulement le namespace de ce noeud mais aussi certains des namespace qui suivent.
    Je reconnais que je n'ai jamais très bien compris le fonctionnement des namespace en Xpath mais je ne suis pas le seul et la norme est on ne peut plus vague sur le sujet
    En gros si tu n'as pas besoin évite

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