Chciałbym utworzyć XML Schema dla tego fragmentu xml, chciałbym ograniczyć wartości „nazwa” atrybutu, tak, że w dokumencie wyjściowym i tylko jeden przykład dnia jest dozwolone dla każdego dnia tygodnia:Jak można zdefiniować wiele elementów w schemacie XML o tej samej nazwie i innej wartości atrybutu?
<a>
<day name="monday" />
<day name="tuesday" />
<day name="wednesday" />
</a>
próbowałem użyć to:
<xs:complexType name="a">
<xs:sequence>
<xs:element name="day" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="monday" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="day" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:attribute name="name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="tuesday" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
ale XML Schema walidator w Eclipse mówi o błędach „wiele elementów z nazwą«dzień», z różnymi rodzajami, pojawiają się w grupie modelu.”.
Czy istnieje inny sposób?
Jose, to się udało, dziękuję za pomoc. –
Nie, to nie wystarczy. Jeśli celem jest dopuszczenie jednego i tylko jednego elementu dla nazwy każdego dnia, ten schemat tego nie zrobi. Musisz użyć xs: unique, aby formalnie określić ograniczenie każdego dnia. – Cheeso