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


 
Dans la famille ML je demande le X
Dossier "SAM l'Informaticien" du 02 au 15 Avril 2001 par Daniel Lucazeau

n parle de plus en plus par sigles et acronymes, certains se retiennent mieux que d'autres, est-ce parce qu'ils sont plus faciles à prononcer ou parce que l'on sent qu'ils sont réellement porteurs d'avenir ? C'est les cas de XML, acronyme de «eXtensible Markup Language» qui lui réunit les deux. La similitude de cette expression avec HTML aussi le rend bougrement apétissant. Je vais prendre la présentation de XML à rebrousse-poil en partant d'un exemple concret.

Voilà un exemple de fichier XML :

<?xml version="1.0" encoding="ISO-8859-1"?>
<database name="infos">
    <table name="codeDepartement">
        <record>
            <field name="ID" type="string">01</field>
            <field name="NOM" type="string">Ain</field>
        </record>
        <record>
            <field name="ID" type="string">02</field>
            <field name="NOM" type="string">Aisne</field>
        </record>
        <record>
            <field name="ID" type="string">03</field>
            <field name="NOM" type="string">Allier</field>
        </record>
    </table>
</database>

Vous avez sûrement reconnu l'exemple que j'aime bien, celui de la liste des départements, tronqués ne m'en voulez pas. C'est la description de la base de données infos. elle n'a qu'une table codeDepartement, et nous avons ici 3 lignes de cette table. Ces exemples sont issus des fichiers que je me fabrique pour importer/exporter des données de bases en bases.

Les trois lignes sont parfaitement décrites. Elles contiennent chacune deux champs, l'un ID de type string/chaîne et le second NOM aussi de type chaîne. Les valeurs de ces champs sont sans problème 01, Ain puis 02, Allier etc..

On voit donc que XML permet une description textuelle d'informations structurées. Il faut aussi apercevoir la structure arborescente d'un fichier XML ; dans l'exemple précédent le noeud "table" à trois fils "record". C'est le vocabulaire de XML «root», «node», «child», «parent»..

Comme HTML, XML est un langage de balises, mais les balises ne sont pas imposées : <record>...</record>

Comme dans HTML, les balises peuvent avoir des attributs. Par exemple
<field name="ID" type="string">, ici deux attributs name et type dont les valeurs sont respectivement ID et string, la colonne/champ ID est de type string.

Et du contenu : <field name="NOM" type="string">Allier</field>

Mais XML est exigeant, il ne fermera pas une balise que vous aurez oublié de fermer ;-(((

Pour aller plus (un tout petit peu plus) loin

Voici un exemple plus complet :

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>
        <table name="codeRegion">
            <descRecord>
                <field name="ID" type="int"/>
                <field name="nom" type="string"/>
             </descRecord>
             <records>
                <record>
                    <field name="ID">1</field>
                    <field name="nom">Alsace</field>
                </record>
            </records>
        </table>
    </tables>
</database>

Vous lirez facilement ce fichier, on décrit deux tables. l'une codeDepartement et l'autre codeRegion. La différence avec le fichier XML précédent est la descriptio formelle des tables est faite dans la balise <descRecord>. Chaque champ pourrait être complètement décrit, ici nous n'avons mis que nom et type, on pourrait mettre aussi longueur, clé primaire etc..

A noter que la balise  <field> n'ayant pas de contenu est fermée directement : <field name="ID" type="int"/>

Nous avons donc introduit la balise <records> qui encadre tous les <record>, pour lesquels nous ne donnons plus qu'un seul attribut le nom.

Qu'est-ce qui fait courir le web vers XML

Il n'y a pas que le web qui est intéressé par XML ! En effet, XML plus d'autres outils en cours de standardisation XSL, XPATH etc.. permettent de séparer les informations de leur présentation, ce qui est le grand défaut de HTML. Cette représentation textuelle de l'information et les outils qui accompagnent XML, permettent tout traitement de mise en forme : XSL, de manipulations, d'extraction de repérage dans l'arborescene : XPATH etc..

Tous les environnements de développements ont des API avec XML, voir IE ci-dessous. Pour ne citer que les deux langages qui reviennent souvent dans nos articles : Microsoft a les siennes : XML-DOM que ce soit pour Vb ou C/C++, PHP a sa librairie de fonctions et il existe des classes PHP de manipulation de fichiers XML.

Nous poursuivrons l'étude de ce phénomène dans le prochain article. Nous verrons ce qu'est un document XML bien formé et nous étudierons ce qu'est une DTD.

Compléments

Internet Explorer permet de visualiser les fichiers XML, voici le fichier complet de l'exemple ci-dessus dep_reg.xml.Les signes '-' sont cliquables. Malheureusement ceci n'est pas valable pour Netscape.

Un soft bien pratique pour appréhender un peu XML : XML-Notepad de Microsoft, simple et gratuit à télécharger sur http://msdn.microsoft.com/xml/NOTEPAD/download.asp

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