Les règles de base d'XML : XML bien formé, XML valide
XML bien formé et XML valide
Les documents XML sont essentiellement des documents texte qui contiennent des données et du balisage. Les données peuvent être numériques ou textuelles, et le balisage est constitué par les balises utilisées pour donner de la structure et repérer l’information sémantique. Les logiciels capables de traiter le XML demandent que certaines règles de base soient respectées pour distinguer les données du balisage. Si vous connaissez déjà le HTML, XML va vous sembler très proche puisqu’il utilise un système de balisage semblable.
Tous les documents XML doivent se conformer à un ensemble de règles développées par le World Wide Web Consortium (W3C), une communauté d’organisations qui développent les standards du web pour les langages essentiels du WWW (dont HTML, CSS et XML). Les règles qui s’appliquent aux documents XML sont décrites dans les spécifications d’XML (https://www.w3.org/XML/). Les logiciels destinés au traitement d’XML attendent des documents qu’ils soient structurés selon ces règles, et toute divergence provoque une erreur d’interprétation ou de syntaxe.
W3Schools identifie cinq règles clef de la syntaxe XML. Les documents qui respectent ces règles sont dits “bien formés” :
- Les documents XML doivent avoir un élément racine
- Les éléments XML doivent avoir une balise fermante
- Les balises XML sont sensibles à la casse
- Les éléments XML doivent être correctement imbriqués
- Les valeurs des attributs XML doivent être entre guillemets
On parle de XML “valide”, en revanche, lorsqu’un document respecte des contraintes additionnelles. En plus d’être bien formé, un document XML valide se conforme à un ensemble de règles définies par une DTD (Document Type Definition) ou un schéma. Un logiciel pourvu d’un “parser”, qui comprend la syntaxe XML, va vérifier que vos documents sont conformes aux règles de base et donc bien formés, et si vos documents appellent une DTD ou un schéma, le parser va également vérifier qu’ils se plient aux contraintes additionnelles (nom des éléments et des attributs, les endroits où ils peuvent être utilisés dans le document, avec quelle fréquence, etc.).