Comment spécifier dans un schéma XML que l'un des deux champs doit être présent?
Je tiens à préciser que soit fieldname
ou freetext
doit toujours être présent dans des fichiers XML qui s'appliquent à cette XSD. Est-il un moyen de le faire?
<xs:complexType name="tSome">
<xs:sequence>
<!-- either one of the two below has to be present. -->
<xs:element name="fieldname" type="xs:string" />
<xs:element name="freetext" type="xs:string" />
<!-- this one below must always be present -->
<xs:element name="dbtablename" type="xs:string" />
</xs:sequence>
</xs:complexType>
source d'informationauteur char m
Vous devez vous connecter pour publier un commentaire.
Il y a un Choix De L'Indicateur De Schéma XML, ce qui vous permet de profiter de l'un des contenus les éléments, mais pas deux ou plus. Si vous voulez un 2 de 3, je suggère de faire quelque chose comme ceci:
(Peut-être
maxOccurs
va vous empêcher de choisir un seul et même élément deux fois.)Si cela ne fonctionne pas, rien ne va je pense.
Édité: je n'ai pas bien compris la question la première fois. Si vous voulez
dbtablename
d'être toujours présent avec un defieldname
oufreetext
alors c'est la réponse:Donc, vous voulez soit
fieldname
oufreetext
et pas les deux? ou peut-être les deux? et puisdbtablename
éventuellement?Est de 1 ou 2 éléments:
Est-ce que vous souhaitez? ou vouliez-vous
dbtablename
d'en être séparé?