il est important surtout en XML de bien connaître la différence entre "bien-formé" et "valide"
un doc XML bien formé, est un doc qui respecte certains règles de bases de XML :
toutes balise ouvertes est refermée,
tout attribut a une valeur
toute valeur d'attribut est entre quotes (simples ou doubles)
les balises sont fermées selon le principe LIFO (Last In, First Out : càd si les balises sont ouvertes dans l'ordre <a><b><c>, elle doivent être refermé dans l'ordre inverse : </c></b></a>)
les noms de balises et noms et valeurs d'attributs sont sensibles à la casses,
tous les "méta-caractères" XML tels que <, &, etc... sont échapés grâce aux entitées générales (< pour <; & pour & ....)
un nom de balise ne commence pas par un chiffre et ne contient pas d'espace, etc, etc, etc... (voir la recommendation du W3C pour une liste exhaustive
)
un doc XML Valide, n'est pas valide en lui-même (alors que la bien formation d'un doc ne repose que sur le doc en lui-même), il est valide par rapport à une définition de structure (DTD, XML Schema, ...), il est valide, s'il respect la structure définie par cette définition de structure (càd, imbriquement des balises, attributs présents sur les balises, valeurs des attributs, contenu des balises, etc...)
un doc XML peut tout à fait être bien formé, et ne pas être valide s'il n'est relié à aucune définition de structure, ce qui n'empêche pas son exploitation.
En revanche, quelque soit la définition de structure, et quelque soit le format de cette définition (DTD, XML Schema, etc...) un document mal-formé, ne sera jamais valide !
Partager