Quelle est la différence entre xsd: include et xsd: import?

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 aux déclarations ou aux définitions qui se trouvent dans un espace de noms cible différent et que vous devez utiliser include pour faire référence aux déclarations ou définitions qui sont (ou seront) dans le même espace de noms cible.

Source: https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm

Utilisez xsd: include pour importer un XSD à partir du même ou sans espace de noms.

Utilisez xsd: import pour importer un fichier XSD depuis un autre espace de noms.

Une autre différence est que permet d’importer en se référant à un autre espace de noms. permet uniquement l’importation en se référant à un URI du schéma d’inclusion prévu. C’est certainement une autre différence que l’importation inter-intra-espace de noms.

Par exemple, le validateur de schéma XML peut déjà connaître l’emplacement de tous les schémas par espace de noms . Surtout en considérant que faire référence aux espaces de noms XML par URI peut être problématique sur différents systèmes où classpath: // ne signifie rien, ou où http: // n’est pas autorisé, ou où certains URI ne pointent la même chose que sur un autre système.

Exemple de code des importations valides et non valides et comprend:

Valide:

    

Invalide:

  

Cela m’intéresse aussi. La seule explication que j’ai trouvée est que xsd:include est utilisé pour les inclusions intra-namespace, alors que xsd:import est utilisé pour l’inclusion inter-namespace.

Composant ” include ” – Ce composant apporte toutes les déclarations et définitions d’un document de schéma externe dans le schéma actuel. Le document de schéma externe doit avoir le même espace de noms cible que le schéma actuel. Les composants “include” sont généralement utilisés pour créer un nouveau schéma en étendant les documents de schéma existants.

Composant ” import ” – Ce composant offre les mêmes fonctions que le composant “include” sauf que le document de schéma inclus a un espace de noms cible différent . Les composants “import” sont généralement utilisés pour créer un nouveau schéma en empruntant des déclarations d’éléments à partir de documents de schéma existants provenant d’autres espaces de noms.

Devis direct de MSDN: Elément, section Remarques

La différence entre l’élément include et l’élément import réside dans le fait que l’élément import permet des références à des composants de schéma à partir de documents de schéma avec différents espaces de noms cibles et que l’élément include ajoute les composants de schéma à d’autres espaces de noms cibles ) 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’append tous les composants d’un schéma inclus au schéma contenant.

Utilisez xsd: include apporte toutes les déclarations et définitions d’un document de schéma externe dans le schéma en cours.

Utilisez xsd: import pour importer un fichier XSD depuis un autre espace de noms et pour créer un nouveau schéma en étendant les documents de schéma existants.