引用 XML 中的另一个元素

Ram*_*der 5 xml xslt xpath

我正在尝试为我的应用程序设计一个 XML 文档结构。

我想存储如下的孔列表

<Holes>
 <Hole id='1' dia='0.1' depth='2'/>
 <Hole id='2' dia='0.2' depth='1.67'/>
 <Hole id='3' dia='0.3' depth='0.44'/>
</Holes>
Run Code Online (Sandbox Code Playgroud)

在我文档的另一部分中,我想通过 id 来引用一个洞。例如

<Drill useHoleWithId='1'/>
Run Code Online (Sandbox Code Playgroud)

当我的代码在 <Drill> 元素上方找到时,我希望它检索 id='1' 的 <Hole> 元素中 'dia' 和 'depth' 属性的值。

当然,我可以搜索 id 等于 'useHoleWithId' 值的 <Hole> 元素,然后获取属性的值,但我想也许有更好的方法来使用一些 XML 技巧来做到这一点。在那儿?

PS - 虽然我对它们一无所知,但 XPath、XLink、XQuery 或 XPointer 中的任何一个都可能有所帮助。

Pau*_*xon 4

XPath 无疑是实现这一目标的一种方法。查找 id 为 1 的保留的 Xpath 查询类似于Holes/Hole[@id="1"]