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 :

Filtrage Instructions initiales XML & XSLT


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Russie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 14
    Par défaut Filtrage Instructions initiales XML & XSLT
    Bonjour,

    Je cherche une méthode pour modifier (ajouter & supprimer) les déclarations/instructions initiales xml et xml-style-sheet d'un document xml.

    FICHIER SOURCE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0"  ?>
    <?xml-stylesheet href="monfichier.xsl" type="text/xsl" ?>
    FICHIER CIBLE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?>
    J'ai regardé de ce côté là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output omit-xml-declaration = "yes" method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
    Mais il me semble que cela ne gère pas l'instruction xml-stylesheet ni ne permet de forcer le type d'encodage. Par ailleurs, en sauvegardant mon fichier transformé dans Firefox, j'obtiens un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="windows-1252"?>
    et non le encoding="ISO-8859-1" attendu.

    Merci pour vos lumières !

    Radu

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par radulew Voir le message
    Mais il me semble que cela ne gère pas l'instruction xml-stylesheet
    Non, en effet. Si on en veut une il faut l'insérer avec <xsl:processing-instruction>.

    Citation Envoyé par radulew Voir le message
    ni ne permet de forcer le type d'encodage.
    Ça devrait. encoding= ne sert pas à autre chose. Mais on peut toujours tomber sur des moteurs XSLT qui ne le gèrent pas.

    Citation Envoyé par radulew Voir le message
    Par ailleurs, en sauvegardant mon fichier transformé dans Firefox, j'obtiens un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="windows-1252"?>
    et non le encoding="ISO-8859-1" attendu.
    Ça ne change pas grand-chose.
    Mais je suis curieux : comment Diable fais-tu pour récupérer le résultat de la transformation par Firefox ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Russie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 14
    Par défaut Filtrage Déclaration XML / Instruction XSLT (ajout/omission/suppression)
    Pour exécuter ma transformation, j’utilise le moteur XSLT de Firefox : j’ouvre mon fichier XML dans Firefox, j’obtiens le fichier sortant en le sauvegardant sous un autre nom via ‘Enregistrer sous’ pour ensuite en voir le résultat dans Notepad++.

    Je comprends qu’il faut distinguer les méthodes pour gérer en sortie la déclaration xml et l’instruction de traitement xslt.

    1) Ainsi <xsl :output> permet d’ajouter/omettre la déclaration xml.

    2) Pour l’instruction de traitement xslt, ce code avec <xsl:processing> me permet de la générer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:template match="/">
      <xsl:processing-instruction name="xml-stylesheet">
      <xsl:text>type="text/xsl" href="style.xsl"</xsl:text>
      </xsl:processing-instruction>
      <xsl:apply-templates />
    </xsl:template>
    Par contre, si je ne me trompe pas, pour le cas de la suppression, il faut trouver autre chose... J’ai essayé ça qui marche pas mal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="//*[name(.)='xml-stylesheet']"></xsl:template>
    Merci Thelvin !

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par radulew Voir le message
    Pour exécuter ma transformation, j’utilise le moteur XSLT de Firefox : j’ouvre mon fichier XML dans Firefox, j’obtiens le fichier sortant en le sauvegardant sous un autre nom via ‘Enregistrer sous’ pour ensuite en voir le résultat dans Notepad++.
    Cela ne donne pas le fichier sortant, mais le fichier entrant. À ma connaissance Firefox ne génère pas de fichier sortant, mais seulement une vue, stylisée comme demandé, du fichier demandé.

    Citation Envoyé par radulew Voir le message
    Par contre, si je ne me trompe pas, pour le cas de la suppression, il faut trouver autre chose...
    Il n'y a rien à supprimer. Si on n'insère pas de processing-instruction, elle ne va pas tomber de nulle part.
    Autrement dit : pour ne pas en avoir, il suffit de ne pas en mettre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 199
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Cela ne donne pas le fichier sortant, mais le fichier entrant. À ma connaissance Firefox ne génère pas de fichier sortant, mais seulement une vue, stylisée comme demandé, du fichier demandé.
    Effectivement et c'est pareil pour Chrome. Seul IE sort le résultat (voir 'afficher la source'). Je ne sais pas pour Safari et autres...

Discussions similaires

  1. xhtml-->xml transformation xslt
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 15/06/2005, 15h23
  2. [XSLT][XSD>XML]transformer xsd en xml avec xslt
    Par émile-henri dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 14/06/2005, 15h06
  3. xhtml->xml transformation xslt
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 14/06/2005, 11h17
  4. transformation xml via xslt
    Par ronnie dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 10/05/2005, 10h58
  5. EXTENSIONS XML, XSL, XSLT, sur internet explorer 6 pack 2
    Par superjeanpi dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 08/12/2004, 12h11

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