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

 


Dernière réponse
Sujet : [XSL] petit problème de débutant
nabab Les accolades sont la pour faire ressortir une instruction ou appartiennent rellement à ton document ?
 
Sinon Quel parseur utilises tu car il ne devrait pas etre necessaire de donner le XPath entier des elements lists dans le gabarit que tu presentes et au vu d'ou il est appelé ...
 
D'ailleurs l'interpretation du XSL depend bcp du parseur utilise, Microsoft, IBM, ... du fait de la non finalisation de la standardisation.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
nabab Les accolades sont la pour faire ressortir une instruction ou appartiennent rellement à ton document ?
 
Sinon Quel parseur utilises tu car il ne devrait pas etre necessaire de donner le XPath entier des elements lists dans le gabarit que tu presentes et au vu d'ou il est appelé ...
 
D'ailleurs l'interpretation du XSL depend bcp du parseur utilise, Microsoft, IBM, ... du fait de la non finalisation de la standardisation.
prettysmile pour ceux que ca interesse, a force de bidouille j'ai trouvé la soluce:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
 
 
<html>
    <body>
       
 <h1>PRIMITIVES</h1>    
        <br/>   <xsl:for-each select="schema/primitive" >
  <p>
                <h2><br><xsl:value-of select="p_name"/></br></h2>
  <br>{</br>  
  <xsl:apply-templates select="list"/>
  <br>}</br>
                </p>
               </FONT>
  </xsl:for-each>
</body>
  </html>
 
</xsl:template>
 
<xsl:template match="schema/primitive/list">
 <br><xsl:value-of select="."/></br>
</xsl:template>
 
</xsl:stylesheet>
 :bounce:
prettysmile petite précision: rien ne s'affiche mais le bon nombre de ligne à été sauté là où devraient apparaitre les différent éléments list
prettysmile donc j'écris:
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
 
....blablabla.....
 
</html>
</xsl:template>
 
<xsl:template select="list">
  <!-- Traitement d'un élément "list" -->
<br><xsl:value-of select="list"/></br>
</xsl:template>
 
 
et là : ben ca foire, alors je remplace <xsl:template select="list"> par <xsl:template match="list"> là, spy me fait la transfo mais rien ne s'affiche!!!!
 :crazy:

 

[edit]--Message édité par prettysmile--[/edit]

BifaceMcLeOD C'est normal, dans l'inline template qui traite l'élément primitive, tu n'itères pas sur les éléments enfants.
 
A la place de ton :

Code :
  1. <xsl:value-of select="list"/>


 
Il faudrait que tu écrives:

Code :
  1. <xsl:apply-templates select="list"/>


 
Avec un petit:

Code :
  1. <xsl:template select="list">
  2.   <!-- Traitement d'un élément "list" -->
  3. </xsl:template>


après ton template principal.

prettysmile :) bon, la transfo marche, meme si Spy estime ma feuille xsl non valide.
voici un autre petit pb de débutant:
dans mon doc xml, j'ai un élément <primitive> qui contient 1 <p_name> et plusieurs <list>. quand j'effectue la transo XSL, seul le premier élément est affiché. Comment afficher les autres?
prettysmile HELP!!!!  :crazy:
prettysmile je ne comprends vraiement pas pourquoi il me réclame la dtd dans le .xsl.
 :crazy:

 

[edit]--Message édité par prettysmile--[/edit]

prettysmile ok, c'est corrigé,merci.
sans vouloir abuser, comment dans ce document xsl, je fais référence à ma dtd? (référence que réclame xml spy, alors que ma dtd est interne)
brascoo Mais tu as du kk dans les yeux ??? non, je deconne,c normal , il y a plusieurs fotes (en tout 5 ou 6 , a toi de voir la difference) !!!!! :))
 
Voici la correction :
---------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
 
<html>
    <body>
 
         
       <FONT face="helvetica,arial,sans-serif" color="green" size="+2">PRIMITIVES.</FONT>    
               <xsl:for-each select="primitive" order-by="+ p_name">
                    <p>
                          <xsl:value-of select="p_name"/>
                          <xsl:value-of select="list"/>
                   </p>
              </xsl:for-each>
 
     <FONT face="helvetica,arial,sans-serif" color="green" size="+2">CLASSES.</FONT>
              <xsl:for-each select="class" order-by="+ c_name" >
                  <p>
                          <xsl:value-of select="c_name"/>
                          <xsl:value-of select="c_desc"/>
                          <xsl:value-of select="subclass"/>
                          <xsl:value-of select="c_att"/>
                          <xsl:value-of select="content"/>
                  </p>
               </xsl:for-each>
 
      <FONT face="helvetica,arial,sans-serif" color="green" size="+2">NODES.</FONT>
            <xsl:for-each select="node" order-by = "+ n_name">
                  <p>
                       <xsl:value-of select="n_name"/>
                       <xsl:value-of select="n_desc"/>
                        <xsl:value-of select="memberof"/>
                         <xsl:value-of select="in_att"/>
                        <xsl:value-of select="ex_att"/>
                 </p>
           </xsl:for-each>
 
   
</body>
  </html>
 
</xsl:template>
</xsl:stylesheet>
prettysmile quand xml edit analyse ce code:
 
 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
 
<html>
    <body>
 
       
       <FONT face="helvetica,arial,sans-serif" color="green" size="+2">PRIMITIVES.</FONT>    
               <xsl:for-each select="primitive" order-by="+ p_name"/>
                    <p>
                          <xsl:value-of select="p_name"/>
                          <xsl:value-of select="list"/>
                   </p>
              </xsl:for-each>
 
     <FONT face="helvetica,arial,sans-serif" color=green size=+2>CLASSES.</FONT>
              <xsl:for-each select="class" order-by="+ c_name" />
                  <p>
                          <xsl:value-of select="c_name"/>
                          <xsl:value-of select="c_desc"/>
                          <xsl:value-of select="subclass"/>
                          <xsl:value-of select="c_att"/>
                          <xsl:value-of select="content"/>
                  </p>
               </xsl:for-each>
 
      <FONT face="helvetica,arial,sans-serif" color=green size=+2>NODES.</FONT>
            <xsl:for-each select="node" order-by = "+ n_name"/>
                  <p>
                       <xsl:value-of select="n_name"/>
                       <xsl:value-of select="n_desc"/>
                        <xsl:value-of select="memberof"/>
                         <xsl:value-of select="in_att"/>
                        <xsl:value-of select="ex_att"/>
                 </p>
           </xsl:for-each>
 
   
</body>
  </html>
 
</xsl:template>
</xsl:stylesheet>
 
il repond:
"this file is not well formed body closing element name expected" :eek2:  
 
qqu'un peut il m'aider?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)