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 :

XML, XSL, et MathML


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut XML, XSL, et MathML
    Bonjour,

    Je précise que je découvre le XML, le XSL, etc ou presque.
    ... que (inutile sans doute mais on ne sait jamais) mon navigateur web est Firefox 3.5.9 et que je suis sous Linux.

    J'ai un fichier XML "maison" qui a la particularité de contenir,
    en plus de balises "maisons", du xhtml avec du mathml.

    Voilà à quoi ressemble ce fichier (en version courte) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="./style.xsl"?>
    <toto>
      <id>165</id>        
      <rang>1</rang>
      <date>2009-09-16 22:08:11</date>
      <xhtml>
        <p>Soient <m:math display="inline">
                                    <m:msub>
                                        <m:mi>
                                            A
                                        </m:mi>
                                        <m:mn>
                                            1
                                        </m:mn>
                                    </m:msub>
                                </m:math>
            un point.</p>
      </xhtml>
    </toto>
    J'ai relié (voir deuxième ligne) ce fichier à un fichier XSL afin qu'il
    s'affiche proprement avec Firefox (qui comprend à peu près le MathML) par exemple.

    Voici à quoi ressemble mon fichier style.xsl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="toto">
    <html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:m="http://www.w3.org/1998/Math/MathML">
    <head>
    ...
    Or quand j'ouvre mon fichier XML initiale, Firefox me dit :
    Erreur d'analyse XML : préfixe non lié à un espace de noms
    ... <m:math display="inline">
    Pourtant le préfixe "m:" est bien présent dans mon fichier XSL.
    J'ai aussi essayé d'utiliser xalan au lieu de Firefox, même sorte d'erreur

    Merci d'avance !

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par pbernard Voir le message
    Pourtant le préfixe "m:" est bien présent dans mon fichier XSL.
    Oui mais pas à la racine. C'est comme ça qu'on déclare un namespace pour qu'il soit visible dans toute la feuille de style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:m="http://www.w3.org/1998/Math/MathML">
    <xsl:template match="toto">
    <html>
      <head>
    ...
    Je suggère de lire un peu des tutoriels à propos des namespaces en XML et de s'entraîner avec des exemples.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Par défaut
    Merci thelvin.
    J'ai modifié comme indiqué, mais toujours la même erreur
    C'est bien dans la feuille de style (le fichier xsl) qu'on doit déclarer les namespaces ?

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par pbernard Voir le message
    Merci thelvinC'est bien dans la feuille de style (le fichier xsl) qu'on doit déclarer les namespaces ?
    Ce n'est pas vraiment comme ça qu'il faut penser, mais en résumé, oui.
    Le XSL ne va pas deviner dans quel namespace est ton élément, donc évidemment, il faut le déclarer dans le XSL.

    Citation Envoyé par pbernard Voir le message
    Merci thelvin.
    J'ai modifié comme indiqué, mais toujours la même erreur
    Prouve-le.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  2. Pd de transformation XML/XSL sur un windows 2000 server US
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/03/2003, 11h00
  3. XML + XSL + PHP
    Par ZzZerf dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 21/03/2003, 15h54
  4. xml -> xsl -> xml
    Par virgile04 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/10/2002, 16h53
  5. Cours en Français sur XML-XSL et XPath
    Par Community Management dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 25/04/2002, 15h46

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