Quelle est la différence entre xsd:include
et xsd:import
? Quand utiliseriez-vous l'un au lieu de l'autre et quand cela n'aurait-il pas d'importance?
La différence fondamentale entre include
et import
est que vous devez utiliser import
pour faire référence à des déclarations ou à des définitions qui se trouvent différentes espace de noms cible et vous devez utiliser include
pour faire référence à des déclarations ou définitions qui sont (ou seront) dans la même cible espace de noms.
Source: https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm
Utilisez xsd: include pour importer un fichier XSD à partir de identique ou aucun espace de noms.
Utilisez xsd: import pour importer un fichier XSD à partir d'un différent espace de noms.
Une autre différence est que <import>
permet d'importer en faisant référence à un autre espace de noms. <include>
n'autorise l'importation qu'en faisant référence à un URI du schéma d'inclusion prévu. C'est certainement une autre différence que l'importation entre espaces de noms intra-intra.
Par exemple, le validateur de schéma XML peut déjà connaître l'emplacement de tous les schémas par espace de nom déjà. Surtout en considérant que faire référence à des espaces de noms XML par URI peut être problématique sur différents systèmes où classpath: // ne veut rien dire, ou où http: // n'est pas autorisé, ou dans lequel un URI ne pointe pas vers la même chose que sur un autre système.
Exemple de code d'importations valides et non valides et comprenant:
Valide:
<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>
<xsd:include schemaLocation="classpath://mine.xsd"/>
Invalide:
<xsd:include namespace="some/name/space"/>
Cela m'intéresse aussi. La seule explication que j'ai trouvée est que xsd:include
est utilisé pour les inclusions intra-espaces de noms, tandis que xsd:import
est utilisé pour l'inclusion d'espaces de noms.
Devis direct de MSDN: <xsd: import>, élément Remarques
La différence entre l'élément include et l'élément import est que l'élément import autorise les références aux composants de schéma à partir de documents de schéma avec différents espaces de nom cible et - include élément ajoute les composants de schéma d'autres documents de schéma qui ont le même espace de noms cible (ou aucun espace de noms cible spécifié) au schéma contenant. En bref, l'élément import vous permet d'utiliser des composants de schéma à partir de n'importe quel schéma. l'élément include vous permet d'ajouter tous les composants d'un schéma inclus au schéma le contenant.