« Noeuds : xml xhtml et DOM » : différence entre les versions
Ligne 111 : | Ligne 111 : | ||
Vous pourrez examiner ce [[Tutoriel DTD]] pour comprendre l'exercice. A partir de l'arborescence ci-dessus | Vous pourrez examiner ce [[Tutoriel DTD]] pour comprendre l'exercice. A partir de l'arborescence ci-dessus | ||
on peut créer cette DTD : | on peut créer cette DTD, qui reprend les éléments, attributs et contenus textuels décrits précedemment : | ||
<nowiki> | <nowiki> |
Version du 25 octobre 2009 à 22:07
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 ou composer 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.
<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="nom"/></h1> </body> </html> </xsl:template> <xsl:template match="site"> <xsl:value-of select="nom"/> </xsl:template> </xsl:stylesheet> |