Zastanawiam się, jak specyfikacja schematu XML obsługuje te przypadki:
<xsd:element minOccurs="1" name="asdf"/>
Nie podano maxOccurs -> Czy to jest liczność [1..1]?
<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>
Przypuszczam, że to po prostu nieważne?
<xsd:element maxOccurs="2" name="asdf"/>
Czy to jest liczność [0..2] czy [1..2]?
Czy istnieje „oficjalna” definicja tego, jak specyfikacja schematu XML obsługuje te przypadki?
Nowa, rozszerzona odpowiedź na stare, często zadawane pytanie ...
Wartości domyślne
minOccurs
imaxOccurs
domyślnie na1
.Najczęstsze przypadki wyjaśnione
środki
A
są wymagane i muszą pojawić się dokładnie raz .środki
A
są opcjonalne i mogą pojawić się maksymalnie raz .środki
A
są wymagane i mogą powtarzać się nieograniczoną liczbę razy .oznacza
A
to opcjonalne i mogą powtarzać się nieograniczoną liczbę razy .Zobacz też
W3C XML Schema Part 0: Primer
W3C XML Schema Part 1: Structures Second Edition
źródło
Krótka odpowiedź:
Jak napisano w xsd:
Jeśli podasz atrybut z liczbą, wówczas liczba jest granicą. W przeciwnym razie atrybut powinien pojawić się dokładnie raz .
źródło
przykład:
XML
XSD:
XSL:
Wynik:
źródło