XML Scheam允许指定某个元素

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XML Scheam允许指定某个元素或属性的值在一定得范围内是唯一的。为了指定元素或属性值的唯一性,可以使用<xs:unqiue>元素,使用方法为选择一组xml示例元素作为范围,然后依据上下文关系定义一个field,这里的field就是要指定的唯一性的元素或属性。

1、元素唯一性

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="/2001/XMLSchema" elementFormDefault="qualified"

attributeFormDefault="unqualified"

targetNamespace=""

xmlns:tn="">

<xs:element name="books">

<xs:complexType>

<xs:sequence>

<xs:element name="bookName" type="xs:string" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

<xs:unique name="bookUnique">

<xs:selector xpath="hn:bookName"></xs:selector>

<xs:field xpath="."></xs:field>

</xs:unique>

</xs:element>

</xs:schema>

<xs:unique name="bookUnique"> 是一个unique声明,其中“bookUnique”是unique的名字。

<xs:selector xpath="hn:bookName"></xs:selector> 用来选择一组元素,作为元素或属性唯一性的范围。xpath属性是XML路径表达式。由于<xs:selector>声明在元素<books>的声明中,可以将当前路径深度看做<books>,代表books元素下的所有bookName。

<xs:field xpath="."></xs:field> 用来指定需要指定唯一性的元素或属性。

示例xml:

<?xml version="1.0" encoding="UTF-8"?>

<tn:books xmlns:tn=""

xmlns:xsi="/2001/XMLSchema-instance">

<tn:bookName>Test Book</tn:bookName>

<tn:bookName>Test</tn:bookName>

<tn:bookName>Test Book</tn:bookName>

</tn:books>

在XMLSpy提示错误信息:

2、属性唯一性

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="/2001/XMLSchema" elementFormDefault="qualified"

attributeFormDefault="unqualified"

targetNamespace=""

xmlns:tn="">

<xs:element name="books">

<xs:complexType>

<xs:sequence>

<xs:element name="book" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="price" type="xs:decimal"/>

</xs:sequence>

<xs:attribute name="id" type="xs:integer"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:unique name="bookUnique">

<xs:selector xpath="tn:book"/>

<xs:field xpath="@id"/>

</xs:unique>

</xs:element>

</xs:schema>

<xs:field xpath="@id"/> 表示对元素employee的id属性进行唯一性约束。

xml实例:

<?xml version="1.0" encoding="UTF-8"?>

<tn:books xsi:schemaLocation=" t.xsd"

相关文档
最新文档