SELFHTML

Introduction à XML

Page d'information: vue d'ensemble

vers le bas XML - la liberté de données standardisée
vers le bas XML, DTD et validation
vers le bas XSL ou CSS - formatage d'éléments XML
vers le bas Le consortium W3 et XML
vers le bas XML et le marché des logiciels
vers le bas Missions des analyseurs syntaxiques XML
vers le bas XML et les navigateurs
vers le bas Langages XML Standard importants: SVG, MathML, SMIL, RDF, WML

 vers le bas 

XML - la liberté de données standardisée

La presse spécialisée a fêté l'arrivée de XML (Extensible Markup Language - en français: langage de marquage étendu) comme si elle marquait l'avènement d'une ère de l'informatique complètement nouvelle. Pas tout à fait à tort car XML a sans aucun doute les moyens de donner une nouvelle impulsion décisive à l'informatique. Toutefois, il faut ajouter pour être honnête que XML n'est pas nouveau, mais un sous-produit de SGML qui est standardisé depuis 1986. À la différence de SGML, XML n'est pas aussi "académique", mais dans la pratique, ses performances sont comparables à celles de SGML.

À l'heure actuelle, les performances pour la poursuite de la diffusion de XML ne sont pas du tout mauvaises. Des groupes comme Microsoft et le monde Unix son concurrent sont tout à fait d'accord sur le fait que XML fait partie du futur en ce qui concerne la sauvegarde uniforme des données . Pourtant il devient rapidement évident pourquoi il est difficile de gagner une couche plus large d'utilisateurs à XML. Car XML est quelque chose à vrai dire pour des gens qui définissent des formats de fichiers, et ils forment dans la réalité une minorité. Les utilisateurs "normaux" même professionnels ne font plutôt qu'effleurer XML. Ils sont en premier lieu ceux qui doivent utiliser ces langages de marquage, que ce soit au niveau code source ou à l'aide d'interfaces logicielles qui permettent un travail visuel et qui n'utilisent le format XML que pour la sauvegarde des données.

Le plus marquant des langages définis à l'aide de XML est sans conteste aujourd'hui la nouvelle version de HTML nommée XHTML. Mais même d'autres langages connus comme par exemple WML (langage de description pour le protocole WAP qui permet d'afficher des contenus d'Internet sur l'écran d'affichage de téléphone portables) sont concernés. Quel est le succès promis à tous ces langages, c'est le marché qui décidera. Par ailleurs, XML offre aussi toutefois la possibilité de définir des langages complètement nouveaux et adaptés sur mesure à ses propres structures de données sans malgré tout être "propriétaires" ( NDT:spécifiques à un fabriquant de logiciels), mais en suivant un ensemble de règles standardisées.

XML peut pour beaucoup d'utilisateurs difficilement être "appréhendé" parce qu'en fin de compte il ne fait pas grand chose. Sa performance consiste à permettre avec les concepts et règles dont il dispose la définition de ses propres langages de marquage fonctionnant de manière analogue à HTML. Tous ces langages se composent toujours d'éléments marqués par des repères, de leurs règles d'imbrication et d'attributs avec des affectations de valeurs permises. Par ailleurs, il y a également des règles pour importer ces langages - appelés aussi espace de nommage en XML - dans d'autres langages et ainsi d'utiliser un langage à l'intérieur d'un autre langage.

Deux exemples simples de mise en œuvre pour des langage de marquage

<rectangle haut="100" gauche="185" largeur="427" hauteur="110">
  <type arriereplan="fondu" direction="horizontal" couleurdebut="#0000FF" couleurfin="#FFFFFF">
   <type contenu="text" format="stil_6">
     Un petit texte
   </contenu>
  </arriereplan>
</rectangle>

 
<projet langage="perl" name="Test de performance circuit intégré TL410" typ="shell" etat="27-01-2002">
  <nom module="main" etat="27-01-2002" dossier="/usr/scripts/tl410/tl410.pl">
   <nom fonction="alimentation donnees" etat="14-09-2001">
    <description>
     alimente en données le circuit mémoire avec des valeurs de départ judicieuses des tests T3.
    </description>
   </fonction>
  </module>
