Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1990 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  problème avec XSL pour générer HTML à partir de XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec XSL pour générer HTML à partir de XML

n°1784291
SAIPA
Posté le 09-09-2008 à 10:14:49  profilanswer
 

Bonjour,  
 
j'ai un fichier xml et j'arrive pas à le convertir en html avec xsl, sous la forme souhaité.
le fichier xml décrit la structure d'un module de test. en fait, un module de test peut etre composé de plusieurs groupes de test et plusieurs cas de test,
et chaque groupe de test peut etre composé de plusieurs cas de test.
ce que je souhaite avoir en html : un tableau principal pour le test module, et à l'intérieur de ce tableau autant de tableaux que de groupes de test et des cas de test.
 
le module de test, les groupes de test et les cas de test ont la meme squelette à savoir : balise "préparation", balise "contraintes", balise "conditions", balise "sequence" et balise "completion" et chaque balise peut avoir d'autres noeuds. et je veux récuperer tout leur contenus avec les noeuds aussi mais j'arrive pas à le faire.
voici le code xml :
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test case stylesheet.xsl" ?>
<!--
    Document   : newXMLDocument1.xml
    Created on : 3 septembre 2008, 12:18
    Author     : uid0136
    Description:
        Purpose of the document follows.
-->
 
 
<testmodule title="Start" version="1.0">
 
  <sut>
 
    <info>
 
      <name>Functions</name>
 
      <description>This is just a demo test specification that serves as an example.</description>
 
    </info>
 
  </sut>
 
  <extendedinfo type="html">
 
    &lt;img src="vector.gif" alt="Example of how to embed HTML code within the XML code "border="0"/&gt;
 
  </extendedinfo>
 
  <engineer>
 
    <info>
 
      <name>Name</name>
 
      <description>Engineer ABC</description>
 
    </info>
 
    <info>
 
    <name>Ident-Number</name>
 
      <description>0815</description>
 
    </info>
 
    <info>
 
      <name>Company</name>
 
      <description>Vector Informatik GmbH</description>
 
    </info>
 
  </engineer>
 
  <constraints>
 
      <cycletime_abs min="0" max="600">
 
        <canmsg id="WiperControl"/>
 
      </cycletime_abs>
 
    </constraints>
  <testgroup title="Check the testdriver itself. It has to provide the washing request message every interval">
 
   <miscinfo title="">
 
      <info>
 
        <name>Additional information for Constraints</name>
 
        <description>With the constraints, the test environment is supervised. Here, we supervise the driving message against cyclically availability. Since some signals onto this message will force a spontaneous sending, the minimum cycle time is not checked (=0)</description>
 
      </info>
 
      <info>
 
        <name>Additional information for Conditions</name>
 
        <description>With the conditions, the SUT is supervised. Here, we supervise the status-message that should occur cyclically. Since some signals onto this message will force a spontaneous sending, the minimum cycle time is not checked (=0)</description>
 
      </info>
 
    </miscinfo>
 
    <constraints>
 
      <cycletime_abs min="0" max="600">
 
        <canmsg id="WiperControl"/>
 
      </cycletime_abs>
 
    </constraints>
 
    <conditions>
 
      <cycletime_abs min="0" max="1100">
 
        <canmsg id="WipingStatus"/>
 
      </cycletime_abs>
 
    </conditions>
 
    <testcase ident="Wiping Level 2" title="Wiping level 2, fall back to off">
 
      <initialize title="Select wiping level 2" wait="1500">
 
        <cansignal name="WipingLevel">2</cansignal>
 
        <cansignal name="WasherRequest">0</cansignal>
 
      </initialize>
 
      <statechange wait="4000" title="After switching off the wipers, they shall have reached the position 0">
 
        <in>
 
          <cansignal name="WipingLevel">0</cansignal>
 
          <cansignal name="WasherRequest">0</cansignal>
 
        </in>
 
        <expected>
 
          <envvar name="EnvWiperPosition">0</envvar>
 
        </expected>
 
      </statechange>
 
    </testcase>
 
  </testgroup>
     
  <testcase ident="Wiping Level 2" title="Wiping level 2, fall back to off">
 
      <initialize title="Select wiping level 2" wait="1500">
 
        <cansignal name="WipingLevel">2</cansignal>
 
        <cansignal name="WasherRequest">0</cansignal>
 
      </initialize>
 
      <statechange wait="4000" title="After switching off the wipers, they shall have reached the position 0">
 
        <in>
 
          <cansignal name="WipingLevel">0</cansignal>
 
          <cansignal name="WasherRequest">0</cansignal>
 
        </in>
 
        <expected>
 
          <envvar name="EnvWiperPosition">0</envvar>
 
        </expected>
 
      </statechange>
 
    </testcase>
