0

可能不难,但我找不到正确的命令和语法:

我打开了一个包含多个 XML 文档的 BaseX 数据库:

/document-uri()

看起来像这样

/dirA/dirA1/x01.xml
/dirA/dirA1/x02.xml
/dirA/dirA2/x03.xml
/dirA/dirA3/dirA31/x04.xml
/dirA/dirA3/dirA31/x05.xml
/dirA/dirA3/dirA32/x06.xml
/dirB/dirB1/x07.xml
/dirB/dirB2/x08.xml
/dirC/dirC1/x09.xml
/dirC/dirC2/dirC11/x10.xml
/dirD/dirD1/dirD11/x11.xml
/dirE/dirE1/dirE11/x12.xml

我正在寻找的是一个 XQuery,它通过 URI 选择一个文档并将其用作 XPath 上下文,s.th。像这样:

document("/dirA/dirA1/x01.xml")/root/foo

另一个也非常有用:选择目录路径中的所有文档(递归:))

document("/dirA/dirA1/")/root/foo
4

1 回答 1

0

有一个doc功能所以doc('/dirA/dirA1/x01.xml')应该选择文件。还有一个collection功能可能允许您选择collection('/dirA/dirA1'),收集功能的确切用途取决于 XQuery 处理器以及您如何在 BaseX 中设置数据库。

所以基本上doccollection函数应该在 XQuery 中有所帮助。只有 XSLT 有一个document您在示例中使用过的函数。

于 2020-04-21T15:19:56.630 回答