Xsd 使用不带命名空间声明的唯一
有人能解释为什么元素上的唯一标识约束不起作用,除非元素带有名称空间前缀吗?这使我相信,唯一约束只能应用于全局定义的元素。我不知道为什么一个独特的构造不能放在一个局部破坏的元素上。在下面的示例模式中,我在Writer.name上定义了一个唯一的约束,该约束可以正常工作。我还在Test.name上定义了一个,除非我创建了Test和它的chiled名称global元素,否则它不会工作Xsd 使用不带命名空间声明的唯一,xsd,Xsd,有人能解释为什么元素上的唯一标识约束不起作用,除非元素带有名称空间前缀吗?这使我相信,唯一约束只能应用于全局定义的元素。我不知道为什么一个独特的构造不能放在一个局部破坏的元素上。在下面的示例模式中,我在Writer.name上定义了一个唯一的约束,该约束可以正常工作。我还在Test.name上定义了一个,除非我创建了Test和它的chiled名称global元素,否则它不会工作 <schema targetNamespace="http://www.amica.com/dev_v1/Tes
<schema targetNamespace="http://www.amica.com/dev_v1/Test" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.amica.com/dev_v1/Test" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<element name="MyMusic">
<complexType>
<sequence>
<element name="Song" type="tns:SongType"/>
</sequence>
</complexType>
</element>
<complexType name="SongType">
<sequence>
<element ref="tns:Artists"/>
<element ref="tns:Writers"/>
<element name="Tests">
<complexType>
<sequence>
<element name="Test" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="name"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<unique name="UniqueTestName">
<selector xpath="Test"/>
<field xpath="name"/>
</unique>
</element>
</sequence>
</complexType>
<element name="Artist">
<complexType>
<simpleContent>
<extension base="string">
<attribute name="aID" use="required">
<simpleType>
<restriction base="string"/>
</simpleType>
</attribute>
</extension>
</simpleContent>
</complexType>
</element>
<element name="Writer">
<complexType>
<sequence>
<element ref="tns:name"/>
</sequence>
</complexType>
</element>
<element name="Artists">
<annotation>
<documentation>Test unique constraint on an attrbute</documentation>
</annotation>
<complexType>
<sequence>
<element ref="tns:Artist" maxOccurs="unbounded"/>
</sequence>
</complexType>
<unique name="UniqueArtistKey">
<selector xpath="tns:Artist"/>
<field xpath="@aID"/>
</unique>
</element>
<element name="Writers">
<annotation>
<documentation>Test unique constraint on an element</documentation>
</annotation>
<complexType>
<sequence>
<element ref="tns:Writer" maxOccurs="unbounded"/>
</sequence>
</complexType>
<unique name="UniqueWriterName">
<selector xpath="tns:Writer"/>
<field xpath="tns:name"/>
</unique>
</element>
<element name="name" type="string"/>
</schema>
它适用于我-一旦我指定了名称的类型:。我正在使用Visual Studio 2010 XML编辑器内置的XSD验证。它适用于我-一旦我指定了名称的类型:。我正在使用VisualStudio2010 XML编辑器内置的XSD验证。