Actualites  Archives
 Inscription | Plan du site | 8  visiteurs actifs  
  
     A la Une
  Actualités
  Dossiers
  Coin Technique
  Annonces Web
  Référencement

     Diagnostic
  Popularité Site Web
  Positionnement Moteur
  WebPage Alerte
  Positionnement Google

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

     Services
  Communiqués de Presse

     Contact
  Nous contacter
  La protection des données personnelles

     Technique
  Merise

     Login
   
    
Inscription

Mot de passe oublié?

   Sondage
Les points que vous souhaitez voir traiter à l'avenir ?
5%Actualité
28%Documentation
53%Exemples de sources
3%Liste de liens
11%Revue logiciels

   Sondage
Vous vous intéressez plutôt à
77%Programmation
11%Système
8%Logiciel
5%Matériel

   Sondage
votre niveau technique ?
15%Amateur
46%Débutant
32%Professionnel
7%Expert

     Rechercher
    
   

 Coin Technique


Structurer correctement un document XML
Aprè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

 Imprimer Donner votre avis

 
 

Sam-Mag - Un site du réseau ACORUS 1996-2007
© Copyright ACORUS All rights reserved.- Mentions légales

Ce site respecte la loi Informatique et Libertés. Pour en savoir plus sur la protection des données personnelles, cliquez

 
Webmaster