定制 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。