Я хотел бы иметь несколько экземпляров видеоигры с элементами, каждый из которых должен иметь один или несколько элементов консоли, но без повторения внутри каждой видеоигры с элементами.Содержимое консоли элемента получается из перечисления.
Мой пример видеоигры выглядит следующим образом:
<xs:complexType name="tVideojuego">
<xs:complexContent>
<xs:extension base="a:tSoftware">
<xs:sequence>
<xs:element name="consola" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="XBox"/>
<xs:enumeration value="Play 4"/>
<xs:enumeration value="Nintendo Switch"/>
<xs:enumeration value="PC"/>
</xs:restriction>
</xs:simpleType>
<xs:unique name="consolaUnica">
<xs:selector xpath="consola"></xs:selector>
<xs:field xpath="."></xs:field>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
Однако внутри каждой видеоигры элемента у меня может быть несколько компьютеров, и я не хочуразрешить это.
Например, следующий элемент видеоигры не разрешен, поскольку компьютер появляется 3 раза и 2 из них с одинаковым содержанием:
<ar:videojuego>
<id>videojuegoTheDivision2</id>
<nombre>The Division 2</nombre>
<cantidadArticulo>879</cantidadArticulo>
<empresa>Ubisoft</empresa>
<consola>PC</consola>
<consola>PC</consola>
<consola>Nintendo Switch</consola>
</ar:videojuego>