2017-07-05 3 views
1

Ich fand heraus, dass es möglich ist, die minimale und die maximale Anzahl von Elementen in einem XML-Schema zu beschränken.Wie kann man in XSD "genau gleich" Vorkommenseinschränkungen angeben?

<xs:element name="person"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="full_name" type="xs:string"/> 
     <xs:element name="child_name" type="xs:string" 
     maxOccurs="10" minOccurs="0"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

Ich möchte die Anzahl der Elemente zu einer genauen Zahl restrict. Gibt es eine numberOfOccurs, oder so ähnlich? Ich könnte es machen, indem sie die minOccurs auf einen Wert, der zu maxOccurs ... zum Beispiel gleich ..

<xs:element name="person"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="full_name" type="xs:string"/> 
     <xs:element name="child_name" type="xs:string" 
     maxOccurs="10" minOccurs="10"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

Gibt es eine spezielle Art und Weise, es zu tun?

Antwort

2

Es gibt keine separate Kardinalitätseinschränkung wie exactlyOccurs - verwenden Sie einfach minOccurs und maxOccurs auf den gleichen Wert, den Sie erwartet haben.

+3

Aber seien Sie vorsichtig mit dem, was Sie verlangen: Jede Einschränkung wie diese kommt zurück, um Sie schließlich zu beißen. Ja, natürlich gibt es jedes Jahr genau vier Viertel. Aber was ist mit dem aktuellen Jahr oder dem Jahr, in dem Sie angefangen haben, oder dem Jahr, in dem Sie von einer anderen Firma übernommen wurden? Denken Sie daran, dass Integritätsbedingungen Regeln sind, die verhindern, dass Benutzer tun, was sie wollen, einschließlich Dinge, die sie aus einem guten Grund wollen. –

Verwandte Themen