在验证XML数据库时,我想到了以下想法:我应该使用Google过滤所有单词。那些点击次数低于100的单词会有点怀疑。
但是如何使用XSLT实现这一目标?我成功地隔离了每个单词。但是,我怎样才能获得每个单词的Google点击次数?我完全不知道,https://developers.google.com/根本没有帮助。
(我们正在谈论大约4000个单词。我认为Google服务器不会因4000个请求而崩溃。)
答案 0 :(得分:0)
理论上可以基于这种想法建立转换(而非验证) ,如果你能找到一种方法来获取谷歌的点击次数XML格式 。它只需要有趣地使用document()
function.
让我们说我有一个XML文档,并希望只输出具有超过1000次谷歌点击的某些元素。我们假设我们希望根据文档中的<term>
元素进行限制,并从identity transform开始。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- Interesting code starts here: -->
<xsl:template match="term">
<!-- you need to find out what this is -->
<xsl:variable name="google" select="'www.google.com/funkyXMLAPI?search='"/>
<xsl:variable name="term" select="."/>
<xsl:variable name="uri" select="concat($goog,$term)"/>
<!-- Again, you'll need to findout what the path to the number of hits is -->
<xsl:variable name="hits" select="document($uri)//path/to/numberOfHits"/>
<!-- If there are more than 1000 hits, then copy it across -->
<xsl:if test="$hits > 1000">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
<xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
同样,这一切都取决于是否存在以可预测的XML格式返回信息的Google搜索API。