2009-06-11 7 views
1

J'ai eu un problème avec l'ajout de type = "date" dans mon schéma, car à chaque fois qu'il est nul il lance une erreur de marshalling. J'ai découvert que pour les éléments, nous pouvons ajouter un attribut comme nullable = "true" et se débarrasser de ce problème. Mais, n'a pas été en mesure de trouver un moyen similaire pour les attributs. Y at-il un moyen d'éviter ce problème pour les attributs?XML-schema: Equivalent à nullable = "true" pour les attributs?

Merci!

Répondre

1

Il n'y a malheureusement pas d'option "nillable" pour les attributs.

Vous pouvez cependant orner un attribut avec un spécificateur use="optional" qui devrait prendre en charge le cas où l'attribut n'est pas présent (ne devrait pas provoquer d'erreur).

Marc

+0

Salut Marc, j'utilise l'attribut use = "facultatif", mais cela n'aide pas avec ce problème. – Ankush

+0

hhmm .... impair .... pas sûr si c'est une bizarrerie ou un problème dans jaxb - je ne suis pas familier avec cet outil, donc je ne peux pas vraiment aider là .... –

+0

Merci ... de toute façon. ... – Ankush

2

ne sais pas si c'est ce que vous avez besoin, mais j'ai eu problème avec la date vide (en xml: date = "") et j'ont fait face à comme ça:

<xs:simpleType name="mydatetype"> 
    <xs:union> 
<xs:simpleType> 
    <xs:restriction base="xs:date"> 
    </xs:restriction> 
</xs:simpleType> 
<xs:simpleType> 
    <xs:restriction base="xs:string"> 
    <xs:minLength value="0" /> 
    <xs:maxLength value="0" /> 
    </xs:restriction> 
</xs:simpleType> 
    </xs:union> 
</xs:simpleType> 
+0

Nice et propre :) Thx – Simon