定制 Exchange ActiveSync XSLT 文件

如果知道查找操作将返回哪些字段,就可以将这些字段映射到设备上的字段。

对于 ActiveSync 设备(如 Apple、BlackBerry 10 和 Windows)的映射通过定制文件 nameLookup-AS.xslt 来完成。该文件位于 data\traveler\cfg\namelookupTemplate 目录中。要定制该文件,请创建名为 data\traveler\cfg\namelookup 的新目录,并将文件复制到该目录。请仅定制复制的文件,因为升级期间将覆盖 namelookupTemplate 目录中的版本,同时所有更改都将丢失。首次创建此文件时需要重新启动服务器,重启之后将动态选取对文件的更改。

缺省情况下,此文件配置为将标准 Domino® 目录字段映射到设备字段。设备可以使用/理解的字段由 Exchange ActiveSync 协议定义。当前仅定义了以下字段:
  • DisplayName
  • Phone
  • Title
  • Company
  • Alias
  • FirstName
  • LastName
  • HomePhone
  • MobilePhone
  • EmailAddress
缺省情况下,Domino 目录字段 OfficePhoneNumber 映射到设备字段 Phone,如下所示。
<xsl:call-template name="MapField">
        <xsl:with-param name="OldValue">
          <xsl:value-of select="OfficePhoneNumber"/>
        </xsl:with-param>
        <xsl:with-param name="NewName">Phone</xsl:with-param>
      </xsl:call-template>
如果 LDAP 改为使用名为 WorkPhone 的字段名称,那么除了将 WorkPhone 添加到 nameLookupFields 之外,您还应将 ActiveSync XSLT 按以下类似内容进行更改:
<xsl:call-template name="MapField">
        <xsl:with-param name="OldValue">
          <xsl:value-of select="WorkPhone"/>
        </xsl:with-param>
        <xsl:with-param name="NewName">Phone</xsl:with-param>
      </xsl:call-template>
缺省情况下,由于 ActiveSync 协议未定义中间名首字母字段,因此中间名首字母会附加到 FirstName 字段。
<xsl:element name="FirstName" xmlns="GAL:"> 
        <xsl:value-of select="normalize-space(concat(FirstName, ' ', MiddleInitial))"/>
      </xsl:element>
与此类似,如有需要您可以将名称前缀(Mr.、Dr.、Ms.)添加到“名”字段。假设 LDAP 字段名称是 NamePrefix,那么 XSLT 会与以下内容类似:
<xsl:element name="FirstName" xmlns="GAL:"> 
        <xsl:value-of select="normalize-space(concat(NamePrefix, ' ', FirstName, ' ', MiddleInitial))"/>
      </xsl:element>

不必对 XSLT 文件进行大的更改。然而,如果需要有关 XSLT 的更多信息,请参阅 http://www.w3.org/TR/xslt