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

Format d'échange (XML, JSON...) Java Discussion :

Usage de la fonction document() [XPATH]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut Usage de la fonction document()
    Bonjour,
    J'ai une erreur dont je ne comprends pas l'origine:
    voila le code pour plus de vision :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <xsl:variable name="packages"><xsl:value-of select="document('Packages.xml')"/></xsl:variable>
    ...
     
     
    <xsl:variable name="package"><xsl:value-of select="$packages/PACKAGES/PACKAGE/TITLE/MAIN[1]"/></xsl:variable>
    erreur affichée à l'ecran :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      [xslt] : Error! Erreur de contrôle du type de l'expression 'FilterParentPath(variable-ref(packages/result-tree), ParentLocationPath(ParentLocationPath(step("child", 15), step("child", 16)), step("child", 17, pred(int-expr(1)))))'.
         [xslt] : Fatal Error! Impossible de compiler la feuille de style
    Pouvez vous m'aider à comprendre l'origine de cette erreur???
    Merci d'avance.

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    essaye cela :


    <xsl:variable name="packages" select="document('Packages.xml')"/>
    ...


    <xsl:variable name="package"><xsl:value-of select="$packages/@select/le_path_que_tu_veux_dans_ton_fichier_PAckages.xml"/></xsl:variable>

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    C'est pareil l'erreur persiste.
    Autre solution svp??????

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    explique moi ce que veux tu faire exactement ...

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    En bref je veux faire une sorte de jointure entre 2 fichiers XML suivant un critere d'égalité de balises nommés différemment dans ces 2 fichiers, voila le code propore :
    voila le debut de mon xsl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <xsl:template match="/VOD_CONTENTS">
    <xsl:variable name="packages"><xsl:value-of select="document('Packages.xml')"/></xsl:variable>
    ...
    voila le l'endroit où je fais la jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <packages>
            <xsl:for-each select="ContentLocationTable/VODContentLocation/PCCAD_VOD:Instructions/PCCAD_VOD:SvodPackageList/PCCAD_VOD:SvodPackageItem">
              <xsl:variable name="idPackage"><xsl:value-of select="."/></xsl:variable>
              <xsl:variable name="package"><xsl:value-of select="$packages/PACKAGES/PACKAGE[@label=$idPackage]"/></xsl:variable>
              </package>
            </xsl:for-each> 
            </packages>
    le problème c'est qu'il ne va pas du tout dans le fichier XML inclus,il ne se limite qu'au fichier XML en cours de lecture, il m'affiche l'erreur précédemment montrée dès que je veux accéder à un qcq element du fichier XML inclus dans la variable $packages.
    où ai je donc peché????

  6. #6
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ok je vois j avais eu le même pb :

    on voit que la recherche dans le forum a pas eu lieu ...
    preuve : http://www.developpez.net/forums/sho...d.php?t=518410

    nOw les explications et la solutions :


    bon alors quand tu met "Document(...)" dans t a variable ce n est plus considere comme la fonction DOcument mais comme une chaine de caractere banale

    donc il faut que tu fasse comme cela :

    <xsl:template match="/VOD_CONTENTS">
    <xsl:variable name="packages"><xsl:value-of select="Packages.xml"/></xsl:variable>

    <xsl:variable name="idPackage"><xsl:value-of select="."/></xsl:variable>
    <xsl:variable name="package"><xsl:value-of select="document($packages)//PACKAGES/PACKAGE[@label=$idPackage]"</xsl:variable>

    Voila et la ca devrait marcher ... dis moi si non

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/05/2007, 16h57
  2. Réponses: 1
    Dernier message: 11/05/2007, 00h59
  3. [XSL] fonction document
    Par maa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/03/2006, 17h38
  4. [XSL]Récupérer erreur de la fonction document() ?
    Par Chips dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/05/2005, 18h03
  5. [XSL-FO] fonction document()
    Par bob33 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/05/2005, 10h07

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