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: nom de fichiers relatifs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 22
    Points : 15
    Points
    15
    Par défaut XSLT: nom de fichiers relatifs
    Je crois me reppeller qu'on peut dire à de résoudre d'une manière particulière les noms de fichiers relatifs, comme par exemple spécifier des dossiers en plus du dossier de la feuile de style. Mais mes recherches n'on rien données, quelqu'un sait comment faire?

  2. #2
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    oui dans Xalan par exemple, il faut que tu définisses un URIResolver qui renvoie systématiquement l'uri concaténé avec le nom du dossier souhaité.

    http://xml.apache.org/xalan-j/apidocs/javax/xml/transform/URIResolver.html
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 22
    Points : 15
    Points
    15
    Par défaut en XSLT
    Oui, mais moi je pensé à une balise XSLT qui permetrais de faire ça. De plus j'utilise JAXP et non Xalan donc je veux rester compatible avec JAXP.

  4. #4
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    je ne comprend pas bien ton problème : si tu veux changer l'uri dans ton document xslt directement, je ne vois pas l'intérêt d'une balise... il suffit de modifer tes appels à document(...).
    Je pensais que tu voulais avoir une feuille xslt indépendante de la localisation physique de tes documents XML. Dans ce cas, il faut paramétrer le processeur xslt (xalan ou autre)
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Le probléme c'est qu'il y a pas mal de références externes et si je bouge les documents ou la feuille de style et bien je doit toutes les modifiers.

  6. #6
    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
    Bonjour,

    la réponse que t'a donnée Grégory est compatible avec JAXP : tu crées une classe, myClass par exemple, qui implémente l'interface URIResolver et tu transmets ensuite cette classe à la fabrique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TransformerFactory factory = TransformerFactory.newInstance();
    factory.setURIResolver(myClass);
    Attention, ca ne permet de résoudre que les problèmes d'URI qu'on trouve dans les fonctions document(), et les balises <xsl:import> et <xsl:include>; si tu dois également gérer les DTD, ce ne sera pas suffisant.
    De plus j'utilise JAXP et non Xalan donc je veux rester compatible avec JAXP.
    Il y a une petite confusion : JAXP n'est qu'une API de haut niveau, qui permet d'avoir un code indépendant du parseur XML utilisé, mais qui ne peut fonctionner sans qu'il y ait derrière un parseur acceptant cette norme. Xalan est compatible JAXP (et aussi compatible TrAx pour les transformations XSLT) donc pas de problème.
    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

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    Oui mais Xalan a des fonction en plus de JAXP, donc si je les utilises je ne serais plus compatible avec JAXP.
    Ok, je vais voir; pour ce qui est des DTD pas de problème, j'utilise des schemas.

  8. #8
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Attention, ca ne permet de résoudre que les problèmes d'URI qu'on trouve dans les fonctions document(), et les balises <xsl:import> et <xsl:include>; si tu dois également gérer les DTD, ce ne sera pas suffisant.
    oui, et ajoutons tous les liens et images. Dans ce cas, une solution est de créer un paramètre pour ta feuille qui contient le répertoire de base. ensuite tu modifies les productions de tes liens en concaténant la variable et ton chemin relatif. Enfin tu appelles ton processeur xslt avec comme paramètre le chemin de base. La encore ta feuille xslt est indépendante du chemin de base.
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 22
    Points : 15
    Points
    15
    Par défaut pas de problème pour ça non plus
    En fait, c'est bien que les documents utiliser par XSLT seulement (donc pas ceux pour le XML (comme les DTD et les schémas) ni ceux pour le document de sortie (comme les images et les liens) car ils sont codés par rapport au document de sortie).

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

Discussions similaires

  1. [XSLT] Insertion du nom du fichier XML par transformation XSL
    Par stepd dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/07/2006, 11h40
  2. [XSLT] nom du fichier XML
    Par ouquoi dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/06/2006, 11h44
  3. Réponses: 5
    Dernier message: 08/05/2006, 00h39
  4. [XSLT] Récupérer le nom du fichier XML
    Par silverspike dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/04/2006, 14h01
  5. [XSLT] Récupération du nom du fichier XML analysé
    Par Patkaza dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/01/2005, 11h28

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