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

XML/XSL et SOAP Discussion :

Aucune mise en forme avec ma feuille de style XSL sous Frefox 82./Windows 10


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut Aucune mise en forme avec ma feuille de style XSL sous Frefox 82./Windows 10
    Bonjour à tous!

    Je me lance en dehors de ma zone de confort (plutôt le VBA et Access) pour tenter de parser des fichiers XML avec un navigateur (firefox V82 sous windows 10), au moyen d'une feuille de style xsl de mon cru. Les deux fichiers sont dans le même répertoire local.

    Au bout de deux ou trois heures de galère , j'ai simplifié le XML source au maximum sur la base d'un exemple que je copie ci dessous :

    fichier xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet href="hello-page-html.xsl" type="text/xsl"?>
    <!DOCTYPE page SYSTEM "hello-page.dtd">
    <page>
     <title>Hello friend</title>
     <content>
      Voici du contenu
     </content> 
     <comment>
          Written by j-ph, en l'an de grâce 2020
     </comment>
    </page>

    XML que je traduit avec la feuille de style suivante : ...
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      <?xml version="1.0"?>
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text"/>
        <xsl:template match="/">
          Article - <xsl:value-of select="/Article/Title"/>
          Auteurs : <xsl:apply-templates select="/Article/Authors/Author"/>
        </xsl:template>
        <xsl:template match="Author">
          - <xsl:value-of select="." />
        </xsl:template>
      </xsl:stylesheet>

    La feuille de style est dument appelée dans le doc XML, mais la mise en forme espérée ne se produit pas .

    A l'ouverture du doc xml, tout son contenu est affiché en un seul bloc de texte sans séparation ni saut de ligne.

    Quelques hypothèses :

    a) (xml et xsl sont dans le même répertoire, mais peut être qu'il faut donner un nom de chemin complet dans l'instruction :
    "<?xml-stylesheet href="hello-page-html.xsl" type="text/xsl"?>" ?? Tout se passe en effet comme si la feuille de style était ignorée (si je mets un nom de fichier qui n'existe pas , j'ai exactement le même phénomène)

    b) la transformation est bloquée dans Firefox (paramétrage?)

    Je fais surement une erreur évidente mais je ne vois pas laquelle ??

    J'ai essayé avec deux ou trois autres exemples simple xml/xsl mais j'ai systématiquement le même phénomène: la feuille de style n'est pas prise en compte, et le contenu du xml est simplement "dumpé" sur mon écran.

    A défaut J'aimerais bien avoir un exemple de paire de fichiers xml/xsl qui fonctionne sous firefox .

    Merci d'avance

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Si on change matériellement le xml touchant les noms des balises et sa structure, on doit changer le xslt aussi reflétant les mêmes.

    Äu titre d'exemple, remplacez les templates par ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <xsl:template match="/">
          title - <xsl:value-of select="/page/title"/>
          comment : <xsl:apply-templates select="/page/comment"/>
        </xsl:template>
        <xsl:template match="comment">
          - <xsl:value-of select="." />
        </xsl:template>
    Et puis, pas forcément pour firefox, la ligne dtd est aperçu pour bonne raison par certains navigateurs comme risque sévère, si elle ne serve rien et n'est là que symboliquement, il vaut mieux de l'enlever.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    En fait, le problème provient de Firefox qui interdit le traitement de fichiers locaux pour des raisons de sécurité.
    On rétablit le traitement en remettant le flag "privacy.file_unique_origin" à false.

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    En fait, le problème provient de Firefox qui interdit le traitement de fichiers locaux pour des raisons de sécurité.
    On rCétablit le traitement en remettant le flag "privacy.file_unique_origin" à false.
    C'est oui et non: c'est plutôt non dans ce cas-ci, un mythe ou une illusion.

    Si le href s'écrit comme du genre http://examples.com/hello-page-xml.xsl, oui, ça devient nécessaire; mais pour href qui s'écrit comme tel, ce n'en est pas. Mais, si la ligne dtd s'installe là, vous vous en prenez compte. Cette ligne s'est vue plus de mal que de bien dans les applications web, à mon sens.

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

Discussions similaires

  1. [XSLT 1.0] Mettre en forme un schéma xsd avec une feuille de style xsl
    Par rinfray dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 24/04/2013, 09h04
  2. Réponses: 5
    Dernier message: 06/06/2008, 17h14
  3. Réponses: 3
    Dernier message: 24/04/2007, 11h39
  4. [XSL]problème de liens via feuille de style, images....
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/06/2005, 10h57
  5. [XSL] Placer une image avec la feuille de style
    Par Marcopilon dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 01/06/2005, 00h30

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