2009-04-15 10 views
1

Je souhaite effectuer une validation XML pour valider si un fichier XML d'entrée est conforme à un fichier de schéma (.xsd). Ma question est quand avons-nous besoin de spécifier le paramètre d'espace de noms cible et quelle est la fonction du paramètre d'espace de noms cible?espace de noms cible du schéma

Je suis arrivé à cette question dans les pages suivantes MSDN,

http://msdn.microsoft.com/en-us/library/1hh8b082.aspx

http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschemaset.aspx

Plus précisément, je me réfère au 1er paramètre de la méthode Add de XmlSchemaSet classe.

EDIT1: Ma confusion actuelle est,

  1. Dans le fichier de schéma XML, il est un attribut d'espace de noms cible en haut, et tous les éléments définis dans ce fichier de schéma XML sont définis dans l'espace de noms cible; Dans le fichier document XML à vérifier, le document XML peut utiliser des éléments définis dans l'espace de noms cible du fichier de schéma XML et peut également utiliser des éléments d'autres espaces de noms autres que l'espace de noms cible défini dans le fichier XML. Fichier de schéma XML; Question est, devrions-nous simplement ajouter le "target namespace" à la méthode Add de XmlSchemaSet classe, ou ajouter tous les espaces de noms que le document XML utilisera à la méthode Add de classe XmlSchemaSet?
  2. Une autre question est, si nous pourrions définir plusieurs "espace de noms cible" dans le fichier de schéma XML? Si oui, comment?

Répondre

2

Vous auriez besoin d'utiliser ce paramètre si vous utilisiez des espaces de noms dans votre document XML, par exemple. si certains de vos tags étaient de la forme <xx:TagName>. Sinon, vous pouvez simplement passer une chaîne vide "".

+0

Pour ajouter à votre réponse, vous devez indiquer Null/Nothing comme targetNamespace si vous voulez que XmlSchemaSet utilise l'espace de noms défini dans XmlSchema. Cela vous permet de vous passer de passer explicitement l'espace de noms dans la méthode Add. +1 – Cerebrus

+0

@dommer, "utiliser des espaces de noms dans votre document", vous voulez dire utiliser l'espace de noms dans le document XML ou dans le document de schéma? – George2

+0

@Cerebrus, "utiliser l'espace de nommage défini dans le XmlSchema", que signifie l'espace de nommage défini dans le fichier XML Schame ou autre chose? Pourriez-vous illustrer les points par l'exemple ici (à propos du books.xml et du books.xsd sampl)? http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschemaset.aspxe – George2

Questions connexes