了解 DocIcon.xml 文件

上次修改时间: 2010年12月1日

适用范围: SharePoint Foundation 2010

名为 DocIcon.xml 的文件位于 Microsoft SharePoint Foundation 部署中的每台前端 Web 服务器上。其目的是提供一种方式来指定针对任何给定文件类型(可能会上载到列表或文档库中)显示的图标,并且(可选)指定是否应将 ActiveX 控件用于打开此文件。

DocIcon.xml 的功能

SharePoint Foundation 部署中的每台前端 Web 服务器都包含一个位于以下路径的 DocIcon.xml 文件:

%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\DocIcon.xml

此文件的用途是将文件类型与以下对象关联起来:

  • 表示列表和搜索结果中的文件类型的文档图标。

  • (可选)打开此类型的文件进行查看或编辑的 ActiveX 控件。

  • (可选)在下拉菜单中显示为上载到某个列表中的文件的编辑项("在应用程序名中编辑")的文本。

DocIcon.xml 中的设置是 SharePoint Foundation 部署的全局设置,可影响所有前端 Web 服务器上的所有网站定义。各个文件扩展名或 ProgId 只能映射至一个编辑控件、一个图标和一个显示文本字符串。此映射在整个 SharePoint Foundation 部署中都相同。您可以添加映射元素来支持其他文件扩展名和 ProgId。

警告注释警告

如果修改 DocIcon.xml,则必须在每台前端 Web 服务器上做出同样的更改,以使所有服务器保持同步。为此采用的一个好方法是:将更改作为部分服务器场级别的功能分发给 DocIcon.xml。此外,应记住,在 SharePoint Foundation 中安装更新或 Service Pack 时,或者在将安装程序升级到产品的下一版本时,对 DocIcon.xml 做出的更改可能会被覆盖。

文件格式

有关用于 DocIcon.xml 的架构的详细信息,请参阅文档图标架构。通常,此架构提供两种执行映射的方法:通过文件扩展名(例如"docx")以及通过 ProgId(例如"Word.Document")。

备注

ProgId 是一个注册表项,可用于将 COM 对象的编程标识符 (ProgID) 与其类标识符 (CLSID) 相关联。例如,注册表项 HKLM\Software\Classes\Word.Document 有一个名为 CLSID 的子项,其值为 {F4754C9B-64F5-4B40-8AF4-679732AC0607}。在此情况下,该注册表项的名称 Word.Document 就是 ProgId。因为该注册表项具有一个值为 CLSID 的子项,所以您可以使用 Word.Document 作为 {F4754C9B-64F5-4B40-8AF4-679732AC0607} 的简略形式。有关详细信息,请参阅 <ProgId> 项(该链接可能指向英文页面) (COM)

ByProgID 元素包含一系列 Mapping 元素(可将不同文件类型的程序标识符映射到文件图标),可为单击"编辑"箭头时出现的下拉菜单中的每个文件类型指定显示的文本,还可以指定打开给定类型文档时使用的控件的 ProgId。下面的示例演示了 ByProgID 节的一部分:

<DocIcons>
  <ByProgID>
    <Mapping
      Key="Excel.Sheet" 
      Value="ichtmxls.gif" 
      EditText="Microsoft Office Excel" 
      OpenControl="SharePoint.OpenDocuments" />
    <Mapping 
      Key="FrontPage.Editor.Document" 
      Value="ichtmfp.gif" 
      EditText="Microsoft Office FrontPage" 
      OpenControl="SharePoint.OpenDocuments" />
    ...
  </ByProgID>

Value 属性中引用的图像必须存储在以下路径的各前端服务器的 IMAGES 文件夹中:

%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\IMAGES

由 OpenControl 属性引用的控件必须部署在可访问 SharePoint Foundation 环境的各个客户端上。

ByExtension 元素可将文件扩展名映射到文件图标,可为在单击"编辑"箭头时出现的下拉菜单中的每个文件扩展名指定要显示的文本,还可以指定打开具有给定文件扩展名的文档时所使用的控件的 ProgId。下面的示例演示了 ByExtension 节的一部分:

  <ByExtension>
    <Mapping
      Key="asax" 
      Value="icasax.gif" />
    <Mapping 
      Key="ascx" 
      Value="icascx.gif" />
    <Mapping 
      Key="asmx" 
      Value="icasmx.gif" />
    ...
    <Mapping 
      Key="mpp" 
      Value="icmpp.gif" 
      EditText="Microsoft Office Project" 
      OpenControl="SharePoint.OpenDocuments" /> 
    <Mapping 
      Key="mps" 
      Value="icmps.gif" /> 
    <Mapping 
      Key="mpt" 
      Value="icmpt.gif" 
      EditText="Microsoft Office Project" 
      OpenControl="SharePoint.OpenDocuments" />
    ...
  </ByExtension>

Default 元素可指定未在 DocIcon.xml 中指定的文件类型所使用的默认图像文件,如下面的示例中所示。

  <Default>
    <Mapping Value="icgen.gif" />
  </Default>
</DocIcon

备注

为了解决冲突,ByProgID 优先于 ByExtension。但是,网站定义的 Onet.xml 文件中指定的文档模板仅适用于 ByExtension 元素中指定的文件类型。

请参阅

概念

文档图标架构

如何:向网站定义中添加文档模板、文件类型和编辑应用程序