01 12 2007
XML c’est super puissant. Les possibilités offertes par le langage XSL de mise en forme des données XML sont énormes mais super complexes à mettre en oeuvre…
XML c’est super puissant. Les possibilités offertes par le langage XSL de mise en forme des données XML sont énormes mais super complexes à mettre en oeuvre…
Bref dans le but d’en apprendre plus sur XML et XSL, il faut pratiqué et comme j’ai récemment perdu pas mal de données, je vais TENTER d’utiliser XML et XSL pour mon portfolio. Je dis tenter parce que ce n’est pas une mince affaire, non seulement il faut apprendre et coder toute la partie client XML/XSL mais après il y aura aussi toute la partie serveur avec PHP qui générera les fichier XML ou XSL.
Bref on s’en fou, c’est article est un bric à brac, des notes utiles dont j’ai besoin mais que j’ai eu du mal à trouver sur le web et dont j’aurais du mal à me souvenir…
XSL
Différence entre value-of et copy-of !<xsl:value-of select="HTML_content"/>
<xsl:copy-of select=”HTML_content” />
Ces deux lignes peuvent donner la même chose si elles ne contiennent que du texte. Cependant si la balise contient du code HTML ( des balise div b i q, des liens a, des images img…) elle ne vont pas rendre la même chose. value-of retournera la valeur du contenu de la balise HTML_content, c’est-à-dire que toute balise sera interprêtée, or le XML ne sait pas interprêter le HTML.
Lorsque la sortie de votre feuille de style XSL est du HTML, vous devez utiliser copy-of pour copier le contenu exact de la balise HTML_content dans la sortie HTML de votre feuille de style.
exemple concret :
Fichier XML<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type=”text/xsl” href=”style.xsl”?>
<article id=”1″ creation=”1196425684″ last_update=”1196425768″>
<title>Les src ne sont pas tous des geeks</title>
<source>http://apps.facebook.com/causes/view_cause/36306?recruiter_id=9771712&h=plw</source>
<author>Antoine</author>
<summary>Les SRC ne sont pas tous des geeks</summary>
<content>
Non ! Les SRC ne sont pas tous des geek, le fait de passer du temps devant notre ordinateur est dû à la quantité de travail que nous avons.
<br />Aidez nous à supprimer cette image.
Positions:
<ol>
<li>Les SRC ont droit au respect</li>
</ol>
</content>
</article>
Désolé pour le contenu mais bon j’avais pas d’idée alors hein…
Remarquez que la balise content contient du code HTML
Si vous utilisez <xsl:value-of select="content"/> les balises HTML dans le content ne seront pas affichées puisque vous demandez à XSL de retourner la valeur XML de content. Cependant si vous utilisez <xsl:copy-of select="content"/> il va copier le contenu donc le code HTML.
Fichier style.xsl : <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>
<xsl:output method=”html”/>
<xsl:template match=”/”>
<html>
<body>
<h2><xsl:value-of select=”title”/></h2>
<div>
<h3>Contenu sans formatage html, texte nu sans aucune valeur moche à regarder et tout et tout…</h3>
<xsl:value-of select=”content” />
</div>
<hr/>
<div>
<h3>Contenu beau, bien affiché en HTML</h3>
<xsl:copy-of select=”content” />
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Récupérer un attribut d’une balise (source):
le @ permet de récupérer un attribut
par exemple, l’expression XPATH rubrique[@id] te retourne la valeur de l’attribut id de ta balise rubrique
HTML Symbol Entities : http://www.w3schools.com/tags/ref_symbols.asp
Le langage XSL : http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursxsl/sommaire.html
L’Altruiste, le guide des langages du Web : http://www.laltruiste.com/accueil.php?url=http://www.laltruiste.com/accueil.html
Tags: Attribut, balise, developpement, XML, XSL, XSL FO, XSL(T)

Laisser un commentaire