跳到内容

XQuery/维基武器页面

来自 Wikibooks,开放世界的开放书籍

在 Matt Turner 的博客里,他使用 MarkLogic 从维基页面中获取一个中世纪武器列表,作为莎士比亚戏剧文本丰富化的第一步。

这是使用仅有的标准 XQuery 函数完成的另一项尝试。同样,我们很幸运维基页面是格式良好的 XML。

declare namespace h= "http://www.w3.org/1999/xhtml" ;

let $url := "http://en.wikipedia.org/wiki/List_of_medieval_weapons"
let $wikipage := doc($url)
return 
    string-join($wikipage//h:div[@id="bodyContent"]//h:li[h:a/@title][empty(h:ul)]/h:a,',')

这里的复杂路径可以确保仅包含相关的li 标记,并且仅包含术语层次结构中的终端,因此可以检查li 是否没有ul 子元素。

华夏公益教科书