了解 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 元素中指定的文件类型。