Les nouveaux standards du web et plus particulierement les langages XML et XHTML. Nous verrons donc dans ce chapitre, les fonctionalités du XML avec des exemples et une explication des plus claire possible pour faciliter la lecture et la compréhension...
Pour suivre ce chapitre, vous devez disposez au préalable d'un éditeur de texte (NotePad++ par exemple), vous n'avez besoin d'aucun logiciel de type Dreamweaver ou autre éditeur WYSIWYG.
Validation et partage du code XML
Si un document bien est bien construit, cela signifie pas pour autant qu'il est validé. Cette derniere opération désigne un test beaucoup plus formel. Un document supplémentaire est effectivement employé: la DTD.
Ce fichier permet de décrire le contenu du document XML (consultez le code source du fichier mobiles.dtd). Plus concrètement, un tel document définit les noms et la structure des éléments proposés par le fichier XML en spécifiant certains critères auxquels ces éléments doivent se conformer.
<! ELEMENT PHONES (PRODUCT) +>
<! ELEMENT PRODUCT (PRODNAME, BATTERY, FEATURE*, WEIGHT, PICTURE)>
<! ELEMENT PRODNAME (#PCDATA)>
<! ELEMENT BATTERY (STANDBY?, TALKTIME?, CHARGE?)>
<! ELEMENT STANDBY (#PCDATA)>
<! ELEMENT TALKTIME (#PCDATA)>
<! ELEMENT CHARGE (#PCDATA)>
<! ELEMENT FEATURE (NAME, VALUE?)>
<! ELEMENT NAME (#PCDATA)>
<! ELEMENT VALUE (#PCDATA)>
<! ELEMENT WEIGHT (#PCDATA)>
<! ELEMENT PICTURE (#PCDATA)>
Légende : mobiles.dtd
En fait, ce document remplit deux missions principales. Dans un premier temps, il valide le contenu d'un fichier XML et, dans un second temps, il ;peut remplir le rôle de modèle auquel se référeront toutes les pages et les sites web qui souhaitent exploiter la même source de données XML.
Le fichier mobiles.dtd, à créer l'éditeur de texte, fournit le modèle pour l'information contenue dans le fichier mobiles.xml. A l'interieur, chaque balise (<PHONES>, <PRODUCT>, etc.) apparaît avec les paramètres qui permettent de faciliter la spécification de la structure et du type de document.
La ligne <!ELEMENT BATTERY (STANDBY?, TALKTIME?, CHARGE?)>, par exemple, définit BATTERY comme un élément composé de trois autres éléments enfants: STANDBY, TALKTIME et CHARGE. Comme vous pouvez le voir, chacun de ses elements est accompagné d'une définition #PCDATA
Elle indique que l'item courant contient du texte et non un autre type de données. Les caractères ?,+ et * proposent une information supplémentaire à propos des éléments, à savoir ce dont ils ont obligatoirement ou facultativement besoin, et combien d'occurences peuvent apparaître pour un même élément:
? Optionel (zéro ou une occurrence).
- Optionel et répétitif
+ Obligatoire et répétitif
Les fichiers DTD peuvent devenir extrêmement complexes et sont très souvent générés automatiquement par des applications spécialisées. Si cela vous semble effectivement trop technique, il suffit de ne plus vous en soucier. Les navigateurs compatibles XML ont juste besoin d'un fichier XML bien construit et d'une feuille de styles pour afficher correctement les documents que vous développerez.
Pour revenir à notre exemple, on peut difficilement faire plus simple avec un tel langage. Bien entendu, il est possible d'obtenir les structures bien plus complexes que celle que nous venons de développer ici. Vous l'avez compris, les possibilités offertes par le XML sont beaucoup plus puissantes et plus vastes. En fait, ce qu'il est important de retenir ici, comme nous l'avons indiqué, c'est que le langage XML permet de séparer distinctement les données sources de leur présentation de telle façon qu'elles soient toujours indépendantes l'une de l'autre.
Pour ajouter un nouveau produit à la page, il suffit de mettre à jour votre code XML. Dans ces conditions, pour produire un contenu spécifique qui sera affiché par les téléphones mobiles ou les WEBTV,le ou les fichiers XML ne seront pas modifiés, seule une feuille de styles particulière devra être développée pour afficher les pages dans un format correct, adapté aux différents environnements qui devront l'exploiter.