Vous avez peut-être entendu parler du langage XML (Extensible Markup Language) et des avantages qu'il offre. Cet article fournit des informations de base sur ce langage (définition et fonctionnement).
...
) et marquer l'emplacement de chaque image.
Les documents HTML et XML contiennent des données encadrées de balises, mais les points communs entre ces deux langages s'arrêtent là. Dans le langage HTML, les balises définissent l'apparence des données — emplacement des titres, début des paragraphes, etc. Dans le langage XML, les balises définissent la structure et la signification des données — contenu des données.
Lorsque vous décrivez la structure et la signification de vos données, vous permettez de réutiliser ces données de différentes façons. Par exemple, si vous disposez de nombreuses données de ventes et que chaque élément de ces données est clairement identifié, vous pouvez charger uniquement les éléments nécessaires dans un rapport des ventes et charger les autres éléments dans une base de données comptable. En d'autres termes, vous pouvez utiliser un système pour générer les données et les marquer avec des balises XML, puis traiter ces données sur d'autres systèmes, quelle que soit la plate-forme ou le système d'exploitation. Cette portabilité explique l'engouement pour le langage XML dans le domaine des technologies d'échange de données.
Gardez ces faits en tête :
<?xml version="1.0"?>
<CAT>
<NAME>Izzy</NAME>
<BREED>Siamese</BREED>
<AGE>6</AGE>
<ALTERED>yes</ALTERED>
<DECLAWED>no</DECLAWED>
<LICENSE>Izz138bod</LICENSE>
<OWNER>Colin Wilcox</OWNER>
</CAT>
Vous pouvez constater que les balises XML permettent de connaître exactement le type de données examinées. Par exemple, vous savez que ces données concernent un chat et vous pouvez facilement trouver le nom du chat, son âge, etc. C'est la possibilité de créer des balises qui définissent presque toute la structure de données qui confère au langage XML son « extensibilité ».
Mais ne confondez pas les balises dans cet exemple de code avec des balises dans un fichier HTML. Par exemple, si vous collez cette structure XML dans un fichier HTML et que vous affichez le fichier dans notre navigateur, le résultat sera le suivant :
Izzy Siamese 6 yes no Izz138bod Colin Wilcox
Le navigateur ignore les balises XML et affiche uniquement les données.
Si vous entendez parler de fichier XML « bien formé », sachez qu'il s'agit d'un fichier conforme à un ensemble de règles très strictes qui déterminent le langage XML. Si un fichier n'est pas conforme à ces règles, le code XML ne fonctionne pas. Par exemple, dans l'exemple de code précédent, chaque balise d'ouverture est associée à une balise de fermeture, ainsi le code de l'exemple est bien formé à partir du moment où il respecte l'une de ces règles. Si vous supprimez une balise et que vous tentez d'ouvrir ce fichier dans l'un des programmes Microsoft Office, un message d'erreur est généré et le programme vous empêche d'utiliser le fichier.
Vous n'avez pas forcément besoin de connaître les règles pour créer du code XML bien formé (même si elles sont faciles à comprendre), mais vous ne devez pas oublier que vous pouvez partager des données XML entre des programmes et des systèmes uniquement si ces données sont bien formées. Si vous ne parvenez pas à ouvrir un fichier XML, il est possible que ce fichier ne soit pas bien formé.
Le code XML ne dépend pas de la plateforme, ce qui signifie que tous les programmes conçus pour utiliser le langage XML peuvent lire et traiter des données XML, quel que soit le matériel ou le système d'exploitation. Par exemple, avec les balises XML appropriées, vous pouvez utiliser un programme bureautique pour ouvrir et utiliser des données sur un gros ordinateur. Quel que soit l'auteur d'un corps de données XML, vous pouvez utiliser les mêmes données dans plusieurs programmes Microsoft Office 2003 et Microsoft Office Professional 2007, dont Microsoft Office Access 2007, Microsoft Office Word 2007, Microsoft Office InfoPath 2007 et Microsoft Office Excel 2007. Grâce à sa grande portabilité, le langage XML s'est imposé comme l'une des technologies les plus courantes pour l'échange de données entre des bases de données et des utilisateurs.
Outre les données bien formées qui utilisent des balises, les systèmes XML utilisent généralement des composants supplémentaires : des schémas et des transformations. Les sections qui suivent expliquent le fonctionnement de ces composants.
Ne vous laissez pas intimider par le terme « schéma ». Un schéma désigne simplement un fichier XML qui contient les règles déterminant les éléments qui peuvent figurer ou non dans un fichier de données XML. Les fichiers de schéma utilisent généralement l'extension de fichier .xml.
Les schémas permettent aux programmes de valider les données. Ils offrent une structure pour structurer les données et s'assurer de leur cohérence pour le créateur et les autres utilisateurs éventuels. Par exemple, si un utilisateur entre des données non valides, comme du texte dans un champ de date, le programme peut inviter l'utilisateur à entrer les données correctes. Tant que les données d'un fichier XML respectent les règles d'un schéma déterminé, les programmes prenant en charge le langage XML peuvent utiliser ce schéma pour lire, interpréter et traiter les données. Par exemple, comme indiqué sur l'illustration ci-dessous, Excel et Word peuvent valider les données <CAT> en les comparant au schéma CAT.
Les schémas peuvent devenir complexes et leur création dépasse la portée de cet article (de plus, votre service informatique sait comment procéder). Cependant, il est utile de savoir comment se présente un schéma. Le schéma ci-dessous définit les règles pour le jeu de balises
<xsd:element name="CAT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>Ne vous inquiétez pas si vous ne comprenez pas l'exemple dans son intégralité. Contentez-vous de garder ces faits à l'esprit :
Les éléments de ligne dans l'exemple de schéma sont appelés « déclarations ». Si vous avez besoin d'informations supplémentaires sur un animal, comme sa couleur, il est possible que votre service informatique ajoute une déclaration dans le schéma. Vous pouvez modifier votre système XML en fonction de l'évolution de vos besoins professionnels.
Les déclarations permettent un contrôle important de la structure des données. Par exemple, la déclaration <xsd:sequence> signifie que les balises comme <NAME> et <BREED> doivent être utilisées dans l'ordre mentionné ici. Les déclarations peuvent également contrôler les types de données que les utilisateurs peuvent entrer. Par exemple, le schéma ci-dessus nécessite un nombre positif pour l'âge du chat, et une valeur booléenne (TRUE ou FALSE) pour les balises ALTERED et DECLAWED.
Lorsque les données dans un fichier XML respectent les règles édictées par un schéma, ces données sont considérées comme valides. Le processus de vérification d'un fichier XML par comparaison avec un schéma porte le nom (plutôt logique) de « validation ». Le grand avantage à utiliser des schémas est qu'ils peuvent empêcher l'altération des données. Ils facilitent également la détection de données altérées en cas d'interruption du code XML lorsque celui-ci rencontre un problème.