Question XSD/XML

Question XSD/XML - XML/XSL - Programmation

Marsh Posté le 21-07-2008 à 16:15:50    

Je débute dans ce domaine,
 
Mon xsd est configuré de cette manière :
 
<xs:element name="super-credit-balances" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="resource-balance" type="common:resource-BalanceType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
 
et dans mon XML :
 
<er-response id="100005" sub-id="0">
<payload>
<purchase-options>
<reason-code>
<code>32</code>
<sub-code>0</sub-code>
<name>SERVICE ID NOT FOUND</name>
</reason-code>
<sub-reason-code>
<code>0</code>
<sub-code>0</sub-code>
<name>OK</name>
</sub-reason-code>
<super-credit-balances />
<packages />
<has-promotions>false</has-promotions>
</purchase-options>
</payload>
</er-response>
 
 
Donc la question c'est : Est-ce normal ?
Si j'interprète correctement mon xsd, je vois que je peux avoir un "super-credit-balance" ou non mais s'il existe, il doit forcément contenir le champ "resource-balance" car je n'ai pas spécifié le minoccurs et donc il est, par défaut, égal à 1 si j'ai bien compris...
 
Si je relève cette problématique c'est qu'en testant sur Stylus Studio, il me dit que mon xsd est valide !

Reply

Marsh Posté le 21-07-2008 à 16:15:50   

Reply

Marsh Posté le 21-07-2008 à 16:44:37    

Pour moi, ça semble bon !
La balise super-credit-balances apparaît, certes, mais il n'y a pas d'occurence !
 
Ce qui serait faux, ce serait ça :
<super-credit-balances>
    <resource-balance />
</super-credit-balances>
 
car resource-balance doit avoir une occurence, là, elle n'en a aucune.


Message édité par kao98 le 21-07-2008 à 16:45:16

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 21-07-2008 à 17:04:51    

Merci kao98 pour ta réponse rapide.
 
Ton avis me semble pertinant, comment pourrais-je alors spécifier d'après toi que s'il n'y a pas de super-credit-balance alors il n'affiche pas de balise ? (cf l'affichage douteux du <super-credit-balances />  
)
Cela règlerait directement mon problème...
 
Merci d'avance ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed