Ich bin zugegebenermaßen neu in Schema, und ich versuche, ein bestimmtes Attribut innerhalb eines Satzes eindeutig zu sein. Ich brauche diesen Wert auch als Schlüssel, da er an anderer Stelle referenziert wird.XML-Schema eindeutige Schlüssel
Dies ist mein aktuelles Schema:
<xs:element name="subroutines" type="guisubroutines_Type" minOccurs="1">
<xs:key name="Subroutine_Key">
<xs:selector xpath="subroutine"/>
<xs:field xpath="@name"/>
</xs:key>
<xs:unique name="Subroutine_Unique">
<xs:selector xpath="subroutine"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:complexType name="guisubroutines_Type" >
<xs:sequence>
<xs:element name="subroutine" type="subroutine_Type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="subroutine_Type">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
Das ist mein xml ist:
<subroutines>
<subroutine name="one"></subroutine>
<subroutine name="one"></subroutine>
</subroutines>
ich derzeit Visual Studio 2010, und es sagt, bin mit, dass diese XML gültig ist, wenn es throw tut eine Warnung, wenn der Name nicht da ist. Ich möchte, dass es eine Warnung gibt, wenn zwei Namen gleich sind.
Könnte mir bitte jemand in die richtige Richtung zeigen?
Vielen Dank für Ihre Zeit. So