繁体   English   中英

XQuery 和 idref

[英]XQuery and idref

一个真正的 XQuery 初学者问题,但我似乎无法解决我的问题。

我有一个 XML 数据库videos.xml,其中演员和电影作为节点存储(我认为?)

演员都有单独的 ID,但它们不是作为属性存储的,而是作为其他东西存储的(是否有一些 ID 的内置属性?)。 这些电影都有一个或多个引用 actor-ID 的 actorRef 属性。

我现在要查询的是所有引用某个演员 ID 的电影。 假设 Keanu Reeves 的 ID 为“001”,那么我们想要找到所有引用此 ID 的电影 -> 例如 Matrix 和 The Devil's Advocate。 是否有一些内置功能?

同意需要更多评论者的意见,但您似乎正在寻找函数系列fn:id()fn:idref()以及 XPath 和 XQuery 函数和运算符规范 3.1 版的新功能fn:element-with-id() 以下是规范中的一些插图:

let $emp :=
    <employee xml:id="ID21256">
        <empnr>E21256</empnr>
        <first>John</first>
        <last>Brown</last>
    </employee>

表达式id('ID21256')/name()返回"employee" xml:id属性具有is-id属性,因此员工元素被选中。)。

表达式element-with-id('E21256')/name()也返回"employee" (假设empnr元素的类型为xs:ID作为模式验证的结果,该元素将具有is-id属性并因此被选中。)

表达式idref('ID21256')将返回引用employee元素的任何元素或属性。 (假设引用节点的类型为xs:IDREFxs:IDREFS作为模式验证的结果,该节点将具有is-idrefs属性。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM