L'exercice suivant consiste à transformer le fichier monde.xml utilisé pour introduire XSLT dans la section Memo/XSLT
Sa DTD est la suivante :
<!DOCTYPE monde[
<!ELEMENT monde (continent,continent,continent,continent,continent)>
<!ELEMENT continent (nom,liste)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT liste (pays+)>
<!ELEMENT pays (nom,capitale,monnaie)>
<!ELEMENT capitale (#PCDATA)>
<!ELEMENT monnaie (#PCDATA)>
]>
Le source : monde.xml
Dont voici l'arbre partiellement développé :
Récupérer le fichier monde.xml et la feuille de style monde0.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="monde"/>
</body>
</html>
</xsl:template>
<xsl:template match="monde">
<h1> Les pays du monde </h1>
<xsl:apply-templates select="continent" />
</xsl:template>
<xsl:template match="continent">
<h2><xsl:value-of select="nom" /> </h2>
<p><xsl:apply-templates select="liste/pays"/> </p>
</xsl:template>
<xsl:template match="pays">
<xsl:value-of select="nom" />
</xsl:template>
</xsl:stylesheet>
consigne | resultat |
---|---|
monde0 : Cette feuille permet d'afficher la liste des noms des pays en ligne pour chaque continent (voir la section Memo/XSLT ) | monde0 |
monde1 : Modifier la feuille de style monde0.xsl en monde1.xsl de sorte à afficher, pour chaque continent, le nom des pays dans une liste ordonnée | monde1 |
monde2 : Modifier la feuille de style monde0.xsl en monde2.xsl de sorte à afficher, pour chaque continent, le nom des pays et des capitales dans une liste ordonnée | monde2 |
monde3 : Pour chaque continent, afficher les pays dans des blocs qui se suivent en ligne. Chaque bloc est constitué de trois lignes : le nom du pays, sa capitale et la monnaie.On utilisera une feuille de style CSS interne pour mettre en forme les blocs | monde3 |
monde4 : Présenter la liste des pays d'un continent sous forme d'un tableau de trois colonnes (nom capitale monnaie) | monde4 |
monde5 : Présenter la liste des pays d'Europe sous forme d'un tableau de trois colonnes (nom capitale monnaie) | monde5 |
monde6 : Afficher pour chaque continent les noms du premier et dernier pays | monde6 |
monde7 : Afficher pour chaque continent les 10 premiers pays | monde7 |
monde8 : Afficher sucessivement : les noms des continents, les noms des pays, les noms des capitales | monde8 |
monde9 : Afficher les pays par ordre alphabétique tout continent confondu | monde9 |