Je n'arrive pas à créer un XSD pour certains fichiers XML.Schéma XSD pour XML récursif
Un peu d'arrière-plan pourrait aider. Le XML est pour la messagerie. En particulier, le message est conçu pour être simple et conçu pour être facilement référencé. Au fond, est une valeur de clé récursive configurée.
Simple Les valeurs de clé sont comme ceci.
<key name="quantity">5</key>
<key name="price" representation="percentage">99.78</key>
Il est un attribut de représentation en option où le infromation pourrait être représentée sous deux formes différentes.
référence Les valeurs clés sont comme ça
<key name="currency" reference="instrument">
<id name=" INSID" system="XXXX" instance="PROD">DEM</id>
<id name=" EXTERN_ID1" system="XXXX" instance="PROD"> ext128k</id>
</key>
Ce formulaire est utilisé pour les références clés étrangères ou des références à des énumérations. Le service de référence croisée sélectionnera toutes les clés avec un attribut de référence. Il obtiendra alors tous les identifiants possibles pour cette référence, et ajoutera des champs d'identifiant supplémentaires , et remplacera ce sous-élément par la nouvelle version.
-à-dire « ./key[@reference] » comme Xpath peut obtenir toutes les énumérations et des références du xml
Enfin il y a une structure récursive. Ici, la valeur de la valeur de la clé, peut être elle-même une valeur clé.
<key name="trade" type="trade">
<key name="value_day">1999-03-12</key>
<key name="quantity">5</key>
<key name="leg" type="leg">
<key name="rate">5.00</key>
<key name="period">3m</key>
<key name="cashflows" type="cashflows">
<key name="cashflow">10</key>
<key name="cashflow">20</key>
</key>
</key>
</key>
Maintenant, j'ai de la difficulté à créer un XSD pour cette structure.
Quelqu'un peut-il aider?
Merci
Nick
-ce que les deux premiers extraits XML ont une pertinence à votre problème, ou la troisième structure récursive? –
Si je le reformule comme une hiérarchie d'objets, j'obtiens ceci. KeyValue SimpleKeyValue hérite KeyValue ReferenceKeyValue hérite KeyValue hérite ListKeyValue KeyValue Nick – Nickle