XQuery:函数" doc"工作

时间:2015-05-16 16:07:23

标签: xml xquery

我正在使用XQuery tester来学习XML和XQuery。

Here是我正在测试的一个简单示例。

如果我将上面的整个xml文件复制到XQuery测试器并尝试这个xquery /bookstore/book/title,我可以得到我想要的东西。

现在我尝试使用函数doc()
我不知道它是如何工作的。我知道这个函数需要一个参数作为xml文件。所以我认为我们需要文件的整个路径。但是在上面的例子中,它只是说我们可以像这样使用这个函数:doc("books.xml")。我很困惑:在哪里" books.xml"?

我还尝试创建一个名为" books.xml"的xml文件。在我的电脑中传递如下参数:doc("C:\Users\lenovo\Desktop\books.xml")但我收到了错误:Premature end of file

有人可以告诉我如何使用函数doc()吗?

2 个答案:

答案 0 :(得分:1)

函数doc()获取URI作为参数。 URI是XML文档的名称。该XML文档作为调用函数的值返回。您的处理器可以定义从URI名称到文件系统的映射,或者存储在数据库中的文档或其他任何内容。

在您的情况下,您似乎正在通过网页使用处理器。它允许您从本地文件系统解析doc()的可能性非常低,因为(几乎)网页无法访问主机的文件系统。

以下面板似乎允许您粘贴文档的内容(然后用于显示评估查询的结果,这有点奇怪)。

如果您需要有关dcc()在XPath测试程序上的行为的更多详细信息,我担心您需要直接询问它们。

答案 1 :(得分:0)

您必须使用 URI 命名约定,在您的示例中为 doc("file:///C:/Users/lenovo/Desktop/books.xml")。那当然是在 Windows 中。