Bonjour à tous,
C'est mon troisième sujet ouvert ici mais depuis que je me suis plongé dans XSLT je suis confronté à pas mal de problème et malgrès le lecture de nombreux tutoriaux je ne m'en sort toujours pas. J'ai lu les posts de Xavier concernant les bonnes pratiques mais certain concept ou terme me reste étranger. Je vais donc poser tenter d'expliquer de manière général le problème auquel je suis confronté.
Je réalise des sites internet depuis quelques temps et je souhaite me creer une sorte de framework me permettant de regrouper mes class et fonction afin de minimiser le travail sur mes prochaines créations. J'ai donc décidé de séparer le code php de l'affichage grâce au couple XML - XSLT.
Avant de travaillais de la manière suivante : je créais une page principale et j'appellais en include (en essayant de les sécuriser) les pages à afficher. Mon premier problème a donc été de tenter de retranscrire ce système grace à XML/XSLT. J'ai trouvé une solution qui vas sans doute paraitre risible au yeux des pros : j'ai créé ma page principale index.xml. dans cette page j'ai ajoutér un inlude xsl d'un fichier include.xsl et j'ai mis une balise <xsl:apply-templates select="include"/>. A coté de ça j'ai creer des fichiers news.xls, bio.xsl, ... qui contienne le code xsl des page qui étaient autrefois les includes de mon site (news.php, bio.php, ...).
Quand je veux faire un affichage je procède de la maniere suivante :
- Je créé un arbre XML des résultat de mes requètes grace au php
- Si c'est des news que je veus afficher je renomme le fichier news.xml en include.xml grace à la fonction rename()
- Je crée un XSLTprocessor et je lui passe en feuille de style index.xml et fait un transformToXML de mon arbre xml.
- Grâce à rename() je redonne le nom initial au fichier.
Vous avez suivit j'espere
Mon système marche (dur a croire) mais je me rend bien compte qu'il est loin de d'être "propre". De plus j'ai quelques bug :
- Il y a toujours un espace entre le code source de la page généré et le haut de la fenêtre !!
- Des attributs xmlns se rajoute dans les balise div toujours dans le code source de la page générée...
Si quelqu'un pouvait me donner quelques point pour avancer de manière plus claire je lui en serait très reconnaissant. Merci d'avance.
Modifié par lanfisis (27 Jun 2006 - 19:58)
C'est mon troisième sujet ouvert ici mais depuis que je me suis plongé dans XSLT je suis confronté à pas mal de problème et malgrès le lecture de nombreux tutoriaux je ne m'en sort toujours pas. J'ai lu les posts de Xavier concernant les bonnes pratiques mais certain concept ou terme me reste étranger. Je vais donc poser tenter d'expliquer de manière général le problème auquel je suis confronté.
Je réalise des sites internet depuis quelques temps et je souhaite me creer une sorte de framework me permettant de regrouper mes class et fonction afin de minimiser le travail sur mes prochaines créations. J'ai donc décidé de séparer le code php de l'affichage grâce au couple XML - XSLT.
Avant de travaillais de la manière suivante : je créais une page principale et j'appellais en include (en essayant de les sécuriser) les pages à afficher. Mon premier problème a donc été de tenter de retranscrire ce système grace à XML/XSLT. J'ai trouvé une solution qui vas sans doute paraitre risible au yeux des pros : j'ai créé ma page principale index.xml. dans cette page j'ai ajoutér un inlude xsl d'un fichier include.xsl et j'ai mis une balise <xsl:apply-templates select="include"/>. A coté de ça j'ai creer des fichiers news.xls, bio.xsl, ... qui contienne le code xsl des page qui étaient autrefois les includes de mon site (news.php, bio.php, ...).
Quand je veux faire un affichage je procède de la maniere suivante :
- Je créé un arbre XML des résultat de mes requètes grace au php
- Si c'est des news que je veus afficher je renomme le fichier news.xml en include.xml grace à la fonction rename()
- Je crée un XSLTprocessor et je lui passe en feuille de style index.xml et fait un transformToXML de mon arbre xml.
- Grâce à rename() je redonne le nom initial au fichier.
Vous avez suivit j'espere
Mon système marche (dur a croire) mais je me rend bien compte qu'il est loin de d'être "propre". De plus j'ai quelques bug :
- Il y a toujours un espace entre le code source de la page généré et le haut de la fenêtre !!
- Des attributs xmlns se rajoute dans les balise div toujours dans le code source de la page générée...
Si quelqu'un pouvait me donner quelques point pour avancer de manière plus claire je lui en serait très reconnaissant. Merci d'avance.
Modifié par lanfisis (27 Jun 2006 - 19:58)