使用XSLT进行Google自定义搜索

时间:2012-08-24 14:16:56

标签: xslt search-engine

我正在尝试将google自定义搜索引擎实施到使用xslt运行的网站。

此代码位于头部

(function() {
    var cx = '..............';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();

这个片段在身体

<gcse:search></gcse:search>

但我只得到以下错误警告:DOMDocument :: load():未定义搜索上的命名空间前缀谷歌

有些想法为什么?我需要一个特殊的xmlns吗?

干杯

2 个答案:

答案 0 :(得分:7)

我想了解https://developers.google.com/custom-search/docs/element#overview和你发布的问题。我有点猜测,但基于https://developers.google.com/custom-search/docs/element#html5尝试用<gcse:search></gcse:search>替换代码中的<div class="gcse-search"></div>,这样我希望您的XSLT输入是命名空间格式良好的,并且您尝试包含Google搜索转换结果有效。

答案 1 :(得分:1)

从上面的Martin分享的链接中了解如何 添加属性 示例:

HTML5有效div标签

只要您遵守以下准则,就可以使用HTML5有效的div标签:

  • 必须将class属性设置为 gcse-XXX
  • 任何属性都必须以 数据 - 作为前缀。

例如:

<div class="gcse-searchbox" data-resultsUrl="http://www.example.com"
     data-newWindow="true" data-queryParameterName="search" >