未来之路

THE ROAD TO THE FUTURE

翻译 使用W3C XML Schema(6)收藏

新一篇: 使用W3C XML Schema(7) | 旧一篇: 使用W3C XML Schema(5)

约束

Unique

W3C XML Schema 提供了几种灵活的基于XPath的特性,其描述了唯一性约束和一致性引用约束。首先,一个简单的唯一性声明,使用xs:unique元素进行声明。下面的声明建立在我们的book元素的名称必须唯一的前提下:

<xs:unique name="charName"> 
<xs:selector xpath="character"/> 
<xs:field xpath="name"/> 
</xs:unique> 

xs:unique 元素在schema中的位置,给出了内容节点,其中包括了约束。靠在book元素插入xs:unique,我们指定了在全文中此book名称必须唯一。

唯一性约束中定义的两个XPath 相对符合内容节点。第一个使用selector元素定义,目的是定义拥有该唯一性约束的元素——selector指向的节点必须是一个元素节点。

第二个路径,在xs:field元素中定义的,是相对于xs:selector所标识的元素,其可以是一个元素或者一个属性节点。这就是一个其值将会被检查唯一性的节点。组合值可以通过在xs:unique中添加另外的xs:field元素来实现。

Key

第二个结构,xs:key,和xs:unique类似,除了其值不能为null(注意xs:unique和xs:key都可以被引用)。要使用一个字符串名称作为一个key,我们可以通过使用xs:key替换xs:unique实现。

<xs:key name="charName"> 
<xs:selector xpath="character"/> 
<xs:field xpath="name"/> 
</xs:key> 

Keyref

第三个结构,xs:keyref,允许我们的那个有一个到xs:key或xs:unique的引用。要显示它的用法,我们将介绍friend-of 元素,将会针对字符串使用。

<character> 
<name>Snoopy</name> 
<friend-of>Peppermint Patty</friend-of> 
<since>1950-10-04</since> 
<qualification> 
extroverted beagle 
</qualification> 
</character>

为了显示friend-of需要从同一本书参考一个字符,我们将会写,在同一个层次我们定义一个key约束,如下:

<xs:keyref name="charNameRef" refer="charName">
  
<xs:selector xpath="character"/>
  
<xs:field xpath="friend-of"/>
</xs:keyref>

 

这些功能基本独立于schema中的其他特性。它们从数据类型的定义中断开。唯一固定它们到schema的是它们被定义的位置,其中确定唯一性约束的范围。

 

发表于 @ 2008年03月31日 13:22:00|评论(loading...)|编辑

新一篇: 使用W3C XML Schema(7) | 旧一篇: 使用W3C XML Schema(5)

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © abigfrog