单击链接时进入一个指针,它指向一个同义词集,而不是某个单词。这里选择了一种更简单的显示方式,用方括号表示同义词集中的所有单词,包括注解和到其他同义词集的链接。清单 2 中的 XSLT 被设计成能够显示完整的词型信息以及单个同义词集的信息。Web 服务器中处理指针 URL 的代码是 清单 1 中的 pointer_handler.default 类。如您所见,它从 URL 中接受两个值。http://localhost:8080/pointer/noun/5955443 这样的 URL 变成了对 pointer_handler.default 的调用,包括 noun 和 WordNet 偏移量 5955443。非常重要的一点是,每个注解之前出现的词型被呈现为链接,这意味着通过单击英文单词间的很多联系可以导航到整个 WordNet 数据库。
只要 XML
这个 WordNet Web 服务器还允许使用 http://localhost:8080/raw/... 这种形式的 URL 得到单词的原始 XML。 我认为对于使用 XML 的 Web 应用程序,直接在 Web 上公开这些 XML 和准备好在浏览器中使用的 HTML 一样非常重要。这样,您或其他人就很容易构建其他应用程序通过直接处理 XML 来扩展功能,而不是从屏幕显示的 HTML 中摘取。为了说明这一点,清单 3 中的示例 XSLT 代码从服务器上查询原始 XML 然后处理它。它接受一个单词列表,然后输出同样的列表,但是增加了每个单词的定义。
清单 3. 查询主 WordNet 服务器的示例 XSLT
?xml version="1.0" encoding="utf-8"?xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:template match="word-list" xsl:copy xsl:apply-templates/ /xsl:copy /xsl:template xsl:template match="word" !-- The word form to look up is the element content -- xsl:variable name="wordform" select="."/ !-- Use the word form to construct the query URL -- xsl:variable name="wordnet-url" select="concat('http://localhost:8080/raw/', $wordform)"/ !-- Query the WordNet server, retrieving an XML document -- xsl:variable name="wordnet-info" select="document($wordnet-url)"/ !-- Grab the first gloss from the retrieved WordNet document -- xsl:variable name="gloss" select="$wordnet-info//gloss[1]"/ xsl:copy formxsl:value-of select="."//form sample-glossxsl:value-of select="$gloss"//sample-gloss /xsl:copy /xsl:template/xsl:stylesheet
对清单 4(wordlist.xml)中的测试文档运行该 XSLT 将得到 清单 5 所示的结果。
清单 4. 用于清单 3 转换的单词清单文档(wordlist.xml)
word-list wordanimal/word wordvegetable/word wordmineral/word/word-list
清单 5. 将清单 3 XSLT 用于清单 4 测试 XML 得到的结果
?xml version="1.0" encoding="UTF-8"?word-list wordformanimal/formsample-glossa living organism characterized by voluntary movement/sample-gloss/word wordformvegetable/formsample-glossedible seeds or roots or stems or leaves or bulbs or tubers or nonsweet fruits of any of numerous herbaceous plant/sample-gloss/word wordformmineral/formsample-glosssolid homogeneous inorganic substances occurring in nature having a definite chemical composition/sample-gloss/word/word-list
为了格式目的,清单 5 中增加了空格。sample-gloss 的内容来自对 WordNet 服务器的动态查询。这仅仅是说明 WordNet 与 XML 结合起来的强大功能的又一个例子。
结束语
我准备继续研究 XML 形式的 WordNet 的实际应用。将来的主题包括把 WordNet 公开为 RDF 数据库来改进搜索。同时,请把您的想法提交到 Thinking XML 讨论论坛。
本文示例代码或素材下载
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)