Я, по общему признанию, новичок в Schema, и я пытаюсь получить уникальный атрибут, чтобы быть уникальным в наборе. Мне также нужно, чтобы это значение было ключевым, так как оно будет упоминаться в другом месте.XML Schema Unique Keys
Это моя текущая схема:
<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>
Это мой XML:
<subroutines>
<subroutine name="one"></subroutine>
<subroutine name="one"></subroutine>
</subroutines>
настоящее время я использую Visual Studio 2010, и он говорит, что это XML является действительным, если он делает бросок предупреждение, если имя не существует. Я бы хотел, чтобы он бросил предупреждение, если два имени совпадают.
Может ли кто-нибудь указать мне в правильном направлении?
Спасибо за ваше время.