Ich versuche, einen Teil eines Schemas einzurichten, das wie eine "Sequenz" ist, wobei alle untergeordneten Elemente optional sind, aber mindestens eins der Elemente muss vorhanden sein, und es könnte mehr als eine von ihnen geben.XML-Schemakonstrukt für "eines oder mehrere dieser Elemente, muss aber mindestens eins sein"
versuchte ich folgendes tun, aber XMLSpy beschwert sich, dass DateConstant "> und < element name = "DateConstant "Das Inhaltsmodell element name = die Elemente < enthält"" >, die nicht eindeutig bestimmt werden kann.":
<xs:choice>
<xs:sequence>
<xs:element name="DateConstant"/>
<xs:element name="TimeConstant"/>
</xs:sequence>
<xs:element name="DateConstant"/>
<xs:element name="TimeConstant"/>
</xs:choice>
Kann dies (und wenn ja, wie) getan werden?
Einige Erklärung: Ich möchte nur eines von jedem Element mit dem gleichen Namen erlauben. Es kann einen "DateConstant" und/oder einen "TimeConstant" geben, aber keines von beiden. Die Antwort von Gizmo entspricht meinen Anforderungen, ist aber für eine größere Anzahl von Elementen unpraktisch. Hursts Antwort erlaubt zwei oder mehr Elemente mit dem gleichen Namen, die ich nicht möchte.
Dies funktioniert nicht. Wenn ein Element fehlt, während das eine vorhanden ist, wird kein Fehler auftreten. – yegor256