Introduction au langage XML

Introduction au langage XML

Messagede Devorg le Dim 11 Mai 2008 23:18

XML (eXtensible Markup Language) est un "langage de balisage extensible", développé par la W3C ( http://w3.org ). "Langage de balisage Extensible" signifie que le XML n'est pas limité (tout comme le HTML) à un balisage prédéfini extrêmement figé mais au contraire tout un chacun pourra définir ses propres balises.

Introduction au langage XML
XML (eXtensible Markup Language) est un "langage de balisage extensible", développé par la W3C ( http://w3.org ). "Langage de balisage Extensible" signifie que le XML n'est pas limité (tout comme le HTML) à un balisage prédéfini extrêmement figé mais au contraire tout un chacun pourra définir ses propres balises.

Exemple : <telephone>00.00.00.02.01</telephone>
est une ligne comprise par le XML et exploitable, alors qu'elle ne le sera jamais en HTML

Au cours de ces dernières années le langage HTML à énormément évolué, et avec cette évolution sont apparues de nombreuses balises, auxquelles ont du s'adapter les navigateurs du marché. Mais l'HTML restant essentiellement un langage de présentation, ces nouveaux apports ont rendu de plus en plus complexes les fichiers HTML ainsi que leurs traitements par les navigateurs du marché : ceci rendant leur exécution (affichage) beaucoup moins rapide et efficace.

L'HTML atteint aujourd'hui certaines limites et le W3C s'est attaché à développer une nouvelle norme "le XML" qui n'est pas fondamentalement (le HTML à sans doute encore de belles années devant lui) un changement mais plus une adaptation aux situations nouvelles (Ex. les applications de e-commerce de plus en plus évoluées, messageries, ...)

Le XML cherche avant tout à dissocier les données de leur mise en forme. Le HTML lui aussi a évolué dans ce sens en introduisant depuis quelques années la notion de feuilles de style, mais ceci n'a rien à voir avec la dissociation beaucoup plus structurées faîtes par le XML. "Le XML ne cherche pas à afficher les éléments mais à les stocker"

L'archivage des données
Dans le langage XML on retrouvera plusieurs "fichiers métiers" (chacun ayant un rôle bien défini) pour une seule sortie HTML.
La DTD (Document Type Definition) : extension du fichier (*.dtd)
contiendra la définition des caractéristiques des éléments à afficher (Ex. le caractère obligatoire d'un élément, etc...)
Le fichier XML (Extensible Markup Language) : extension du fichier (*.xml)
contiendra l'ensemble des données.

La présentation des données
Pour la présentation de ces mêmes données, on utilisera des feuilles de styles :
CSS (Cascading style sheet) : extension du fichier (*.css)
feuilles de styles très répandues sur le Web (avec l'apparition de l'HTML 4.0) pourront servir à la mise en forme des éléments du fichier XML.
XSL (XML stylesheet language) : extension du fichier (*.xsl)
Beaucoup plus puissante et mieux adaptée à la situation XML, on préférera utiliser ce type de feuille de style pour la mise en forme des éléments

Une plus grande rigueur dans l'écriture du code.
Tout balise ouverte doit être fermée
Si vous avez déjà programmé des application Windows, vous savez que vous passez 80% de votre temps à gérer les éventuelles erreurs des utilisateurs. Les navigateurs du marché ont développé des modules de gestion d'erreurs très complexes (ceci ralentissant sensiblement le traitement des pages), si bien que le programmeur HTML "le plus laxiste soit-il", ne verra jamais d'erreurs HTML s'afficher et cela même s'il oublie de fermer une balise.

On simplifie aujourd'hui un certain nombre de balises :

Ex. <br> s'écrira en XML <br></br> ou <br/>
(s'il est défini comme un élément vide EMPTY : nous y reviendrons plus tard... )
Cette syntaxe beaucoup plus rigoureuse permettra des traitements plus rapides, et une meilleur visibilité du code.

Les espaces de noms
Les espaces de noms sont en quelque sorte une norme de nommage auquel un programmeur devra se conformer. De façon générale, il permettent de réutiliser le code plus facilement et définir chaque nom d'élément de manière unique.

Exploitation des données : DOM et SAX
Ce sont des API (Application programming Interface) permettant d'accéder (en lecture ou écriture) aux objets XML.

DOM (Document Object Model)
est une API orientée objet permettant d'accéder aux fichiers XML en créant un arbre logique dont chaque élément est un nœud de l'arbre.

SAX (Simple API for XML)
est une API orientée évènement ( Ex. le fait de charger une page est un évènement ONLOAD) permettant de la même manière d'exploiter des fichiers XML. Le concept évènement sera dans certaines situations beaucoup plus efficace que l'approche objet, en effet alors que DOM stocke une copie entière de son arbre en mémoire, SAX ne transmettra les éléments que s'il y a lieu de le faire.
Avatar de l’utilisateur
Devorg
Administrateur
Administrateur
 
Messages: 297
Inscription: Lun 7 Avr 2008 14:07

Retourner vers Languages du web

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités