指定文档内容类型以进行 XML 分析

上次修改时间: 2009年10月5日

适用范围: SharePoint Foundation 2010

当用户第一次将 XML 文档上载到文档库时,内置的 XML 分析程序将检查内容类型和文档模板属性,以确定要分配给文档的内容类型。在分析程序可以对文档属性进行提升或降级之前,分析程序必须确定向文档分配哪些与文档库关联的内容类型。

有关分析程序执行的旨在将文档的内容类型和与文档库关联的内容类型进行匹配的过程的详细说明,请参阅确定文档内容类型以进行 XML 分析

通过内容类型 ID 指定内容类型

分析程序查找处理指令,该指令通过内容类型 ID 指定文档的内容类型。该处理指令的位置包含在内容类型 ID 列模板的定义中。处理指令被命名为 MicrosoftWindowsSharePointServices,它包含一个名为 ContentTypeID 的属性,此属性表示文档的内容类型的 ID。

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="Content Type ID"

PITarget="MicrosoftWindowsSharePointServices"

PIAttribute="ContentTypeID"/>

默认情况下,所有库列表模板都包含一个表示内容类型 ID 的列。

将此处理指令添加到 XML 文档中。将 ContentTypeID 属性设置为文档的内容类型的 ID。

例如:

<?MicrosoftWindowsSharePointServices ContentTypeID="0x010101003D7907A1908011d082BD08005AA74F5E00A557E10DA69DBF4C8BE1E21071B08163"/>

在下列情况下,分析程序将无法确定内容类型:

  • 文档中不存在 MicrosoftWindowsSharePointServices 处理指令。

  • 处理指令未指定内容类型。

  • 指定的内容类型与文档库不关联。

  • 指定的内容类型的父级或子级与文档库不关联。

如果分析程序无法通过内容类型 ID 标识内容类型,它将执行第二项检查,下一部分将详细描述。

备注

分析程序将根据您在文档库上"内容类型 ID"列的字段定义中指定的任何文档位置来查找内容类型 ID。您可以将"内容类型 ID"列映射到您选择的任何处理指令或 XPath 表达式。然而,我们建议您遵循内容类型 ID 列模板定义中包含的默认映射,以最大限度地减少内容类型为此文档属性和与它们关联的文档库指定不同位置的可能性。这种情况将导致 XML 分析程序对于内容类型 ID 找到错误的文档位置。

通过文档模板指定内容类型

如果分析程序无法根据内容类型 ID 确定适合文档的内容类型,它将查找一条处理指令,该指令包含此文档所基于的文档模板的 URL。处理指令的名称为 mso-infoPathSolution,其中包含一个名为 href 的属性,它代表文档模板的 URL。

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="DocumentTemplate"

PITarget="mso-infoPathSolution"

PIAttribute="href"/>

此列包含在表单内容类型中,只要将该内容类型添加到库中,就会将此列添加到该库中。

因此,您可以将此处理指令添加到 XML 文档中,而不是加入内容类型 ID。将 href 属性设置为此文档所基于的文档模板的 URL。

例如:

<?mso-infoPathSolution href="http://www.adventureworks.com/templates/myTemplate.XML"?>

如果分析程序找到此处理指令,它将检查与文档库关联的内容类型,以确定是否有一种内容类型具有相同的文档模板。如果有,分析程序将该内容类型分配给文档。如果有多个与文档库关联的内容类型具有同一个匹配的文档模板,分析程序只分配第一个匹配的内容类型。

备注

分析程序根据您在文档库上"文档模板"列的字段定义中指定的任何文档位置来查找文档模板 ID。您可以将"文档模板"列映射到您选择的任何处理指令或 XPath 表达式。然而,我们建议您遵循文档模板列模板定义中包含的默认映射。这可以最大限度地减少内容类型为此文档属性和与它们关联的文档库指定不同位置的可能性。这种情况将导致 XML 分析程序对于文档模板找到错误的文档位置。

请参阅

概念

XML 文档属性升级和降级

XML 分析程序处理

使用内容类型指定 XML 文档属性

确定文档内容类型以进行 XML 分析