Salut !
Je cherche à créer une feuille de style XSL qui affiche (en HTML) n'importe quel document XML sous forme d'un arbre "visuel" (en utilisant des tableaux HTML par ex).
Un exemple...
A partir du XML suivant :
on obtiendrait dans le navigateur qqchose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="style4.xsl"?> <parents> <enfant1> <petitenfant11/> <petitenfant12/> </enfant1> <enfant2/> <enfant3> <petitenfant31/> </enfant3> </parents>
Voici le code xsl que j'au fait :
mais ca ne marche pas térrible...
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 <?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="*"> <table width="100%" align="center" border="1"> <tr bgcolor="coral"> <td align="center"> <xsl:attribute name="colspan"><xsl:value-of select="count(child::*)"/></xsl:attribute> <xsl:value-of select="name()"/> </td> </tr> <tr bgcolor="#9CCDA9"> <xsl:for-each select="child::*"> <td align="center" valign="top"> <table width="100%" align="center" border="1"> <tr bgcolor="coral"> <td align="center"> <xsl:attribute name="colspan"><xsl:value-of select="count(child::*)"/></xsl:attribute> <xsl:value-of select="name()"/><xsl:apply-templates/></td> </tr> <tr></tr> </table> </td> </xsl:for-each> </tr> </table> </xsl:template> </xsl:stylesheet>
Il s'agit quelque part de refaire le feuille de style par défaut de IE.
Si quelqu'un a déjà fait ça ou aurait des idées?
Grand merci d'avance !
matt
Partager