2017-07-17 1 views
0

J'ai 4 xsd fichiers, disons A, B, C et D, fichier Un fichier des importations B et C, alors que le fichier B fichier include D. Comment puis-je inline ces fichiers afin que je n'ai qu'un Fichier xsd nommé A contenant tout B, C et D. Est-ce possible?Comment mettre en ligne plusieurs fichiers xsd sans utiliser include, import ou redefine tag?

MISE À JOUR TAGS SCHEMA POUR LE DOSSIER

FICHIER A

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://example.com/service/a/msg/v1" xmlns:cst="http://example.com/service/common/v1" xmlns:sd="http://example.com/service/a/data/v1" xmlns:sm="http://example.com/service/a/msg/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

DOSSIER B

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://example.com/service/common/v1" xmlns:cst="http://example.com/service/common/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

FICHIER C

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://example.com/service/common/v1" xmlns:cst="http://example.com/service/common/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

DOSSIER D

<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://example.com/service/a/data/v1" xmlns:sd="http://example.com/service/a/data/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

Répondre

1

Vous pouvez simplement couper et coller tout ce qui est à l'intérieur des balises de schéma de B, C, & D en A. Purgez alors l'importation/includes.

Cependant Si les schémas contiennent des targetNamespaces différents, cette approche ne fonctionnera pas car vous avez maintenant tout placé dans le même targetNamespace. Donc, si vos schémas ne partagent pas le même targetNamespace, ils ne peuvent pas les combiner (sauf s'ils sont chameleon schemas!)

Comme vous avez plusieurs espaces de noms cibles, il est impossible de les combiner en un seul fichier. Les fichiers B & C peuvent être combinés car ils partagent le même espace-cible, mais vous pouvez modifier le schéma de manière significative en combinant les autres.

Si vous décrivez la raison pour laquelle vous voulez les combiner, je peux vous aider?