5 xquery
我一直在网站上阅读很多XQUERY教程.几乎所有人都在教我XQUERY语法.假设我已经理解了XQUERY语法,我将如何在我的网站上实际实现XQUERY?
例如,我有book.xml:
<?xml version="1.0" encoding="iso-8859-1" ?>
<books>
<book>
<title>Doraemon</title>
<authorid>1</authorid>
</book>
<book>
<title>Ultraman</title>
<authorid>2</authorid>
</book>
</books>
Run Code Online (Sandbox Code Playgroud)
然后,我有author.xml
<?xml version="1.0" encoding="iso-8859-1" ?>
<authors>
<author id="1">Mr A</author>
<author id="2">Mr B</author>
</authors>
Run Code Online (Sandbox Code Playgroud)
我想生成如下所示的HTML:
<table>
<tr> <td>Title</td> <td>Author</td> </tr>
<tr> <td>Doraemon</td> <td>Mr A</td> </tr>
<tr> <td>Ultraman</td> <td>Mr B</td> </tr>
</table>
Run Code Online (Sandbox Code Playgroud)
请给我一些例子.或者我可以参考的任何网站.非常感谢.
(: file: titles.xqy :)
<table>
<tr><th>title</th><th>author</th></tr>
{
let $books-doc := doc("books.xml")
let $authors-doc := doc("authors.xml")
for $b in $books-doc//book,
$a in $authors-doc//author
where $a/@id = $b/authorid
return
<tr>
<td>{$b/title/text()}</td>
<td>{$a/text()}</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
小智 0
<table>
<tr><td>Title<td><td>Author<td></tr>
{
let $authordoc := fn:doc("author.xml")
for $book in fn:doc("book.xml")/books/book
return
<tr>
<td>{ $book/title }</td>
<td>{ $authordoc/authors/author/[@id eq $book/authorid] }</td>
</tr>
}
</table>
Run Code Online (Sandbox Code Playgroud)
ps:还没有测试/执行它,但这就是一种解决方案的样子