</projet>

Explication

Deux exemples ont été choisis intentionnellement pour mettre en lumière la souplesse avec laquelle le concept de langage de marquage peut être mis en œuvre. Dans le premier exemple, il s'agit de la définition d'un élément graphique vectoriel, dans le deuxième exemple de la définition du script de travail d'un technicien en électronique. On peut tout aussi bien décrire de cette façon du dessin industriel, des compositions musicales, des pièces de théâtre et des processus biochimiques. À vrai dire, tout ce qui est caractérisé par des structures quelconques pouvant être nommées et décrites. Avec quel logiciel on peut visualiser, diffuser ou bien traiter ces données n'est pas fixé. Il n'est d'abord question ici que de structurer les données judicieusement et de les décrire complètement.

Les deux exemples contiennent des éléments, attributs et affectations de valeurs et types d'imbrication tout à fait différents. Ils ont pourtant en commun d'être clairement constitués l'un et l'autre d'éléments, attributs, d'affectations de valeur et de règles d'imbrication autorisées. Dans les deux exemples vous ne trouverez aucune trace de la description de ces règles. Dans la mesure où ce sont simplement des exemples imaginaires. Il y a pourtant un procédé standardisé pour le définition de ces règles et de mentionner dans les langages de marquage à quelles règles on se réfère et où ces règles sont définies. Ce procédé standardisé, c'est XML.

Comme exercice de préparation à XML, il est tout à fait recommandé d'essayer de décrire une structure de données avec laquelle vous travaillez beaucoup à l'aide de ces éléments, attributs, affectations de valeurs et imbrication de repères imaginaires. Décrivez par exemple l'organigramme de votre entreprise de cette façon ou bien le déroulement typique d'une de vos journées ou encore la vue éclatée de votre appartement. Vous arriverez ainsi vite à la conclusion qu'il y a souvent plusieurs façons de définir une seule et même structure. Dans le deuxième des exemples ci-dessus, on aurait pu par exemple aussi définir l'élément défini par <description>...</description>, comme un attribut nommé description à l'intérieur du repère <fonction>, ce qui donnerait dans l'exemple:
<nom fonction="alimentation donnees" etat="14-09-2001" description="alimente en données le circuit mémoire avec des valeurs de départ judicieuses des tests T3"></fonction>
Dans quel but vous créez un élément et ce que vous incluez dans un attribut fait partie du travail de conception de langages. Quand vous aurez mis en lumière cette problématique à l'aide de vos propres exemples concrets, vous aurez déjà compris beaucoup de ce qu'est XML sans en connaître des différents détails.

 vers le hautvers le bas 

XML, DTD et validation

Les règles pour les éléments, attributs et possibilités d'imbrication autorisés d'un langage de marquage conforme à XML sont définies indépendamment des données elles-mêmes. Les données relatives aux définitions représentent ce qu'on appelle une définition de type de document (anglais document type definition, en abrégé DTD). Un logiciel supportant XML doit être en mesure de lire ces DTD ainsi que d'évaluer les données qui s'y réfèrent en fonction des règles de la DTD (voir aussi vers le bas Missions des analyseurs syntaxiques XML). Ce faisant, le logiciel d'interprétation peut établir si dans les données XML qui se réfèrent à une DTD donnée, des notations non valables sont placées. Des notations non valables sont par exemple, des noms d'éléments ou d'attributs qui n'ont pas été définis dans la DTD ou bien des éléments placés à des endroits auxquels ils ne sont pas autorisés en raison des règles de la DTD. Le procédé de vérification si un fichier XML s'en tient aux règles de sa DTD s'appelle validation (en anglais valid = valide).

Le procédé avec les DTD et la validation peut vous paraître au début quelque peu compliqué et représentant beaucoup de travail. Pourtant, ce n'est qu'avec ce procédé que l'on peut s'assurer que les langages XML ne sont pas des produits de l'imagination mais des langages qui respectent certaines règles définies exactement. C'est le seul moyen pour que différents auteurs et différents produits logiciels s'en tiennent aux conventions d'un langage et que le langage ne sombre pas en raison d'extensions spontanées et indéfinies en devenant inutilisable pour les logiciels d'interprétation. Il est tout à fait possible d'élargir un langage XML, mais si c'est le cas, par le moyen prévu à cet effet, à savoir en complétant la DTD correspondante.

