J'ai vu XML Schema element with attributes containing only text mais j'ai un élément qui est un xs: dateTime à la place.Comment déclarer un élément non-chaîne comme ayant un contenu optionnel dans le schéma XML
Le document que je suis en train d'écrire un schéma pour ressemble à ceci:
<web-campaigns>
<web-campaign>
<id>1231</id>
<start-at nil="true"/>
</web-campaign>
<web-campaign>
<id>1232</id>
<start-at>2009-08-08T09:00:00Z</start-at>
</web-campaign>
</web-campaigns>
Parfois, l'élément xs: dateTime a un contenu, parfois non.
Ce que j'ai jusqu'à présent (qui ne valide pas encore) est:
<xs:element name="start-at">
<xs:complexType mixed="true">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="nil" default="false" type="xs:boolean" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Si je remplace xs: dateTime avec xs: string, je peux valider le document très bien, mais je veux vraiment un xs: dateTime, pour indiquer aux consommateurs ce qu'il y a dans cet élément. J'ai essayé avec/sans mixed = "true" ainsi, en vain.
Si cela fait une différence, je valide en utilisant xmllint (sous Mac OS X 10.5) et XML Schema Validator