【发布时间】:2018-04-09 21:41:59
【问题描述】:
我需要一些关于 XSD 的帮助,我想让 itemName 唯一,也就是说你不能指定 2 个具有相同名称的项目。我在 xsd 下面尝试了这个 XML。请让我知道我哪里出错了。下面的 xml 正在使用 XSD 进行验证,但它应该返回错误。
<records>
<name>John</name>
<items>
<itemName>Dryer</itemName>
<itemPrice>20</itemPrice>
</items>
<items>
<itemName>Dryer</itemName>
<itemPrice>20</itemPrice>
</items>
</records>
XSD:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="records">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="name"/>
<xs:element name="items" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="itemName"/>
<xs:element type="xs:int" name="itemPrice"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniqueItemName">
<xs:selector xpath="itemName"/>
<xs:field xpath="."/>
</xs:unique>
</xs:element>
</xs:schema>
【问题讨论】:
标签: xml xslt xsd wsdl xsd-validation