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] récupérer le nom du fichier en cours


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut [XPath] récupérer le nom du fichier en cours
    Kikou la cie

    Pour le traitement de fichiers XML avec XSLT, j'aurais besoin que ma feuille XSLT soit capable de récupérer le nom (ou le chemin) du fichier XML en cours. J'ai voulu essayé document-uri (que je n'ai jamais utilisé encore), mais cette fonction XPath ne semble être reconnue nî par xsltproc, ni par le processeur XSLT d'IE6.

    J'ai cherché autant dans les fonctions standards de XPath que dans les suppléments à XPath défini par XSLT, mais sans succès. Je pause malgré tout la question ici, dans l'éventualité ou j'aurais manqué une telle fonction quelque part.

    Pour les curieux/ses : la feuille XSLT doit récupérer le nom du fichier XML courant, afin de récupérer des informations externalisées. Il y a un modèle de document que je ne veux pas surcharger de certaines informations annexes qui ne sont pas du contenu, et qui ne sont liées qu'à la présentation produite par XSLT (je m'impose que mes documents ne doivent contenir que du pure contenu). Ces informations annexes sont dans un autres fichier XML unique (qui regroupe toutes les informations annexes définies pour chacun des fichiers documents).

    Merci par avance pour toutes vos sugestions et commentaires

  2. #2
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    aprés vérification, il apparaît que document-uri est une fonction de XPath 2.0 (donc draft), ce qui explique qu'elle ne soit pas reconnue par les deux processeurs cités. D'ailleurs il me semble que ce n'est pas tout à fait la fonction qui répondrait à ce que je cherche Donc exit document-uri.

    Quelqu'un(e) a déjà eu à trouver une solution similaire ?

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    La seule alternative que j'ai trouvé, c'est de créer un attribut que j'ai nomé « self » dans les éléments racines des documents. Ce n'est pas idéal, parce que c'est une redondance « inutile ». Mais j'ai au moins intégré un teste en xslt, pour vérifier que l'attribut self de l'élément racine correspond bien à un fichier existant, à défaut de pouvoir controlé que c'est bien le fichier en cours... sauf à tester que le fichier référencé par self a bien un attribut self qui correspond à l'attribut self à tester... bon, ça fait un peu spagethi tout ça ? Mheuu non, c'est tout à fait logique.

    Je ne sais pas, peut-être devrais-je reformuler le topic ? Ou est-ce tout simplement que personne n'a absolument pas de commentaire à l'esprit ?

    En tous cas, now it's up again

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

    ça été une question mainte fois posée, ici...

    comme tu l'as constaté, il n'y a pas de possibilité d'obtenir avec XLST le nom du document XML en cours de transformation, pas plus que le nom de la feuille de style elle-même d'ailleurs. La seule possibilité de l'avoir - sans le mettre en dur dans le XML - est qu'un code extérieur à la feuille de style le lui passe sous forme d'un <xsl:param/>. Si ta transformation s'effectue côté client, cela peut être fait avec du code Javascript inclus dans une page HTML, côté serveur en PHP, Python, Java, etc... Pour les deux types de solutions tu trouveras des exemples dans le forum et dans la FAQ.

Discussions similaires

  1. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 16h13
  2. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  3. Récupérer le nom du fichier en cours dans une variable.
    Par quiky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/05/2009, 13h28
  4. Récupérer le nom du fichier spool correspondant à un job
    Par chtiot dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/02/2004, 20h28
  5. Réponses: 2
    Dernier message: 29/01/2004, 11h05

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