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 :

Mathml et extraction xsl


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Par défaut Mathml et extraction xsl
    Bonjour,
    J'essaie, non sans mal, de m'initier à Mathml, XML, XSL, etc...
    Je souhaite mettre en forme le fichier XML suivant grâce à une feuille de style XSLT :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
    <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">
     
    <?xml-stylesheet type="text/xsl" href="fichier.xsl"?>
     
    <exercice>
      <question libelle="a">
        <formule>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
              <mrow>
                <mi>x</mi>
                <mo>=</mo>
                <mfrac>
                  <mrow>
                    <mo>-</mo>
                    <mi>b</mi>
                    <mo>&#x00b1;</mo>
                    <msqrt>
                      <mrow>
                        <msup>
                          <mrow><mi>b</mi></mrow>
                          <mrow><mn>2</mn></mrow>
                        </msup>
                        <mo>-</mo>
                        <mn>4</mn>
                        <mi>a</mi>
                        <mi>c</mi>
                      </mrow>
                    </msqrt>
                  </mrow>
                  <mrow><mn>2</mn><mi>a</mi></mrow>
                </mfrac>
              </mrow>
            </mrow>
          </math>
        </formule>
      </question>
      <question libelle="b">
        <formule> (7 x 100) + (4 x 10) + 5 +
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
              <mfrac>
                <mrow><mn>32</mn></mrow><mrow><mn>100</mn></mrow>
              </mfrac>
            </mrow>
          </math>= 745,32
        </formule>
      </question>
      <question libelle="c">
        <formule> (5 x 100) + (3 x 10) + 2 +
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
              <mfrac>
                <mrow><mn>4</mn></mrow>
                <mrow><mn>10</mn></mrow>
              </mfrac>
            </mrow>
            <mo>+</mo>
            <mrow>
              <mfrac>
                <mrow><mn>7</mn></mrow>
                <mrow><mn>100</mn></mrow>
              </mfrac>
            </mrow>
            <mo>+</mo>
            <mrow>
              <mfrac>
                <mrow><mn>6</mn></mrow>
                <mrow><mn>1000</mn></mrow>
              </mfrac>
            </mrow>
          </math>= 532,476
        </formule>
      </question>
    </exercice>
    Et le fichier XSL est le suivant :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     
    <xsl:output method="xml" version="1.0" encoding="iso-8859-1"/> 
     
    <!-- ============================================ -->
    <!-- Traitement à effectuer pour l'élément racine -->
    <!-- ============================================ -->
    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml"
          xml:lang="fr"
          xmlns:pref="http://www.w3.org/2002/Math/preference"
          pref:renderer="css">
        <head>
        </head>
        <body>
         	  <xsl:apply-templates />
        </body>
        </html>
    </xsl:template>
     
    <!-- ============================================== -->
    <!-- Traitement à effectuer pour l'élément EXERCICE -->
    <!-- ============================================== -->
    <xsl:template match="exercice">
         <div id="corrige">
         	  <xsl:apply-templates />
         </div>
    </xsl:template>
     
    <!-- ============================================== -->
    <!-- Traitement à effectuer pour l'élément QUESTION -->
    <!-- ============================================== -->
    <xsl:template match="question">
         <xsl:text>&#xA;</xsl:text>
         <b>
         <xsl:value-of select="@libelle"/>)
         </b>
         	  <xsl:apply-templates />
    </xsl:template>
     
    <xsl:include href="pmathml.xsl" />
     
    </xsl:stylesheet>
    A l'ouverture avec Firefox, les formules mathématiques s'affichent correctement mais pas la mise en forme (Retour à la ligne à chaque question, mise en gras...)
    Et, beaucoup plus grave, bien qu'ayant installé MATHPLAYER, Internet Explorer, quant à lui, n'interprète pas le code Mathml.
    Comment puis-je faire cohabiter tous ses formats et que ça fonctionne dans ces deux principaux navigateurs ?
    Merci de votre aide

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Essaye de changer le "output" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="xml" version="1.0" encoding="iso-8859-1"/>
    Mets "html" à la place de "xml".

    Après pour revenir à la ligne à chaque question, il te fait mettre un <br/> après chaque question...

Discussions similaires

  1. extraction string xsl problem substring/instr
    Par CouicCouic dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 28/12/2011, 03h28
  2. XML, XSL, et MathML
    Par pbernard dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 17/04/2010, 23h34
  3. Interpreter du CODE MathML sous XSL-FO
    Par tarekos dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/06/2008, 09h28
  4. [XSLT] extraction de donnéés avec xsl
    Par bobkorn dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 21/04/2008, 11h25
  5. [XSLT] [PHP] extraction des variable de xsl avec php
    Par anis_el_madani dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2007, 23h20

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