[英]XML schema primary key
我正在尝试为员工创建XML数据库,但是该模式存在问题。
对于每个员工,我有四个要素:姓名,姓氏,ID和电子邮件。 如何将ID设置为主键,将电子邮件设置为唯一键?
我尝试此作为主键:
<xs:key msdata:PrimaryKey="true" type="xs:string" name="ID"/>
但它不起作用。 这是我所有的XML代码:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="employees">
<xs:complexType>
<xs:sequence>
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Name"/>
<xs:element type="xs:string" name="Surname"/>
<xs:element type="xs:string" name="ID"/>
<xs:element type="xs:string" name="e-mail"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="empl-key">
<xs:selector xpath="employee"/>
<xs:field xpath="@ID"/>
</xs:key>
</xs:element>
</xs:schema>
提前致谢。
基本思想是,如果希望公司中的每个员工都具有唯一的ID,则可以在Company元素级别创建一个xs:key定义,其中xs:selector路径从Company元素中选择Employee节点,并且xs:field路径从Employee节点中选择ID节点。 就像是
<xs:element name="Company">
....
<xs:key name="empl-key">
<xs:selector xpath="Employee"/>
<xs:field xpath="@ID"/>
</xs:key>
</xs:element>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.