Me gustaría crear un Esquema XML para este trozo de xml, me gustaría restringir los valores del atributo "nombre", para que en el documento de salida y solo una instancia del día esté permitida para cada día de la semana:¿Cómo se definen los elementos múltiples en el esquema XML con el mismo nombre y el valor de atributo diferente permitido?
<a>
<day name="monday" />
<day name="tuesday" />
<day name="wednesday" />
</a>
he tratado de utilizar este:
<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>
pero esquema XML validador en Eclipse dice error "elementos múltiples con 'día', nombre con diferentes tipos, aparecer en el modelo de grupo.".
¿Hay alguna otra manera?
José, esto hizo el truco, gracias por su ayuda. –
No, esto no funciona. Si el objetivo es permitir el elemento uno-y-uno para el nombre de cada día, este esquema no lo hará. Necesita usar xs: unique para estipular formalmente la restricción de cada día a lo sumo. – Cheeso