Bonjour,
J'essaie de réaliser un cabarit de site internet en php/xml/xsl et j'ai des soucis :
Voici mon code :
(je n'utilise pas de tableau mais des div)
style.css
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 #header { height: 50px; background-color: #99CCCC; } #conteneur { width:80%; margin:0 auto; background-color:#9999CC; } #centre { background-color:#9999CC; margin-left: 150px; margin-right: 150px; } #gauche { float:left; width: 150px; background-color:yellow; } #droite { float:right; width: 150px; background-color:yellow; } #pied { clear:both; height: 25px; background-color: #99CC99; text-align: center; }
J'ai ensuite un fichier xml qui traduit la structure de mon site :
site.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="site.xsl"?> <site> <header/> <menu/> <pageCentre/> <footer/> </site>
J'ai aussi un fichier xml pour le header, le menu et le footer.
header.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="iso-8859-1"?> <header> <div id="header">Le header</div> </header>
menu.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0" encoding="iso-8859-1"?> <menu> <div id="gauche"> <ul> <li><a href="#">lien</a></li> <li><a href="#">lien</a></li> <li><a href="#">lien</a></li> <li><a href="#">lien</a></li> </ul> </div> </menu>
footer.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="iso-8859-1"?> <footer> <div id="pied"> le footer </div> </footer>
Ma feuille de style qui transforme le tout est la suivante :
site.xsl
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 <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" media="screen" href="style.css" /> </head> <body> <div id="conteneur"> <xsl:apply-templates /> </div> </body> </html> </xsl:template> <xsl:template match="header"> <xsl:copy-of select="document('header.xml')/header/*" /> </xsl:template> <xsl:template match="menu"> <xsl:copy-of select="document('menu.xml')/menu/*" /> </xsl:template> <xsl:template match="pageCentre"> <h3>Comment inclure ici dynamiquement une page? </h3> </xsl:template> <xsl:template match="footer"> <xsl:copy-of select="document('footer.xml')/footer/*" /> </xsl:template> </xsl:stylesheet>
Et donc ma question est :
Comment intégrer dynamiquement une page au centre?
nb : j'utilise php et la libxslt pour la transformation.
merci d'avance ^^
Partager