XHTML -> XSL -> XML, même le plus simple ne fonctionne pas !

XHTML -> XSL -> XML, même le plus simple ne fonctionne pas ! - XML/XSL - Programmation

Marsh Posté le 25-11-2008 à 11:59:55    

Bonjour à tous !
 
J'ai besoin de vous, ça fait deux jours que j'essaie de comprendre le xsl sans succès !
 
Je voudrais transformer mon fichier xhtml en xml et je n'arrive même pas à accéder aux balises !
Ensuite j'ai un fichier JAVA qui associe les deux...
 
Voilà mon fichier XHTML :

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/ xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <title>Titre page</title>
  6. </head>
  7. <body>
  8. <p>
  9.  <span class="text_gras">Vous trouverez sur cette page des actualités régulièrement mises à jour.</span>
  10. </p>
  11. <table class="news_table">
  12. <tbody>
  13. <tr>
  14.  <td nowrap="true" class="news_td">
  15.   <span class="news_date">Juillet 2007</span>
  16.  </td>
  17.  <td width="100%" class="news_title">  Fédération du BTP du Haut-Rhin </td>
  18. </tr>
  19. </tbody>
  20. </table>
  21. </body>
  22. </html>


 
Mon fichier XSL :

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output method="xml" indent="yes" />
  4. <xsl:template match="/html/body/p">
  5. <xsl:element name="p"><xsl:value-of select="span" /></xsl:element>
  6. </xsl:template>
  7. </xsl:stylesheet>


 
Et j'obtiens :  

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. Titre page
  3.  Vous trouverez sur cette page des actualités régulièrement mises à jour
  4.   Juillet 2007
  5.    Fédération du BTP du Haut-Rhin


 
Je ne comprends pas pourquoi il me met le contenu de toutes les balises !
Merci pour votre aide et pour le temps que vous me consacrerez...

Reply

Marsh Posté le 25-11-2008 à 11:59:55   

Reply

Marsh Posté le 26-11-2008 à 13:53:37    

1. Il te mets le contenu des balises parce que c'est le comportement par défaut d'une transformation.  
 
2. Il adopte ce comportement parce que tu lui demandes rien... je pense qu'il te manque le template qui amorçe le processus.
 

 <xsl:template match="/">
    <xsl:text>Je commence la transformation ici!</xsl:text>
    <xsl:apply-templates /><!-- cherche des concordances entre mon stylesheet et le xml -->
  </xsl:template>


Message édité par avander le 26-11-2008 à 13:57:23
Reply

Marsh Posté le 26-11-2008 à 14:36:53    

Effectivement, merci pour te précisions ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed