对不同的GSA XML Feed格式感到困惑

时间:2013-10-15 23:10:56

标签: xml xslt soap salesforce google-search-appliance

在此页面https://developers.google.com/search-appliance/documentation/64/feedsguide上,它讨论了以<:p>开头的XML输入源

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" "">
<gsafeed>
    <header>
        <datasource>sample_feed</datasource>
        <feedtype>full</feedtype>
    </header>
    <group>
        <record url="http://www.localhost.test.com/" action="add" mimetype="text/html">
            <content><![CDATA[ ...
    ...etc...

但奇怪的是,在SalesForce连接器中,SOAP XSLT的OUTPUT(我认为然后发送给Google)看起来像:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<documents>
  <document>
    <spiheaders>
      <spiheader name="DEFAULT_MIMETYPE">text/html</spiheader>
      <spiheader name="PROPNAME_ACTION">add</spiheader>
      <spiheader name="PROPNAME_CONTENTURL">https://cs2.salesforce.com/500i0000002gIysAAE</spiheader>
      <spiheader name="PROPNAME_DISPLAYURL">https://cs2.salesforce.com/500i0000002gIysAAE</spiheader>
      <spiheader name="PROPNAME_DOCID">500i0000002gIysAAE</spiheader>
      <spiheader name="PROPNAME_ISPUBLIC">true</spiheader>
      <spiheader name="PROPNAME_MIMETYPE">text/html</spiheader>
      <spiheader name="PROPNAME_SEARCHURL"/>
      <spiheader name="PROPNAME_SECURITYTOKEN"/>
    </spiheaders>
    <metadata>
      <meta name="CaseNumber">00001000</meta>
    </metadata>
    <content encoding="none"><![CDATA[
        ...
...etc...

我相信SaleForce最初会返回带有自己字段的SOAP XML,但是连接器会将您选择的XSLT转换为发往Google Appliance的XML。

<gsafeed>对于一些较旧的<documents>方言来说,只是一种较新的GSA方言吗?

注意:我在google上搜索过,但我一直在寻找SalesForce特定文档。像“文档”这样的搜索术语并不是很有帮助。

1 个答案:

答案 0 :(得分:1)

你所看到的是正确的。发送到GSA的订阅源XML包含记录。每个文档将有一个记录条目被输入。

通常,在编写自定义连接器时,您需要构建一个包含文档元数据的文档列表(如果是内容源,则为内容),将其传递给Connector Manager并将其转换为Feed并将其发送给GSA 。您包含的第二个XML看起来像是这种文档列表的XML表示。

所以为了回答你的问题,没有 - gsafeed不是GSA的一种较新的方言,超过一些旧的文件方言。

如果您想了解更多细节,请查看Connector Developers Guide