1

我试图弄清楚 XQuery 是否是我正在从事的项目的一个很好的解决方案。我以前没有真正使用过它,我正在尝试遵循简单的教程。我在这里尝试这个:http: //www.w3schools.com/xquery/xquery_add.asp

看起来很简单,但根据我从中得到的印象,我无法让它发挥作用。这对我说的是我必须创建一个包含以下内容的 HTML 文档:

<html>
<body>

<h1>Bookstore</h1>

<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Category: {data($x/@category)}</li>
}
</ul>

</body>
</html> 

这会查询 XML 文档:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<bookstore>

<book category="COOKING">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

看起来这并不简单,因为浏览器将数据解释为语法不正确的 HTML。我尝试将 HTML 代码添加到 XML 文件,但再次显示不正确的 XML 格式。您是否应该将其用作 XSLT 文件而不是 HTML?这可能是一个愚蠢的问题,但对于“在 HTML 页面中运行 XQuery 需要什么?”这个问题,我没有找到直接的答案。为什么本教程不澄清您需要第三方库或 API 或其他东西。我没有正确引用xml文件吗?或者我只是愚蠢(这可能是一种可能性)?

4

1 回答 1

1

XQuery(正如 Eric Bloch 所说)通常在服务器上运行。

如果您想在浏览器中运行 XQuery,您应该查看http://www.xqib.org/——它使用Micro XQuery引擎,该引擎是用 Java 编写并交叉编译为 Javascript。

于 2013-06-19T17:53:38.037 回答