A.1 Qu’est-ce-que XML ?
XML signifie Extensible Markup Language (langage extensible de balisage.). Ce langage est dit extensible car, contrairement à HTML, il ne s’agit pas d’un format fixe. Son but est de permettre d’utiliser SGML sur le World Wide Web.
§ XML n’est pas un simple langage de balisage prédéfini. C’est un méta-langage — un langage qui permet de définir d’autres langages — qui vous permet de concevoir votre propre balisage. Un langage de balisage prédéfini comme HTML définit une façon de décrire les informations pour une certaine classe de documents : XML vous permet de définir vos propres langages de balisage personnalisés pour un ensemble de classes de documents. Ceci est possible parce que XML est écrit en SGML, le méta-langage international normalisé de balisage.
A.2 À quoi sert XML ?
XML est conçu pour « rendre l’utilisation de SGML sur le Web facile et directe : il sera facile de définir des types de documents, facile de créer et de gérer des documents définis en SGML et facile de les transmettre et de les partager sur le Web. »
XML définit un « dialecte ou sous-ensemble de SGML extrêmement simple, que la spécification XML décrit complètement. Avec XML, l’objectif est d’envoyer, de recevoir et de traiter du SGML générique comme il est aujourd’hui possible avec HTML
« C’est pourquoi XML a été développé pour sa facilité de mise en oeuvre et son interopérabilité avec SGML et HTML » [citations extraites de la spécification XML].
A.3 Qu’est-ce-que SGML ?
SGML signifie Standard Generalized Markup Language (ISO 8879), langage normalisé de balisage généralisé ; c’est la norme internationale pour décrire la structure et le contenu de différents types de documents électroniques. La FAQ sur SGML (http://www.infosys.utas.edu.au/info/sgmlfaq.txt) est envoyée chaque mois au newsgroup comp.text.sgml ; les pages Web en SGML sont disponibles à http://www.oasis-open.org/cover/sgml-xml.html.
Les normes ISO sont gouvernées par l’Organisation Internationale de Normalisation à Genève (Suisse). Leur existence ou disparition est votée par les représentants des organismes de normalisation de chaque pays.
Pour toute requête concernant une norme internationale, veuillez contacter l’organisme de normalisation de votre pays qui vous donnera le nom du représentant de votre pays intervenant dans le comité ou groupe de travail ISO concerné. Pour toute requête concernant la représentation de votre pays à Genève, ou la bonne conduite de l’organisme national de normalisation vous représentant, veuillez contacter le service approprié de votre gouvernement, ou vous adresser directement à votre représentant ou tout autre homme politique.
La représentation des pays à l’ISO ne relève pas de cette FAQ. Les requêtes sur le pourquoi et le comment du vote ou de l’absence de vote de vos représentants à l’ISO ne doivent donc en aucun cas être adressées au responsable de cette FAQ.
A.4 Qu’est-ce-que HTML ?
HTML signifie HyperText Markup Language (RFC 1866) (langage de balisage avec liens hypertextes). C’est une application spécifique de SGML utilisée sur le World Wide Web.
A.5 XML, SGML et HTML n’est-ce pas la même chose ?
Pas exactement. SGML, c’est la « langue maternelle » utilisée pour décrire des milliers de types de documents différents dans de nombreux champs de l’activité humaine, de la transcription des anciens manuscrits irlandais à la documentation technique des bombardiers furtifs et des dossiers médicaux de patients jusqu’aux partitions de musique.
§ HTML n’est qu’un de ces types de documents, celui qui est le plus utilisé sur le Web. HTML définit un type de document unique, fixe, dont le balisage a été défini pour une classe commune de rapports simples de type « bureau » ou de rapports techniques, avec des entêtes, des paragraphes, des listes, des illustrations, etc. et avec la possibilité d’éléments hypertextes et multimedia.
XML est une version abrégée de SGML, qui permet de définir ses propres types de documents plus facilement, et qui permet aux programmeurs de développer plus facilement des programmes permettant de traiter ces documents. Les parties les plus complexes et les moins utilisées de SGML ont été supprimées. Du coup, ce produit a gagné en avantages : écriture d’applications plus facile, compréhension plus aisée et produit mieux adapté à sa mise en place et à son interopérabilité sur le Web. Mais il s’agit toujours de SGML et les fichiers XML peuvent toujours être analysés et validés comme tout autre fichier SGML (voir la question sur les logiciels XML).
Les programmeurs trouveront peut-être pratique de considérer XML comme un SGML— plutôt qu’un HTML++.
A.6 Quelle différence y-a-t’il entre SGML/XML et C ou C++ ?
C ou C++ (et autres langages comme Fortran, Pascal, Basic, Java et des dizaines d’autres) sont des langages de programmation qu’on utilise pour spécifier des calculs, des actions ou des décisions à prendre :
do when @front(@date,6) is equal "01-Apr"
print "April Fool!\n"
else
print @days(@datesub("25-Dec",@date)),\
" shopping days to Christmas\n"
done
SGML et XML sont des langages de spécification de balisage qu’on utilise pour décrire des informations, en général pour le stockage, la transmission ou pour être traités par un programme :
<para>It was the week after <event class="festival">Christmas</event>
but <name class="person">Max</name>s mind was still running on the
prank he had played on <name class="person">Louise</name> the previous
<name class="month">April</name>.</para>
Tout seuls, des fichiers-textes en SGML ou XML (y compris HTML) ne font rien du tout : il faut un programme qui en fasse quelque chose.
A.7 Qui est responsable de XML ?
XML est un projet duWorld Wide Web Consortium (W3C) et le développement de sa norme est supervisé par son Groupe de travail XML. Un Groupe d’intérêt spécial composé de collaborateurs admis par cooptation et d’experts issus de divers domaines a apporté commentaires et révisions via le courrier électronique.
XML est un format public : aucune société n’est propriétaire de son développement. La spécification v1.0 a été entérinée par le W3C (recommandation du 10 février 1998).
A.8 Pourquoi le développement de XML est-il si important ?
XML permet de supprimer deux contraintes qui limitent les développements du Web :
dépendance envers un type de document unique et non flexible (HTML) ; complexité du SGML intégral, dont la syntaxe autorise un grand nombre d’options puissantes mais difficiles à programmer.
XML simplifie le degré d’optionalité de SGML tout en permettant de développer sur le Web des types de documents créés par l’utilisateur.
A.9 En quoi XML simplifie-t-il SGML tout en permettant de définir des types de documents personnalisés ?
Pour simplifier SGML, XML redéfinit certaines fonctions et certains paramètresSGML et supprime un grand nombre des fonctions les plus complexes et parfois les moins utilisées qui rendent l’écriture de programmes de traitement difficile (voir [http://www.w3.org/TR/NOTE-sgml-xml-971215]).
§ Même si XML garde toutes les fonctions de structure de SGML qui permettent de définir son propre type de document, XML introduit aussi une nouvelle classe de documents qui n’oblige pas à utiliser un type de document prédéfini (en gros, on peut définir son propre balisage à condition de suivre rigoureusement les règles syntaxiques). Voir les questions sur les documents « valides » et « bien formés » et la question Comment définir vos propres types de documents ? dans la Partie Développeur.
A.10 Pourquoi ne continue-t-on pas à développer HTML ?
HTML est déjà surchargé de dizaines d’inventions de divers constructeurs intéressantes mais souvent incompatibles car il ne prévoit qu’une seule manière de décrire vos informations.
XML permettra à des groupes de personnes ou à des organisations de créer leurs propres langages de balisage personnalisés afin d’échanger des informations dans leurs domaines (musique, chimie, électronique, randonnée, finance, surf, géologie pétrolière, linguistique, cuisine, tricot, cartographie stellaire, histoire, ingénierie, élevage de lapins, mathématiques, etc).
HTML a atteint les limites de son utilité en tant que descripteur d’informations. Et même s’iil continue à jouer un rôle important pour le contenu qu’il représente aujourd’hui, de nombreuses autres applications nécessitent une infrastructure plus robuste et plus flexible.
A.11 A quoi servent tous ces trucs en SGML ? Pourquoi ne pas tout simplement utiliser Word or Notes ?
§ Les informations qui circulent sur un réseau qui relie différents types d’ordinateurs doivent être utilisables par tous ces ordinateurs. Les informations publiques ne peuvent pas se restreindre à une seule marque ou à un seul modèle ou à un seul fabricant, ni ne peuvent céder le format de leurs données à des mains privées. De plus il est pratique que ces informations soient dans un format qui puisse être réutilisé de différentes façons, de manière à réduire temps et effort. Les formats de données propriétaires, même lorsqu’ils sont bien documentés, ne sont pas utilisables : leur contrôle reste dans les mains de privés et ils peuvent être changés ou retirés arbitrairement sans préavis.
§ SGML est la norme internationale utilisée pour définir ce type d’applications. Mais les personnes ayant besoin d’une option différente basée sur un autre logiciel sont entièrement libres de mettre en place des services similaires en utilisant ce système et plus particulièrement s’ils sont conçus pour un usage privé.
A.12 Où puis-je obtenir plus d’informations sur XML ?
Divers documents émanant du W3C sont disponibles en ligne : la Spécification XML et la documentation qui s’y rapporte ; une section XML avec une longue liste de matériels de référence en ligne sur les pages SGML de Robin Cover ; un résumé et une FAQ condensée de Tim Bray.
Les manifestations ci-dessous sont celles dont on m’a parlées : merci de me contacter par courrier électronique si vous en trouvez d’autres.
La Conférence annuelle XML est organisée par la Graphic Communications Association. XML99 aura lieu à Philadelphie du 5 au 9 décembre et comprendra, comme l’an dernier, deux conférences en une : XML Conference 99 et Markup Technologies 99.
SGML/XML Asia/Pacific aura lieu à Sydney du 18 au 21 octobre.
De plus amples informations sur ces manifestations sont disponibles sur le site Web du GCA.
Les pages SGML et XML de Robin Cover proposent une liste des livres et articles sur XML : ce site devrait toujours être votre principale ressource : merci de le consulter avant d’utiliser le formulaire de cette FAQ pour poser des questions sur les logiciels et la documentation.
A.13 Où puis-je discuter de développement et d’implémentation de XML ?
Note
Merci de lire le fichier Read The Fine Documentation (Lire la documentation détaillée) que vous recevez en vous abonnant à une liste de discussion. En effet, il contient des informations importantes, notamment sur ce qu’il faut faire si votre adresse de courrier électronique change.
Une liste de diffusion appelée xml-dev est accessible aux personnes impliquées dans le développement de composants pour XML. Pour vous abonner à cette liste, envoyez un courrier électronique d’une ligne à majordomo@ic.ac.uk en indiquant :
subscribe xml-dev votre_nom@votre_adresse
(en substituant votre adresse électronique). Pour vous désabonner, envoyez un message d’une seule ligne à la même adresse, disant :
unsubscribe xml-dev votre_nom@votre_adresse
On peut aussi accéder à cette liste à l’adresse [http://www.lists.ic.ac.uk/hypermail/xml-dev/]. Attention : cette liste s’adresse aux personnes réellement concernées par le développement de ressources pour XML. Il ne s’agit pas d’informations générales sur XML (voir la FAQ et les autres sources) ni de discussions générales sur la mise en place de SGML ni sur les ressources SGML (voir ci-dessous).
Une liste de diffusion du domaine général appelée XML-L est accessible pour des discussions publiques. Pour vous abonner à cette liste, envoyez un courrier électronique d’une ligne à LISTSERV@listserv.heanet.ie en indiquant :
subscribe XML-L prénom nom
(remplacez ces libellés par vos propres prénom et nom). Pour vous désabonner, envoyez un courrier électronique d’une ligne à la même adresse en indiquant :
unsubscribe XML-L
À noter que les listes comme LISTSERV ne demandent pas votre adresse électronique : elles la trouvent dans l’entête de votre message. On peut accéder à XML-L et à ses archives, ou s’abonner et se désabonner interactivement, par http://listserv.heanet.ie/xml-l.html
Note
Notez qu’il y a un grand nombre d’informations erronées ou incomplètes qui trainent dans des documents papier ou sur le Web à propos des listes de discussions. Les informations données ici sont correctes : utilisez les !
¶ Certaines listes de discussions concernent des langues autres que l’anglais :
Gianni Rubagotti signale : « Une nouvelle liste italienne de discussion sur XML est née : pour s’abonner, envoyer un message (sans sujet) disant
subscribe XML-IT
à majordomo@ananas.usr.dsi.unimi.it. Envoyez vos messages de discussion à : xml-it@ananas.usr.dsi.unimi.it (seuls les abonnés peuvent envoyer un mesage). Toute personne, italienne ou non, désirant débattre de XML en italien est bien venue. »
JP Theberg écrit : « Une liste française sur XML a été créée. Pour s’abonner, envoyez subscribe à xml-request@trisome.com. Envoyez vos messages ensuite à xml@trisome.com.
§ Le newsgroup USENET comp.text.xml sert aux discussions sur XML. S’il n’est pas disponible sur votre serveur local, demandez à votre fournisseur d’accès à d’Internet de l’installer, ou utilisez une interface Web comme déjàNews.