XSD的xs:key和xs:keyref怎么实现主键外键约束

admin 百科 16
xs:key和xs:keyref是在XSD中实现XML实例内引用完整性验证的机制,非数据库主外键;xs:key定义作用域内唯一非空标识,xs:keyref强制字段值匹配某xs:key值,二者均受限于作用域、简单XPath及单文档约束。

XSD的xs:key和xs:keyref怎么实现主键外键约束-第1张图片-佛山资讯网

xs:keyxs:keyref 是 XSD 中用于在 XML 文档内实现“类主键-外键”约束的机制,但要注意:它们**不是数据库意义上的主外键**,而是在 XML 实例验证阶段强制要求的引用完整性检查,不涉及存储或执行逻辑。

xs:key 定义唯一标识(类似主键)

它声明某个元素(或属性)的值在整个文档范围内必须唯一,且非空。常用于标记“可被引用的主标识”。

  • 必须放在 <element></element><complextype></complextype> 内的 <unique></unique><key></key><keyref></keyref> 中(推荐用 <key></key> 表示主标识)
  • 作用域是其所在元素及其所有后代(即“当前作用域”),不是整个文档全局——这点容易误解
  • <selector></selector> 指定候选元素范围,用 <field></field> 指定提取哪个字段(支持 XPath 表达式,但仅限一级路径如 @idname

示例:为每个 <book></book> 定义唯一 isbn

标签: java 工具 ai 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~