Modéliser avec XML

Les langages de modélisation XML

XML, comme SGML avant lui, vous permet de créer vos propres noms d'éléments. Dans l'exemple utilisé plus tôt, nous aurions pu utiliser l'élément <pers> plutôt que <persName> et <townName> à la place de <town> :

 

1
2
3
4
5
<personName>Robert Smith</personName> 
<street>Castle street</street> 
<houseNr>123</houseNr>
<town>Dublin</town>
<telephoneNr>0891232245</telephoneNr>

L'exemple ci-dessus pourrait donc aussi être encodé comme ceci :

1
2
3
4
5
<pers>Robert Smith</pers> 
<streetName>Castle street</streetName> 
<house>123</house>
<townName>Dublin</townName>
<telephone>0891232245</telephone>


L'encodage XML représente toujours correctement les données encodées et il y a probablement des dizaines de façons de nommer ces éléments. Pour des humains, utiliser des noms d'éléments similaires peut ne faire aucune différence, parce que nous réalisons que <pers> ou <personName> ou <persName> font référence à un nom de personne. Cependant, le ordinateurs fonctionnent typiquement en comparant des chaînes de caractères, et les éléments <pers>, <personName> et <persName> représentent donc trois choses différentes, aussi dénuées de lien que <pers>, <dog> et <fish>.

Pour aider à imposer l'uniformité dans le nommage des éléments et dans la syntaxe, SGML utilisait un langage appelé Document Type Definition (définition de type de document), soit DTD. Les DTDs, qui peuvent aussi être utilisées avec XML, sont un ensemble de règles qui spécifient quels éléments sont utilisés dans un document SGML/XML, avec quelle fréquence, et quels attributs ils peuvent avoir.

Les DTDs représentent un modèle abstrait de la structure d'un document XML, tout en fournissant un mécanisme pour qu'un individu ou une communauté puissent développer un vocabulaire de noms d'éléments qui convienne aux données qu'ils encodent. Bien vite le W3C, l'organisme qui supervise et développe les standards HTML et XML, a développé un langage à base de règles spécialement pour les documents XML, écrit dans une syntaxe XML. Si les DTDs peuvent toujours être utilisées avec XML, XML Schéma et RNG, plus puissants et plus flexibles, sont plus communément utilisés. Plus tard dans ce cours, nous vous présenterons la syntaxe de la DTD, car elle est plus simple à apprendre et à utiliser que les langages de schéma, alors que les principes généraux de modélisation sont semblables.