Definiuję element użytkownika z XSD. W tym przykładzie użytkownik ma nazwę, adres e-mail i jedną lub więcej narodowości. Próbowałem:Środkowy sposób między XSD all a XSD sequence
<xs:all>
<xs:element name="name" blabla />
<xs:element name="email" blabla />
<xs:element name="nationality" minOccurs="1" maxOccurs="unbounded" />
</xs:all>
Jest to jednak nielegalne. Podobno elementy wewnątrz "Wszystkie" mogą wystąpić tylko raz (lub wcale). Mogę to naprawić, zmieniając Wszystko na Sekwencję, ale wtedy ludzie będą musieli wprowadzić właściwości w dokładnej kolejności, której naprawdę nie obchodzi.
Czy jest dostępna kombinacja tych dwóch? Nie według http://www.w3schools.com/Schema/schema_complex_indicators.asp, ale może jest ukryty (lub moje niedoświadczone oczy go nie widzą).
intuicją, próbowałem też:
<xs:all>
<xs:element name="name" blabla />
<xs:element name="email" blabla />
<xs:sequence>
<xs:element name="nationality" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:all>
Ale to niestety nieprawidłowy.
Oto aktualny, rzeczywisty, kawałek XSD:
<!-- user -->
<xs:complexType name="user">
<xs:sequence>
<xs:element name="firstname" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="appendix" type="xs:string" minOccurs="0" maxOccurs="1" />
<xs:element name="lastname" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="address" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="zipcode" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="city" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="username" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="email" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="country" type="country" minOccurs="1" maxOccurs="1"/>
<xs:element name="nationality" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
Jak używać, wprowadzać, włączać, tworzyć, ukrywać, migrować, tworzyć, znajdować lub wykonywać XSD 1.1? –
Czy możesz podać różnicę między XSD 1.1 a XSD 1.0, która sprawia, że jest ważna w wersji 1.1 i nieprawidłowa w wersji 1.0? –
W specyfikacji 1.1 nie widzę żadnej wzmianki o ograniczeniu niezgodności XML OP. Niestety, nie mogę znaleźć specyfikacji 1.0, aby móc porównać. Domyślam się, że musisz sprawdzić wersję na bibliotekach, które będą analizować twój XML/XSD, aby wiedzieć, czy potrzebujesz któregokolwiek z poniższych trików. –