Exemple d'un extrait de DTD

<!ELEMENT nouvelle (titre,texte,date,auteur)>
<!-- Une nouvelle comprend le titre, le texte, la date et l'auteur -->

   <!ELEMENT titre (#PCDATA)>
   <!-- Le titre comprend le titre du texte, sinon rien -->

   <!ELEMENT texte (#PCDATA)>
   <!-- Le texte comprend le texte de la nouvelle sinon rien -->

   <!ELEMENT date (#PCDATA)>
   <!-- La date comprend la mention de date sinon rien -->

   <!ELEMENT auteur (#PCDATA)>
   <!-- "auteur" comprend la mention de l'auteur sinon rien -->

Explication

La syntaxe exacte pour les définitions ne sera pas détaillée plus avant dans cette introduction. L'exemple a pour seul but à vrai dire de donner une première impression de l'aspect des définitions qui composent la DTD et quelles conséquences elles ont. Dans l'exemple, différents types d'éléments sont définis. Ce sont les "modèles logiques" qui peuvent être placés dans un langage XML qui se réfère à cette DTD. Une définition comme par exemple <!ELEMENT titre (#PCDATA)> signifie qu'il y a dans ce langage XML un élément titre qui est marqué par les repères <titre>...</titre>. Des règles énoncées dans l'exemple, il ressort par ailleurs que <titre>...</titre> (ainsi que <texte>...</texte>, <date>...</date> et <auteur>...</auteur>) ne peuvent être placés que dans <nouvelle>...</nouvelle>. Tout ce qui dans l'exemple est placé entre <!-- et --> et un commentaire et ne fait pas partie de la définition concernée.

Sur la base des définitions de l'exemple ci-dessus un fichier XML qui se réfère à cette définition pourrait contenir les données suivantes:

Exemple de données sur la base de la DTD

<nouvelle>
 <titre>XML est traité également maintenant dans SELFHTML !</titre>
 <texte>
 Après une longue pause, une nouvelle version de SELFHTML est parue. Une des nouveautés les plus importantes est la partie sur XML, dans laquelle est traitée le nouveau langage de définitions pour langages de marquage. L'utilisateur apprend comment définir des règles et des exemples complètent les descriptions.
 </texte>
 <date>20.10.2001</date>
 <auteur>Ferdinand Scribouillard</auteur>
</nouvelle>

Explication

Dans l'exemple, vous pouvez constater que les règles définies auparavant dans l'exemple de DTD ont été respectées. Il y a l'élément qui prime nouvelle, marqué par les repères <nouvelle>...</nouvelle>. Dans ces repères sont notés les autres éléments qui constituent une nouvelle auxquels des données concrètes sont affectées. Les questions que vous pouvez vous poser, par exemple comment un fichier de données se réfère à une DTD, trouveront leur réponse plus tard. Il n'est question ici que d'assimiler que ce qu'on nomme "XML" comprend toujours cette dualité: à savoir la définition des règles pour un certain langage de marquage et l'application concrète de ces règles dans ce langage de marquage.

L'exemple ci-dessus est naturellement très simple. Dans la pratique, vous pouvez définir des structures de données complexes à souhait et leurs relations à l'aide de la syntaxe DTD. Dans la partie sur les Autre page d'information  Définitions de type de document (DTDs vous trouverez des explications détaillées sur la façon de créer une DTD conforme à XML.

 vers le hautvers le bas 

XSL ou CSS -formatage d'éléments XML

Les fichiers basés sur XML ne comprennent rien d'autre que des marquages logiques (appelés aussi marquages sémantiques). Un marquage tel que <description>...</description> ne dévoile quelque chose que sur la signification des données placées à cet endroit, rien sur la façon dont doivent être représentées ces données. Les données ainsi désignées sont tout à fait indépendantes du média de sortie (par exemple l'écran, l'écran d'affichage d'un portable, les hauts-parleurs, l'imprimante) et elles ne contiennent pas la moindre mention de formatage (police, taille de police, couleurs etc...). À la différence des données HTML pour la représentation desquelles un navigateur utilise des valeurs par défaut, il n'a pour les données XML aucun point de repère sur la façon de les représenter. Avant donc que vous ne puissiez présenter ces données, vous devez mentionner à l'aide d'un langage de style comment les données doivent être formatées.

Pour ce faire, deux langages de formatage sont disponibles aujourd'hui: CSS et XSL. Autre page d'information CSS (feuilles de style en cascade), utilisable également pour HTML, est pour le faire le langage "passe-partout". Il suffit par exemple pour faire savoir à un navigateur Web comment il doit représenter les éléments d'un fichier XML. XSL, par contre, est infiniment plus puissant et plus étroitement orienté aux concepts XML. Ce qu'on appelle le composant de transformation XSLT est tout particulièrement important. Grâce à XSLT vous pouvez par exemple transformer des données XML en HTML - et cela avant que le navigateur n'en ait la moindre idée, donc côté serveur! Cela présente l'avantage que XML en relation avec XSL fonctionne même avec des navigateurs plus anciens qui ne connaissent pas XML. L'inconvénient en est qu'il ne fonctionne que dans un environnement HTTP mais pas quand les données sont présentées localement, sur un CD-ROM par exemple. En outre, le serveur Web doit avoir une interface correspondante, qui permette l'incorporation du module logiciel traitant XSL/XSLT.

Par ailleurs des possibilités XSL existent qui sont inconnues des CSS, par exemple le formatage conditionnel (comme les conditions if dans les langages de programmation) ou le tri de données.

De plus, un avantage décisif de XSL qu'il n'utilise pas une syntaxe dérivée d'un langage de marquage qui lui est propre, comme les CSS. Au lieu de cela XSL est lui même un langage de marquage défini à l'aide de XML! Un fichier de feuilles de style créé avec XSL, est donc lui-même un fichier conforme à XML. Ainsi des utilitaires logiciels développés pour XML peuvent aussi être utilisés pour XSL.

Exemple de définition avec les CSS:

ligneentete { display:block; font-family:Helvetica; font-size:9pt; font-weight:bold }

Exemple de définition avec XSLT:

  <xsl:template match="ligneentete">
    <div style="font-family:Helvetica; font-size:9pt; font-weight:bold;">
      <xsl:value-of select="." />
    </div>
  </xsl:template>

Explication

À première vue, la définition CSS paraît naturellement plus simple - tout au moins si vous avez déjà travaillé avec les CSS. La définition XSL est par contre plus familière vue sous l'angle des langages de marquage. Des marquages tels que <xsl:template>...</xsl:template> (définition de modèle) ou <xsl:value-of select="." /> (insérer le contenu de l'élément actuel) font partie de XSL. Dans l'exemple, vous avez peut-être remarqué que pour la définition de format proprement-dite de ligneentete un élément HTML est soudain utilisé, à savoir div, et que le repère d'ouverture <div> contient même la définition CSS familière. C'est là tout le concept de XLST. Car à l'aide de ce langage, vous pouvez non pas seulement noter des mentions de format pour les éléments mais encore, vous pouvez transformer les éléments dans un autre langage. Dans la pratique, à l'heure actuelle c'est essentiellement la transformation de données XML personnelles en HTML qui est utilisée, comme dans l'exemple ci-dessus.

Dans la partie sur la Autre page d'information  Représentation de données XML vous trouverez des explications détaillées sur la façon de fonctionner de XLST.

 vers le hautvers le bas 

Le consortium W3 et XML

XML retourne aux efforts du consortium W3 et sa spécification et son développement sont dans les mains de cette organisation. Sur la english page page d'accès du W3C à XML les intéressés peuvent en suivre le développement actuel. Étant donné que c'est la même organisation qui est responsable des spécifications HTML et qui détermine le standard XML, une prévision perçue de plusieurs côtés est apparue comme quoi XML "remplacerait" HTML. Pour cela, le potentiel de XML est beaucoup plus grand que le besoin des concepteurs Web en formats de données. XML est un concept universel pour la sauvegarde de données et pour cette raison n'est pas limité à L'Internet et au WWW. De toutes manières, le standard XML est en bonnes mains au consortium W3. Car les gens qui travaillent avec Dan Conolly qui dirige le projet XML, se sont au cours des ans, avérés être clairvoyants et incorruptibles malgré les tentatives de prises d'influence par des groupes réputés fabricants de logiciels .

Les idées sur XML remontent à ces années où la toile commençait son essor. En octobre 1994, Tim Berners-Lee, le père de HTTP et de HTML, fondait à l'institut de technologie du Massachusetts (Massachusetts Institute of Technology) un forum libre de développeur auquel des représentants de l'industrie, de la recherche, de la technologie Internet, de la politique et des médias avaient accès. Il devint clair que HTML seul ne pourrait pas suffire seul aux exigences futures, et qu'un standard devait être trouvé dans lequel il serait possible d'intégrer HTML et qui profiterait du succès de HTML. Un langage de définition pour langages de marquage était l'objectif. D'abord on discuta de concepts qui ne tenaient pas compte de SGML. Pourtant finalement, une solution s'imposa dans laquelle le nouveau langage de définition orienté sur la pratique conçu comme un dérivé de SGML, donc défini lui-même à l'aide de SGML mais qui prend en charge les tâches de SGML lui-même à savoir la définition de langages de marquage et d'application concrète. À la conférence SGML de 1996 à Boston a été présenté le premier projet sur XML.

En février 1998 le consortium W3 publiait enfin la première recommandation (Recommendation) sur XML. Ensuite, l'organisation s'efforçait d'établir XML, créait des groupes de travail qui standardisaient différents langages de marquage à l'aide de XML. Au premier rang desquels, naturellement HTML qui fut redéfini en nouveau standard XHTML à l'aide de XML et qui continue à être développé sur cette base. D'autres langages importants comme SVG (format de graphique vectoriel), le langage de marquage mathématique (Mathematical Markup Language (MathML), ou le système RDF (Resource Description Framework (RDF), un modèle pour la description de données Meta sur les documents, sont définis sur la base de XML et reçoivent par le processus de standardisation typique du W3, le statut de langage de description généralement répandu et indépendant de tout logiciel.

 vers le hautvers le bas 

XML et le marché des logiciels

Pour le marché classique des logiciels, XML représente une provocation d'importance. Car c'est une attaque générale à tous les formats de fichiers spécifiques à un concepteur qui sont liés à certains programmes souvent très chers. Par XML se crée du point de vue de l'utilisateur quelque chose de nouveau: au premier plan, ce n'est plus le produit logiciel qui forme une unité de l'interface utilisateur et du format de fichier, mais ce n'est plus que l'interface utilisateur avec en même temps l'attente que les données à créer ou à traiter seront sauvegardées dans un format de fichier moderne basé sur XML. La concurrence entre les produits logiciels en lice se reporte pour cette raison sur la "création d'interface" (Interface-Design). Car quand des produits comparables utilisent les mêmes formats standardisés de fichiers et ne peuvent plus s'attacher l'utilisateur par le format de fichier, ils doivent alors convaincre l'utilisateur par une utilisation facile et un emploi adapté à la pratique. Par le caractère universel de l'utilisation de XML, cela s'applique à presque tous les types de logiciels, peu importe s'il s'agit de traitement de texte, de graphiques, de feuilles de calcul, bases de données, CAD, musique ou même jeux informatiques.

Alors que la plupart des concepteurs de logiciels dormaient encore sommeil du juste, le groupe Microsoft haï par beaucoup, prouvait encore ses facultés de caméléon. Avec un énorme investissement financier, l'entreprise travaille à adapter la famille Office très répandue composée de Word, Excel, PowerPoint et Access, complètement sur la base de formats de fichiers basés sur XML. Mais d'un autre côté les fabricants se réveillent aussi peu à peu. Avant tout le format de fichier SVG basé sur XML pour le graphique vectoriel etcréé par le consortium W3, se révèle comme très prometteur.

XML pourrait veiller à ce qu'à l'avenir il importe peu avec quoi vous écrivez vos lettres, construisez votre maison ou créez vos affiches publicitaires. Si le logiciel utilisé s'en tient avec rigueur au standard XML en utilisant des types de document (DTD) pouvant être présentés, plus grand chose ne s'oppose alors au transfert de documents sans perte des données entre des applications concurrentes de performances identiques.

Un atout important de XML est que la mise en page et les données soient complètement séparées. Même le mode de sortie des données n'est pas fixé. À partir des mêmes données XML, on peut out aussi bien générer une page Web, qu'un modèle imprimé ou une restitution acoustique avec une voix artificielle. Il n'y a plus qu'une sorte de données et la publication se fait par des convertisseurs qui transforment les données XML en d'autres données ( par exemple en HTML ou en Postscript). Les programmes classiques, devenus ces derniers temps toujours plus monstrueux avec leurs formats spécifiques deviendront pour cette raison des modules logiciels de plus en plus réduits dont la forme résidera dans l'interactivité. Le concept de cette modularisation est certes déjà plus ancien mais il y manquait les interfaces. XML assure pourtant cette interface au niveau des formats de fichiers.

 vers le hautvers le bas 

Missions des analyseurs syntaxiques XML

Ce qu'on désigne dans les langages de procédure, donc dans les langages de programmation comme interpréteur, s'appelle dans les langages de description comme XML un analyseur syntaxique (également: processeur). Pour XML un analyseur syntaxique est ce logiciel qui lit les structures XML, les analyse et met à disposition un logiciel qui prend la relève. Un navigateur soutenant XML par exemple est équipé de son propre module logiciel qui représente l'analyseur syntaxique. Dans l'analyseur syntaxique l'Autre page d'information arborescence des données XML est analysée. Une analyse couronnée de succès de cette structure est la condition préalable à une représentation/diffusion correcte des données.

Il n'est pas indispensable que l'analyseur syntaxique soit intégré côté client (dans le navigateur). Il peut tout aussi bien être incorporé dans l'environnement d'un serveur Web et transformer les données sauvegardées sur le serveur et appelées par le navigateur par HTTP avant même que celles-ci ne soient transmises sur Internet. C'est exactement ce que fait par exemple un analyseur syntaxique XLST côté serveur quand il transforme les données XML en données HTML. Un navigateur qui a réclamé les données XML par HTTP reçoit alors du serveur du code HTML facile à digérer.

En général on distingue les analyseurs syntaxiques qui valident le code source et ceux qui ne le font pas. Les analyseurs syntaxiques qui valident attendent pour toutes les données XML une DTD, ils vérifient ensuite tout le contenu des données XML au vu de la DTD correspondante. Si l'examen révèle des erreurs, ces analyseurs syntaxiques sortent des messages d'erreur et interrompent le traitement.

 vers le hautvers le bas 

XML et les navigateurs

Le problème décisif pour le succès de XML est la capacité des logiciels à représenter complètement et de façon appropriée les données XML. Peu importe qu'il s'agisse de fichiers texte, de graphiques de données numériques ou de données multimédia.. Les navigateurs Web sont aujourd'hui le type de logiciel confronté avec les formats de fichiers les plus divers et qui doit s'assurer de la conversion plaisante de ces données à l'écran ou sur d'autres périphériques de sortie. Par ailleurs, les navigateurs Web sont d'entrée adaptés à Internet, ce qui peut être également important pour XML. Car un logiciel supportant XML doit pouvoir, le cas échéant, accéder à des définitions de type de document publiques sur Internet pour pouvoir interpréter un fichier codé d'après les règles d'un certain type de document. Dans cet esprit, les navigateurs ont un certain rôle de pionnier en ce qui concerne la conversion de la philosophie XML dans la pratique.

L'Explorer Internet MS interprète toutes sortes de langages de marquage basés sur XML depuis sa version 5.0, le navigateur Netscape depuis sa version 6.0 entièrement reprogrammée. Par "interpréter" on entend ici que ces navigateurs reconnaissent les données XML comme telles et qu'ils peuvent en analyser la syntaxe. Ils ne peuvent pas encore les représenter joliment - pour cela des formatages sont nécessaires avec les CSS ou XSL ou une conversion en HTML grâce à XSLT.

Étant donné que les concepteurs Web prennent le plus souvent en considération les versions plus anciennes de produit ou les autres navigateurs, il est provisoirement recommandé de na pas se lancer tout de suite dans la conception Web avec des langages basés sur XML. Ce n'est que lorsque XML en relation avec XSLT et son interprétation côté serveur sont prêts que son utilisation sur le Web que l'utilisation sur le Web peut se faire sans hésiter.

XML gagne en tout cas toujours plus d'importance pour la maintenance de données de larges stocks de données richement structurées. Pour des sites Web importants avec beaucoup de contenu structuré uniformément, les données sont toujours plus souvent sauvegardées dans des formats propres de fichiers basés sur XML. Jusqu'a ce qu'il soit pourtant possible sans problème d'envoyer directement les données XML au navigateur Web qui les réclame, il faudra attendre encore quelque temps.

 vers le hautvers le bas 

Langages standard XML importants: SVG, MathML, SMIL, RDF, WML

XML offre d'un côté la possibilité de créer ses propres formats de fichier en suivant un schéma standardisé qui garantisse la compatibilité. D'un autre côté des formats de données peuvent eux aussi être créés avec XML, qui se prêtent à une plus large utilisation sur le marché des logiciels. Le consortium W3 travaille en même temps sur plusieurs de ces langages de marquage basés sur XML. Pour chacun de ces langages de marquage, il y a un groupe de travail distinct qui s'occupe de d'une spécification soignée et d'un développement conforme à la pratique de chaque langage. Mais il y a aussi d'autres fabricants ou prestataires qui essaient de donner aux langages basés sur XML le statut de standard. Les langages suivants sont des exemples de ces langages standard. Chaque langage sera éclairé par un petit exemple. Les exemples ne sont cependant conçus que pour se faire une idée.

SVG: Scalable Vector Graphics

english page Page d'accueil du W3 sur SVG
SVG est un langage de marquage défini avec XML pour la description de graphiques vectoriels en 2 dimensions. Grâce à lui des données graphiques peuvent être décrites telles qu'elles peuvent être créées par des programmes comme Corel Draw par exemple. Un exemple simple:

<svg width="4in" height="3in">
<g>
  <rect x="50", y="80", width="200", height="100" style="fill: #FFFFCC"/>
</g>
</svg>

L'exemple montre comment en SVG un "canevas" dans une surface d'image est créé à l'aide d'un élément central svg. À l'aide de l'élément de groupage g les éléments peuvent être reliés en unités complexes. Dans l'exemple, un simple rectangle a été défini dans le seul groupe défini. Pour cela, l'élément rect a été placé.

MathML: Mathematical Markup Language

english page Page d'accès du W3 à MathML
MathML a la mission de représenter des contenus techniques et scientifiques qui ont besoin pour l'être du langage de formulation mathématique. Un exemple simple (emprunté au consortium W3):

<msup>
  <mfenced>
    <mrow>
       <mi>a</mi>
       <mo>+</mo>
       <mi>b</mi>
     </mrow>
   </mfenced>
</mn>2</mn>
</msup>

L'exemple donne comme sortie: (a+b)2
La formulation peut, à première vue paraître excessive. L'avantage de la description en MarhML est pourtant que chacun des différents éléments d'une expression reçoit son propre marquage logique. Ce n'est qu'ainsi qu'il est possible de décrire des expressions complexes à souhait.
Avec <mfenced>...</mfenced> lès parenthèses sont définies, avec <mrow>...</mrow> une expression notée horizontalement et formant un tout, avec <mi>...</mi> un identificateur (Identifier), avec <mo>...</mo> un opérateur, avec <mn>...</mn> une valeur numérique et avec <msup>...</msup> ce nombre est défini comme exposant (Superscript).

SMIL: Synchronized Multimedia Integration Language

(à prononcer comme l'anglais smile - sourire)
english page Page d'accès du W3 à SMIL
SMIL permet d'écrire des scénarios pour les éléments de médias les plus divers comme le texte, les images, la vidéo et l'audio. Cela permet de créer les présentations qui se mettent d'elles-mêmes en route, un peu comme à la télévision,; cela peut être par exemple pour des foires, des expositions, des présentations de produits mais aussi dans le domaine artistique pour des séquences filmées multimédia. Un exemple simple:

<par>
<text src="title.rt" type="text/html" region="title" dur="20s"/>
 <audio src="bienvenue.ra"/>
</par>

Dans l'exemple un élément texte a été défini avec <text>. Le texte lui-même est pris d'une source séparée (src="title.rt"). Il est placé dans une région bien précise du domaine d'affichage (region="title"), définie à un autre endroit du fichier SMIL, et il sera visible pendant 20 secondes (dur="20s"). Pendant ce temps un fichier audio du nom de bienvenue.ra sera diffusé. Tous les deux, le texte et le fichier audio, sont inclus dans <par>...</par>. Ce qui veut dire "parallel" et décrit l'instruction de présenter tout ce qui y est noté en même temps.

RDF: Resource Description Framework

english page Page d'accueil du W3 à RDF
RDF est un langage de description des données Meta pour les documents. Les données Meta peuvent jouer différents rôles: par exemple représenter des saisies pour les robots de moteurs de recherche ou bien livrer les données nécessaires à l'enregistrement dans le système de catalogue d'une certaine bibliothèque électronique. Un exemple simple:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.0/">
  <rdf:Description rdf:about="http://localhost/doc"
      dc:creator="Frédéric Figaret"
      dc:title="Pêche d'aujourd'hui"
      dc:description="Une documentation sur les méthodes de pêche moderne"
      dc:date="2001-03-30" />
</rdf:RDF>

L'exemple montre une instance d'espace de nommage RDF, introduit par <rdf:RDF... et clôturé par </rdf:RDF>. Pour l'instance d'espace de nommage deux sources sont toutefois mentionnées: une fois la définition de syntaxe de données Meta d'après le schéma RDF du consortium W3, et une fois celle d'après le schéma RDF de Autre page d'information Dublin Core (dc). Il est ainsi possible d'utiliser à la suite le schéma du W3 avec le repère rdf: et le schéma Dublin-Core avec le repère dc: .

WML: Wireless Markup Language

english page Page d'accueil sur le forum WAP
WML va de pair avec le protocole de transmission WAP qui a un rôle analogue à celui de HTTP - pour représenter le langage de description pour les contenus à afficher sur les téléphones portables ou autres petits appareils supportant Internet. WML est également un exemple qui montre comment une autre instance que le consortium W3 s'efforce pour la normalisation basée sur XML de ce langage. WML a en principe un rôle similaire a celui de HTML mais est optimisé pour un affichage sur un écran réduit. Chaque téléphone portable qui se dit WAP a un navigateur WML intégré qui peut afficher les donnés correspondantes d'Internet. Un exemple simple:

<wml>
<card id="card_1" title="Bienvenue!">
<p align="left">hier notre offre<br/>actuelle:</p>
<a href="#Card_2">slips</a><br/>
<a href="#Card_3">bavoirs</a>
</card>
</wml>

La caractéristique pour les données WML est la division en ce qu'on appelle des "Cards". Ce sont des petites unités qui représente chacune le contenu d'un écran. Avec <card>...</card> une telle unité est définie. à l'intérieur de la carte sont notés des éléments qui paraîtront familiers à tous ceux qui connaissent HTML. Il y a là des paragraphes, des passages à la ligne et des liens. La syntaxe de ces éléments en WML est reprise de HTML. Même les graphiques peuvent être incorporés en WML, et les formulaires peuvent être eux aussi être définis. Les formulaires envoyés peuvent être traités par des scripts CGI sur le serveur WAP de façon analogue aux formulaires HTML.

 vers le haut
page suivante Autre page d'information Déclaration XML et instructions de traitement
page précédente Autre page d'information Filtres (seulement Microsoft)
 

© 2002 Adresse électronique selfhtml@fr.selfhtml.org