1. #1
    Candidat au Club
    Homme Profil pro
    Bibliothécaire
    Inscrit en
    avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bibliothécaire
    Secteur : Service public

    Informations forums :
    Inscription : avril 2017
    Messages : 2
    Points : 3
    Points
    3

    Par défaut XML+XSLT non pris en charge par Firefox / IE

    Bonjour à tous,

    Débutant sur le forum, je me permets de poster cette demande après avoir cherché longuement sur les forums traitant d'XSL une réponse à mon problème. Mes excuses par avance pour toute erreur d'expression ou d'étiquette (je suis bibliothécaire de formation et non informaticien...).

    Je tente d'appliquer une XSL à un fichier XML pour obtenir une page XHTML. Tous deux sont bien formés et valides selon Oxygen XML Editor (version 18.0) et bien reconnus par Firefox comme text/xml. Ils se trouvent dans le même dossier local. Lorsque j'ouvre le fichier XML dans Firefox (version 45.2.0) ou IE (version 9.0.8112), j'obtiens une page blanche, alors que l'application de la XSL via Oxygen me donne bien le résultat en XHTML que j'attends.

    Je joins au post les deux fichiers en question.

    Question subsidiaire : lorsque j'affiche le fichier XML sans tenter de le transformer dans Firefox ou IE, je n'obtiens pas la visualisation classique d'un fichier XML sans formatage spécifique (CSS ou XSLT), mais simplement le contenu textuel des éléments. Savez-vous pourquoi ?

    Merci à vous pour l'aide que vous pourrez m'apporter et bonne journée à tous !

    B. Caron
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 252
    Points : 19 047
    Points
    19 047

    Par défaut

    Hello,

    Si vraiment Oxygen te transforme ce document avec cette feuille de style, en du XHTML avec du contenu, alors Oxygen a un bug. Cette transformation n'est pas censée donner quoi que ce soit.

    La raison est : la plupart de tes éléments XML sont dans un namespace. Mais la plupart des templates de ta feuille de style n'indiquent pas les namespaces des éléments à reconnaître.
    Par conséquent le template ne doit pas reconnaître d'élément du XML (pas le bon namespace => pas le bon élément), et donc aucun template ne doit s'appliquer, et donc la transformation ne doit rien donner.

    Prenons le premier template en exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="/METS_Profile">
    Il cherche à reconnaître l'élément <METS_Profile> mais il ne précise aucun namespace, alors que dans le XML cet élément est dans le namespace http://www.loc.gov/METS_Profile/v2
    Donc ça ne marchera pas.

    Il faut modifier ce template pour indiquer le namespace.

    Pour ça il faut commencer par ajouter le namespace dans l'élément <xsl:stylesheet>, par exemple en ajoutant la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:mp="http://www.loc.gov/METS_Profile/v2"
    Et changer le template en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:template match="/mp:METS_Profile">
    Ensuite, raisonnement similaire pour tous les autres templates. Et ça devrait réparer tout ça.

    Citation Envoyé par BertrandCaron Voir le message
    Question subsidiaire : lorsque j'affiche le fichier XML sans tenter de le transformer dans Firefox ou IE, je n'obtiens pas la visualisation classique d'un fichier XML sans formatage spécifique (CSS ou XSLT), mais simplement le contenu textuel des éléments. Savez-vous pourquoi ?
    Parce que ce document contient des éléments XHTML.

    L'intérêt d'un navigateur est de charger des pages HTML et d'afficher leur rendu. Ce n'est pas à lui de décider quelle proportion de HTML la page doit contenir pour que "ça compte", ni à quelle profondeur il a droit de se trouver. La décision est plus simple : s'il y a du HTML dans le document, afficher avec les règles du HTML, pas avec un éditeur XML ou quoi que ce soit d'autre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Homme Profil pro
    Bibliothécaire
    Inscrit en
    avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bibliothécaire
    Secteur : Service public

    Informations forums :
    Inscription : avril 2017
    Messages : 2
    Points : 3
    Points
    3

    Par défaut Affaire réglée ! Merci !!

    Ha, encore un coup du namespace... erreur de débutant.

    Mais c'est vrai que c'est étonnant qu'Oxygen ne couine pas !

    Merci infiniment à toi, et bonne fin de journée !

  4. #4
    Membre actif
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    avril 2007
    Messages
    168
    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 : 168
    Points : 239
    Points
    239

    Par défaut

    Pour info Altova XMLSpy couine et ne produit aucune sortie avec ce XSL...
    "Chuck Norris a déjà compté jusqu'à l'infini. Deux fois."

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/11/2015, 11h08
  2. Réponses: 2
    Dernier message: 06/05/2012, 13h27
  3. left:0px; non pris en compte par Firefox
    Par joselito dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 04/09/2009, 15h10
  4. Réponses: 3
    Dernier message: 28/01/2008, 10h51
  5. Réponses: 4
    Dernier message: 01/07/2005, 17h20

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