Lorsque j'utilise un fichier d'exemple XML pour générer un XSD, en utilisant à la fois Visual Studio et Oxygen, il génère un fichier utilisant des tonnes de <xs:element ref="ELEMENTNAME" />
, où elementname est un nom d'élément réel. Plus tard dans le fichier, il a un élément <xs:element name="ELEMENTNAME" type="xs:string" />
où il définit ce qu'est cet élément. Par exemple, voici un extrait:Générer un fichier XSD sans éléments REF - Je veux juste un fichier XSD "littéral"
<xs:element name="Header">
<xs:complexType>
<xs:sequence>
<xs:element ref="VersionNumber" />
<xs:element ref="BillerGroupID" />
<xs:element ref="BillerGroupShortName" />
<xs:element ref="BillerID" />
<xs:element ref="BillerShortName" />
<xs:element ref="FileIndicator" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VersionNumber" type="xs:string" />
<xs:element name="BillerGroupID" type="xs:string" />
<xs:element name="BillerGroupShortName" type="xs:string" />
<xs:element name="BillerID" type="xs:string" />
<xs:element name="BillerShortName" type="xs:string" />
<xs:element name="FileIndicator" type="xs:string" />
est ici le problème - j'utilise Microsoft Biztalk, et il voit chaque tag « élément » comme un schéma disponible parce qu'ils sont tous au niveau de la racine - En-tête, avec chaque élément enfant unique. Je veux juste rendre un schéma disponible - en-tête, dans ce cas - et cacher le reste.
La solution évidente semble être de modifier manuellement mon dossier pour ressembler à ceci, supprimer manuellement les déclarations REF:
<xs:element name="Header">
<xs:complexType>
<xs:sequence>
<xs:element name="VersionNumber" type="xs:string" />
<xs:element name="BillerGroupID" type="xs:string" />
<xs:element name="BillerGroupShortName" type="xs:string" />
<xs:element name="BillerID" type="xs:string" />
<xs:element name="BillerShortName" type="xs:string" />
<xs:element name="FileIndicator" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
Cependant, étant donné que mon dossier est énorme et contient des milliers d'éléments, ce n'est pas vraiment faisable. Existe-t-il un moyen de dire à mon outil de générer le fichier sans utiliser REFs, mais plutôt de simplement placer une copie de l'élément là où elle devrait être au lieu de la racine?
J'ai dû installer l'option "XML bien formé", mais cela a fonctionné comme un charme, sans un seul REF. Merci pour votre conseil! – SqlRyan