XQuery and idref



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

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

角色都有单独的id,但它们不是作为属性存储的,而是作为其他东西存储的(可能有一些内置的id属性吗?)所有电影都有一个或多个actorRef属性引用actor- id。

我现在要查询的是引用某个演员id的所有电影。假设基努·里维斯的ID是"001",那么我们想要找到所有引用这个ID的电影->例如《黑客帝国》和《魔鬼代言人》。有一些内置的功能吗?

同意评论者的意见,需要更多,但您似乎正在寻找函数族,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属性,因此选择employee元素)。

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

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

相关内容

  • 没有找到相关文章

最新更新