26
utknąłem próbując określić XSD zawierający pole, które może mieć tylko jedną z trzech następujących wartości:XSD Definicja Numeracja
- Zielona
- Red
- Niebieski
Zasadniczo chcę zdefiniować ścisłe wyliczenie na poziomie schematu.
Moja pierwsza próba wydaje się błędna i nie jestem pewien co do "właściwej" metody naprawy.
<xs:element name="color">
<xs:complexType>
<xs:choice>
<xs:element name="green"/>
<xs:element name="red"/>
<xs:element name="blue"/>
</xs:choice>
</xs:complexType>
</xs:element>
za pomocą automatycznego generatora XML, traktuje te nazwy elementów jako obiektów String:
<xs0:color>
<xs0:green>text</xs0:green>
</xs0:color>
Polecam raczej użycie rozszerzenia NMTOKEN, a nie String. Bardziej przypomina to myśl o enumie. Jest także bardziej przyjazny dla narzędzia, szczególnie w przypadku generatorów kodu. – skaffman