2009-08-29 6 views
0

Comment faire de ce simple document valide

<DB> 

<foo /> 

<bar /> 

</DB> 

J'ai un problème avec elle - quand je commence l'analyse syntaxique (DOM), il dit que le document n'est pas valide. J'ai vérifié quel est le problème et le problème est:

Line: 4 
Column: 6 

Error: Can not find declaration of element 'DB'. 

Error Position: <DB> 

Pls, aide :)

+0

Une chance de nous montrer comment vous analyser le fichier? – Zed

Répondre

2

Les documents XML doivent bien formés et doivent être valides. Un analyseur n'acceptera (presque) jamais un document qui n'est pas bien formé et on peut demander à (la plupart) des parseurs de vérifier la validité des documents.

Un document est bien formé s'il suit toutes les règles syntaxiques étiquetées comme des règles de formatage dans la spécification XML. Cela concerne l'ouverture et la fermeture correctes des balises, l'utilisation correcte des attributs et ainsi de suite.

Un document est valide si elle est non seulement bien formé, mais également conforme à la grammaire définie dans son propre schéma, qui peut être une définition de type de document (DTD) ou une définition de schéma XML (XSD).

Dans votre cas, le document est évidemment bien formé et, parce qu'il ne fait pas référence à un schéma, il n'est pas invalide.

Le problème pourrait être, que vous avez dit à votre analyseur de valider le document, ce qui n'est tout simplement pas possible, car il n'y a pas de schéma. Bien que, si c'était le cas, le message d'erreur serait terriblement trompeur ...

2

Sans savoir beaucoup sur la façon dont vous analysez le document le seul conseil que je peux donner est que votre analyseur nécessite probablement un schéma ou DTD qui définit les éléments (tous les éléments: DB, foo et bar).

Si vous ne voulez pas écrire de schéma/DTD, une autre option serait (si possible en utilisant votre analyseur) de dire à l'analyseur de ne pas valider le fichier. Certaines implémentations d'analyseurs vous permettent de spécifier un indicateur qui lui indique de ne pas valider le document.

Questions connexes