Skip to main content

Conversion d'un fichier XML pour être bien formé

Transformer un fichier XML en Fichier CSV (Mai 2025)

Transformer un fichier XML en Fichier CSV (Mai 2025)
Anonim

Parfois, il est plus facile de comprendre comment écrire du XML bien formé en voyant un exemple. La lettre d’information Web Writer est rédigée sous une forme XML: nous l’appelons AML ou About Markup Language (voir illustration). Bien qu’il s’agisse d’un document de travail, il ne s’agit pas d’un document XML bien formé ou valide.

Bien formé

Il existe des règles spécifiques pour créer un document XML bien formé:

  • La déclaration XML doit figurer en premier dans chaque document.
  • Les commentaires ne sont pas valables dans une balise. Les commentaires ne peuvent pas contenir deux traits d'union, à l'exception du début et de la fin du commentaire.
  • Les balises doivent avoir une balise de fin ou être fermées dans la balise singleton elle-même, par exemple
    .
  • Tous les attributs des balises doivent être entre guillemets, de préférence des guillemets doubles, à moins que l'attribut lui-même ne contienne un guillemet double.
  • Chaque document XML doit contenir un élément qui contient tous les autres éléments.

Le document ne présente que deux problèmes qui le rendent mal formé:

La première chose dont le document AML a besoin est une déclaration XML.

L’autre problème est qu’il n’ya pas un élément qui englobe complètement tous les autres éléments. Pour résoudre ce problème, nous allons ajouter un élément de conteneur externe:

En effectuant ces deux modifications simples (et en veillant à ce que tous les éléments ne contiennent que CDATA), le document mal formé deviendra un document bien formé.

Un document XML valide est validé par rapport à une définition de type de document (DTD) ou à un schéma XML. Il s'agit d'un ensemble de règles créées par le développeur ou par une organisation de normalisation qui définissent la sémantique du document XML. Ceux-ci indiquent à l'ordinateur quoi faire avec le balisage.

Dans le cas du langage de balisage À propos, puisqu'il ne s'agit pas d'un langage XML standard, tel que XHTML ou SMIL, la DTD serait créée par le développeur. Cette DTD sera probablement sur le même serveur que le document XML et référencée en haut du document.

Avant de commencer à développer une DTD ou un schéma pour vos documents, vous devez savoir que, simplement en étant bien formé, un document XML est auto-descriptif et ne nécessite donc pas de DTD.

Par exemple, avec notre document AML bien formé, il existe les balises suivantes:

Si vous connaissez bien la lettre d’information Web Writer, vous pouvez reconnaître les différentes sections de la lettre d’information. Cela facilite grandement la création de nouveaux documents XML en utilisant le même format standard. Nous placerions toujours le titre complet dans la balise et l'URL de la première section dans la balise.

DTD

Si vous devez écrire un document XML valide, soit utiliser les données, soit les traiter, vous devez l'inclure dans votre document avec la balise. Dans cette balise, vous définissez la balise XML de base dans le document et l'emplacement de la DTD (généralement un URI Web). Par exemple:

Une bonne chose à propos des déclarations de DTD est que vous pouvez déclarer qu’une DTD est locale sur le système où le document XML se trouve avec le "SYSTEM". Vous pouvez également pointer sur une DTD publique, comme avec un document HTML 4.0:

Lorsque vous utilisez les deux, vous indiquez au document d'utiliser une DTD spécifique (l'identifiant public) et où le trouver (l'identifiant système).

Enfin, vous pouvez inclure une DTD interne directement dans le document, dans la balise DOCTYPE. Par exemple (ceci n'est pas une DTD complète pour le document AML):

>

Schéma XML

Pour créer un document XML valide, vous pouvez également utiliser un document de schéma XML pour définir votre XML. XML Schema est un document XML qui décrit les documents XML. Apprenez à écrire un schéma.

Remarque

Il ne suffit pas de désigner une DTD ou un schéma XML. Le XML contenu dans le document doit suivre les règles de la DTD ou du schéma. L'utilisation d'un analyseur de validation est un moyen simple de vérifier que votre code XML respecte les règles DTD. Vous pouvez trouver beaucoup de ces analyseurs en ligne.