« Noeuds : xml xhtml et DOM » : différence entre les versions
Ligne 221 : | Ligne 221 : | ||
<td> | <td> | ||
XHTML c'est du XML il a donc une arborescence de nœuds dont la structure est celle de gauche. Toute page XHTML aura donc dans les grandes lignes cette forme : | XHTML c'est du XML il a donc une arborescence | ||
de nœuds dont la structure est celle de gauche. | |||
Toute page XHTML aura donc dans les grandes | |||
lignes cette forme : | |||
Version du 25 octobre 2009 à 22:46
Objectifs :
- Expliquer la notion de noeud relativement aux données XML pour mieux en comprendre la combinaison avec DTD, XSLT, XHTML et CSS
Les noeuds XML par l'exemple
Un exemple imagé de noeuds
Une fois définie l'arborescence on peut créer la DTD
Comme vous voyez la DTD reprend l'arborescence. Le nœud père "sites_touristiques" à comme fils "site". Il peut d'ailleurs avoir plusieurs fils "site" de par le * placé à côté. Ici l'unique nœud "site" contient lui-même plusieurs nœuds, qui sont frères : nom*(plusieurs nœuds "nom" possibles), lieu, hauteur, historique, image_principale, source). "#PCDATA" signifie la valeur textuelle de l'élément. Le balise "ATTLIST" sert à définir l'attribut d'un élément, ici l'attribut "unite" de l'élément "hauteur", ainsi que l'attribut "langue" de l'élément "nom". Vous pourrez examiner ce Tutoriel DTD pour comprendre l'exercice. A partir de l'arborescence ci-dessus on peut créer cette DTD :
<!ELEMENT Site(Nom*, Llieu, Hauteur, Historique, Image_principale, Source)> <!ELEMENT Nom(#PCDATA)> <!ATTLIST Nom Langue CDATA #IMPLIED> <!ELEMENT Lieu(#PCDATA)> <!ELEMENT Hauteur(#PCDATA)> <!ATTLIST Hauteur Unite CDATA #IMPLIED> <!ELEMENT Historique(#PCDATA)> <!ELEMENT Image_principale(#PCDATA)> <!ELEMENT Source(#PCDATA)> |
Une fois crée la DTD l'on peut créer les données XML
Vous pourrez examiner ce Tutoriel DTD pour comprendre l'exercice. A partir de l'arborescence ci-dessus on peut créer cette DTD, qui reprend les éléments, attributs et contenus textuels décrits précedemment : Nous retrouvons ci-dessous les éléments, attributs et contenus textuels décrits ci-dessus,de la même manière que s'organisent des balises XHTML dans leur organisation hiérarchique et d'héritage. <TOURISME> <Sites_touristiques> <Site> <Nom langues="Français">Chutes de Trümmelbach</nom> <lieu>Trümmelbach, Suisse </lieu> <hauteur unité="mètres">32</hauteur> <historique> </historique> <image_principale> </image_principale> <source> </source> </site> </sites_touristiques> </TOURISME>
|
Une fois composées le données XML, il est possible de les transformer en données XHTML par l'intermédiaire de XSLT
Vous pourrez comprendre l'exemple en examinant le Tutoriel XSLT débutant. Le but est ici d'activer des nœuds par la fonction xls:template match="Nom de l'élément", puis d'appliquer la transformation ou l'importation des données XML dans une page XHTML grâce à diverses fonctions comme : xsl:value-of select="nom".
<TOURISME> <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:output method="html" /> <xsl:template match="TOURISME"> <html> <head> <title>Page Travaux STAF</title> <style type="text/css"> h1{font-size:25px;color:#FFFFFF;} </style> </head> <body> <h1><xsl:apply-templates select="site"/></h1> </body> </html> </xsl:template> <xsl:template match="site"> <xsl:value-of select="nom"/> </xsl:template> </xsl:stylesheet> |