【问题标题】:Execute XQuery with BaseX使用 BaseX 执行 XQuery
【发布时间】:2014-06-09 13:43:57
【问题描述】:

我正在尝试使用BaseX 运行XQuery,但没有成功。我试过输入如下命令:

doc("Bookstore.xml")//Bookstore
//Bookstore
XQUERY[//Bookstore]

我收到以下错误消息:

Stopped at C:/tools/libxml/file, 1/32:
Unknown command: doc("Bookstore.xml")//Bookstore. Try HELP.

Stopped at C:/tools/libxml/file, 1/12:
Unknown command: //Bookstore. Try HELP.

Stopped at C:/tools/libxml/file, 1/20:
Unknown command: XQUERY[//Bookstore]. Try HELP.

每当我尝试点击执行查询。我怎样才能使它真正起作用?我正在观看Stanford tutorials,但那里显示的那些命令不适用于BaseX

您可以在下面看到 file 我正在尝试查询以用于教育目的。

<?xml version="1.0" ?>
<!--Bookstore with no DTD-->

<Bookstore>
   <Book ISBN="ISBN-0-13-713526-2" Price="85" Edition="3rd">
      <Title>A First Course in Database Systems</Title>
      <Authors>
         <Author>
            <First_Name>Jeffrey</First_Name>
            <Last_Name>Ullman</Last_Name>
         </Author>
         <Author>
            <First_Name>Jennifer</First_Name>
            <Last_Name>Widom</Last_Name>
         </Author>
      </Authors>
   </Book>
   <Book ISBN="ISBN-0-13-815504-6" Price="100">
      <Remark>
      Buy this book bundled with "A First Course" - a great deal!
      </Remark>
      <Title>Database Systems: The Complete Book</Title>
      <Authors>
         <Author>
            <First_Name>Hector</First_Name>
            <Last_Name>Garcia-Molina</Last_Name>
         </Author>
         <Author>
            <First_Name>Jeffrey</First_Name>
            <Last_Name>Ullman</Last_Name>
         </Author>
         <Author>
            <First_Name>Jennifer</First_Name>
            <Last_Name>Widom</Last_Name>
         </Author>
      </Authors>
   </Book>
</Bookstore>

编辑

【问题讨论】:

    标签: xml xsd xquery basex


    【解决方案1】:

    如果您正在运行 BaseX 命令,例如在 BaseX 命令行客户端 或 GUI 命令输入行中,您必须在查询前加上命令 XQUERY。 BaseX 命令与其参数用空格分隔,因此在您的情况下,运行任何

    XQUERY //Bookstore
    XQUERY doc('Bookstore.xml')//Bookstore
    

    取决于文档(数据库)是否已经打开。

    如果您使用的是BaseX GUI,您也可以直接将查询放入查询窗口,那么您根本不需要XQUERY 命令前缀,直接其中之一(如上)

    //Bookstore
    //doc('Bookstore.xml')//Bookstore
    


    无论如何:您可能希望使用/Bookstore 代替:至少如果我猜对了并且您想查询根元素,而不是整个文档中的所有&lt;Bookstore/&gt; 元素。

    【讨论】:

    • 感谢 Jens 对我工作的指导。我在GUI 上,我想问一下:有两个播放按钮:1)我们可以在您发布的图片中看到第一个,2)我们输入命令的框右侧的播放按钮。如果我按下第一个播放按钮,它会执行查询,如果我按下第二个它会显示未知命令。你知道为什么吗?
    • 我更新了指向“播放按钮”的图像。上一个用于命令,下一个用于查询。您不应该将 XML 文件作为文件加载,而是从它创建一个数据库(使用 Database -> New)。在放置 XML 文档的地方,您应该编写查询。
    • BaseX documentation 提供了有关如何使用 GUI 的更多信息。
    • 感谢你们让我摆脱了巨大的僵局!
    • 如何从文件中执行 XQuery?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多