Actualites | Forum |Archives
Le magazine des décideurs et webmasters qui gagnent !
Inscription | Livre d'or | Plan du site | 15 visiteurs actifs
   
A la Une
Actualité
Dossiers
Communiqués
Coin Technique
Agenda des salons
Emploi
Echange de liens

Archives
Sélection
Expérience qui parle
Internet quotidien
Tous les dossiers

Forum
Forum SAM-MAG

Guides
Check-list de la promotion des sites
Promouvoir et référencer les sites web

Contact
Nous contacter
Newsletter
La protection des données personnelles


 
Structurer correctement un document XML
Dossier "SAM l'Informaticien" du 30 avril au 13 mai 2001 par Daniel Lucazeau

près avoir survolé les grands principes de XML, nous allons mettre du vocabulaire en place. Ce format de document est prévu pour des échanges entre applications, afin de s'affranchir des formats propriétaires autant que faire se peut. Pour cela le lecteur doit pouvoir lire le document XML reçu, celui-ci doit donc respecter des conventions. Nous allons étudier ces règles, nous pourrons écrire à la fin un document XML bien formé.

Soyons précis, utilisons le même langage:

Je reprends mon exemple de la première partie:

<database name="infos">
    <tables>
        <table name="codeDepartement">
            <descRecord>
                <field name="ID" type="string"/>
                <field name="NOM" type="string"/>
            </descRecord>
            <records>
                <record>
                    <field name="ID">01</field>
                    <field name="NOM">Ain</field>
                </record>
            </records>
        </table>
    </tables>
</database>

1) J'ai mis en évidence quelques zones remarquables. En bleu graissé comme <tables>, c'est une balise d'ouverture ou un marqueur. Chaque balise d'ouverture doit être appariée avec la balise de fermeture : </tables>. J'entends tout de suite ceux du premier rang me dire que ce n'est pas tout le temps vrai ! Nous y reviendrons.

2) Du '<' de la balise d'ouverture au '>' de celle de fermeture nous avons un élément XML. Par exemple dans
<record>
    <field name="ID">01</field>
    <field name="NOM">Ain</field>
</record>

entre <record> et </record> est un élément.
Ce qu'il y a réellement entre les balises s'appellent un élément élémentaire.Des balises peuvent donc en envelopper d'autres.

3) L'élément le plus enveloppant, ici database s'appelle l'élément racine.

4) On a vu dans l'article précedent que les éléments peuvent comme en HTML avoir des attributs il sont placés dans les balises d'ouverture. Les attributs sont constitués d'une paire nom="valeur" : name="infos" ; la valeur est nécessairement entre guillemets, simples ou doubles. C'est beaucoup moins laxiste que le HTML.

5) Le contenu d'un élément sans autre balise s'appelle tout simplement texte, exemple 01 ou Ain.

6) Les noms des balises et des attributs doivent respecter des conventions relativement habituelles en particulier. Un identifiant peut commencer par une lettre ou un souligné et en suite on peut mettre lettre, chiffre souligné et tiret. XML est sensible à la casse des caractères. On ne peut pas mettre d'espace entre '<' et le nom de la balise d'ouverture. Il y a d'autres règles, je n'ai pas l'intention d'être exhaustif.

6) Un élément qui n'a pas de contenu est un élément vide, on écrit alors <maBalise/> plutôt que <maBalise></maBalise>. Une balise vide peut avoir des attributs.

Les règles à respecter

Les documents XML doivent être corrects, on dit valides ou bien formés. Pour cela voici ce qu'ils doivent respecter :

  • Toute balise d'ouverture doit être appariée avec sa balise de fermeture ;
  • Les balises ne doivent pas se chevaucher, ceci est incorrect <records>
        <record>
            <field name="ID">01</field>
            <field name="NOM">Ain</field>
        </records>
    </record>
  • Le fichier XML doit avoir un élément racine et un seul. Ce n'est pas difficile à réaliser comme condition, il suffit d'encadrer ce dont on a besoin par un élément racine et le tour est joué.

Pourquoi ces contraintes ?

Il y a un souci d'échanges d'informations, toute personne ou automate recevant un fichier XML en a la description avec les balises et les attributs, le contenu bien évidemment mais aussi la structure car les règles sont respectés. Le document peut donc être lu, on dit parsé, en toute quiétude.

D'ailleurs c'est le laxisme de HTML qui rend les navigateurs gourmands en Ko voire Mo. En effet ils doivent pallier à nos manquements : on n'a pas fermé le <p>, on a oublié les guillemets aux valeurs d'attributs ; tout cela leur donne du travail supplémentaire. C'est pour cela que les analyseurs de XML sont beaucoup plus légers.

Prolongements

La prochaine fois nous étudierons les moyens de respecter la validité d'un document, de définir son modèle. A partir de là nous étudierons les feuilles de style XSL, puis nous verrons comment on peut par exemple transformer un document XML en HTML.

Bonne lecture, et à bientôt sur le forum ou par messagerie.

Daniel Lucazeau
ajornet.com
Chef de projet Internet

Tous droits réservés - Reproduction même partielle interdite sans autorisation préalable

 
 
Google
 
Web www.sam-mag.com
 

Copyright © ACORUS 2004. All Rights Reserved

- Sam-Mag.com Referencement-Sur-mesure - Referencer-Site-Web.com
Visibilite-Internationale.com - Referencement-Immobilier.net