</testmodule>
 
voici le code xsl:
<?xml version="1.0" encoding="UTF-8"?>
 
<!--
    Document   : test case stylesheet4.xsl
    Created on : 4 septembre 2008, 15:49
    Author     : uid0136
    Description:
        Purpose of transformation follows.
-->
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
 
    <!-- TODO customize transformation rules  
         syntax recommendation http://www.w3.org/TR/xslt  
    -->
    <xsl:template match="/">
        <html>
            <head></head>
            <body><p><I><font size="5" color="Blue"><xsl:value-of select="testmodule/@title"/></font></I></p>
                <table border="2">
                    <tr>
                        <th>preparation</th>
                        <th>constraints</th>
                        <th>conditions</th>
                        <th>sequence</th>
                        <th>completion</th>
                    </tr>
                    <tr>
                        <td><xsl:value-of select="testmodule/preparation"/></td>
                        <td><xsl:value-of select="testmodule/constraints"/></td>
                        <td><xsl:value-of select="testmodule/conditions"/></td>
                        <td><!--<xsl:if test="name = 'testgroup'or'testcase'">-->
                        <xsl:apply-templates /><!--</xsl:if>--></td>
                        <td><xsl:value-of select="testmodule/completion"/></td>
                       
                    </tr>
                </table>
               
            </body>
        </html>
    </xsl:template>
   <xsl:template match="testgroup" >
       <table border="4"><p>test group : <I><font size="5" color="Blue"><xsl:value-of select="@title"/></font></I></p>
           <tr>
               <th>preparation</th>
               <th>constraintes</th>
               <th>conditions</th>
               <th>sequence</th>
               <th>completion</th>
           </tr>
            <tr>    
            <td><xsl:copy-of select="preparation"/></td>
               <td><xsl:value-of select="constraints"/></td>
               <td><xsl:copy-of select="conditions"/></td>                  
               <td><xsl:apply-templates select="testcase"/></td>
               <td><xsl:value-of select="completion"/></td></tr>
       </table>
   </xsl:template>
   <xsl:template match="testcase" >
     <table border="4"><p>testcase : <I><font size="5" color="Blue"><xsl:value-of select="@title"/></font></I></p>
           <tr>
               <th>preparation</th>
               <th>constraints</th>
               <th>conditions</th>
               <th>sequence</th>
               <th>completion</th>
           </tr>  
           <tr>
               <td><xsl:copy-of select="preparation"/></td>
               <td><xsl:value-of select="constraints"/></td>
               <td><xsl:value-of select="conditions"/></td>
               <td><xsl:copy/></td>
               <td><xsl:value-of select="completion"/></td>
           </tr>
           </table>  
   </xsl:template>
</xsl:stylesheet>
 
merci pour votre aide.


Message édité par SAIPA le 10-09-2008 à 09:36:28
mood
Publicité
Posté le 09-09-2008 à 10:14:49  profilanswer
 

n°1787463
avander
Posté le 16-09-2008 à 09:50:57  profilanswer
 

Si tu nous donnais un exemple du html que tu veux en sortie pour le xml donné?  :whistle:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  problème avec XSL pour générer HTML à partir de XML

 

Sujets relatifs
Débutant ==> Problème avec un programmeQuestion toute bete en html
problème macros[HTML/PHP] Test connexion routeur
problème d'affichage RSS 2.0 depuis source htmlquestion sur le HTML
probléme lors de la compilation 
Plus de sujets relatifs à : problème avec XSL pour générer HTML à partir de XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR