2009-05-09 15 views
2

Je peux valider un fichier XML avec un schéma en Java en utilisant l'analyseur DOM. Mais ici, le fichier schema et le fichier xml ont tous deux un espace de nommage.Problème de validation java xml avec le schéma

Maintenant, je veux valider un XML sans espace de noms avec le schéma. Comment y parvenir

Merci Bapi

Répondre

1

Fondamentalement, votre document ne correspond pas au schéma, il est donc pas censé travailler. Idéalement, vous devez corriger le document xml pour avoir un espace de noms propre; ou schéma pour valider la structure d'espace non-nom. Mais en supposant que cela ne fonctionne pas, vous pouvez pré-traiter le contenu XML en question et modifier les éléments/attributs pour qu'ils soient dans les espaces de noms attendus. Cela peut être fait en utilisant le traitement DOM, SAX ou Stax. Puisque DOM est généralement construit à partir d'une source SAX, il peut être plus simple d'avoir un simple gestionnaire de contenu SAX qui ajoute des espaces pour les éléments, attributs: ceci est fait en recevant le callback, en modifiant les arguments avant d'appeler le gestionnaire chaîné. Je suis sûr que vous pouvez google par exemple le code, c'est un cas d'utilisation assez commun; esp. car de nombreux développeurs ne prennent pas leur temps pour comprendre comment fonctionnent les espaces de noms XML. Les espaces de noms ne sont pas une science des fusées, mais il est encore possible de mal comprendre le rôle des préfixes par rapport aux URI des espaces de noms.

Espérons que cela aide.