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] [XSL] Result tree fragment


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    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 [XPATH] [XSL] Result tree fragment
    bonjour,
    je souhaiterais avoir un peu plus d informations concernant
    les Result Tree Fragments
    voici ce que l on peut lire sur le w3c:
    Variables introduce an additional data-type into the expression language. This additional data type is called result tree fragment. A variable may be bound to a result tree fragment instead of one of the four basic XPath data-types (string, number, boolean, node-set). A result tree fragment represents a fragment of the result tree. A result tree fragment is treated equivalently to a node-set that contains just a single root node. However, the operations permitted on a result tree fragment are a subset of those permitted on a node-set. An operation is permitted on a result tree fragment only if that operation would be permitted on a string (the operation on the string may involve first converting the string to a number or boolean). In particular, it is not permitted to use the /, //, and [] operators on result tree fragments. When a permitted operation is performed on a result tree fragment, it is performed exactly as it would be on the equivalent node-set.

    When a result tree fragment is copied into the result tree (see [11.3 Using Values of Variables and Parameters with xsl:copy-of]), then all the nodes that are children of the root node in the equivalent node-set are added in sequence to the result tree.
    ce que je comprends c est que le result tree fragment agit comme une string...
    1/ une variable est elle forcément un result tree fragment?
    2/ comment eviter de se retrouver avec un rtf?
    l interet est tout de meme de continuer à parser les objets avec XPATH donc je ne comprend pas l interet de ce type... est ce un manque de conception?

    Dans mon projet de XMLdifference dans lequel je compare deux fichiers XML:
    le 1er passé au parseur
    le 2eme dont le chemin est passé en parametre puis récupérer ds le xsl avec un document(param)...dans une variable justement.
    Rencontrerai je des problemes de ce style?

    tout autre info concernant les rtf est bienvenu car c est assez obscure. Merci

  2. #2
    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 : 47
    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
    1) Non, si tu utilise le select de la variable c'est un type nodeset,number,string ou boolean.Si tu ecris entre les deux balises c'est un fragemnt node

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <variable name="test">
    <a>
      <ab>1</ab>
      <ab>2</ab>
    </a>
     
    </variable>
    Si tu utilises un xsl:copy-of tu auras bien les balises dans le resultat final
    Par contre:
    - aucun xpath possible
    - si tu utilise des fonctions de chaines il la traitera comme si c'etait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <variable name="test">12</variable>
    Qui etait codé(du moins sur certains processeur comme msxml).Il ignore la presence des balises (un peu comme un xsl:value-of sur un ensemble de noeuds)

  3. #3
    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 : 47
    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
    le 2eme dont le chemin est passé en parametre puis récupérer ds le xsl avec un document(param)...dans une variable justement.
    Rencontrerai je des problemes de ce style?
    Non avec document c'est un type nodeset donc les xpath sont tout a fait possible

  4. #4
    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
    Non, si tu utilise le select de la variable c'est un type nodeset,number,string ou boolean.Si tu ecris entre les deux balises c'est un fragemnt node

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <variable name="test">
    <a>
      <ab>1</ab>
      <ab>2</ab>
    </a>
     
    </variable>
    Si tu utilises un xsl:copy-of tu auras bien les balises dans le resultat final
    Par contre:
    - aucun xpath possible
    ..je sais pas si tu te rends compte de ce que tu dis mais pour moi tout interet pour le XML s effondre a entendre cela... aucun xpath? alors ça ne vaut plus rien... j apprends qq chose de terrible

  5. #5
    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
    je sais pas si tu te rends compte de ce que tu dis mais pour moi tout interet pour le XML s effondre a entendre cela... aucun xpath? alors ça ne vaut plus rien... j apprends qq chose de terrible
    Les tera-octets de feuilles de styles XSLT écrites depuis 2000 dans le monde entier devraient modérer un peu ton dépit...

    La nécessité d'avoir à parser et faire des requêtes dans un RTF (Result Tree Fragment) dénote une faille dans l'analyse préalable du problème à résoudre.
    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

  6. #6
    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 : 47
    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
    rassure toi, le pb est eliminé dans la nouvelle version xslt 2.0
    The result tree fragment data-type is eliminated. A variable-binding element with content (and no as attribute) now constructs a temporary tree, and the value of the variable is the root node of this tree (see 9.3 Values of Variables and Parameters). With an as attribute, a variable-binding element may be used to construct an arbitrary sequence. These features eliminate the need for the xx:node-set extension function provided by many XSLT 1.0 implementations.

Discussions similaires

  1. [XSLT 2.0] Inclure du code dans xsl:result-document
    Par qdaemon_fr dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 14/12/2013, 18h44
  2. Réponses: 7
    Dernier message: 10/11/2006, 13h11
  3. XPATH XSL Récursif (très débutant!)
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 24/08/2004, 10h04
  4. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21
  5. Cours en Français sur XML-XSL et XPath
    Par Community Management dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 25/04/2002, 15h46

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