如何查找清单元素的正确顺序
Office 外接程序清单中的 XML 元素必须位于正确父元素下,且在父元素下以特定的相对顺序存在。
所需的排序在 Schemas 文件夹的 XSD 文件中指定。 XSD 文件分类存放在对应任务窗格、内容和邮件三类外接程序的子文件夹中。
例如,在 <OfficeApp> 元素中 <,Id>、 <Version>、 <ProviderName> 必须按该顺序显示。 如果添加了 AlternateId> 元素,则它必须介于 Id 和 Version 元素之间。<><<> 如果任何元素的顺序出错,清单将无效并且你的外接程序将无法加载。
注意
当元素失序时, office-addin-manifest 中的验证程序 使用与元素位于错误的父级下时相同的错误消息。 该错误消息会提示子元素不是父元素的有效子级。 如果出现此类错误,而子元素的参考文档却指示它对父级是有效的,则问题很可能是子级的放置顺序出现了错误。
以下各节按清单元素必须显示的顺序显示它们。 根据 type
OfficeApp> 元素的< 属性是 TaskPaneApp
、 ContentApp
还是 MailApp
,存在差异。 为了防止这些节变得过于笨重,高度复杂的 <VersionOverrides> 元素被分解为单独的部分。
注意
并非所有显示的元素都是必需的。
minOccurs
如果在架构中元素的值为 0,则元素是可选的。
基本任务窗格加载项元素排序
<OfficeApp xsi:type="TaskPaneApp">
<Id>
<AlternateID>
<Version>
<ProviderName>
<DefaultLocale>
<DisplayName>
<Override>
<Description>
<Override>
<IconUrl>
<Override>
<HighResolutionIconUrl>
<Override>
<SupportUrl>
<AppDomains>
<AppDomain>
<Hosts>
<Host>
<Requirements>
<Sets>
<Set>
<Methods>
<Method>
<DefaultSettings>
<SourceLocation>
<Override>
<Permissions>
<Dictionary>
<TargetDialects>
<QueryUri>
<CitationText>
<DictionaryName>
<DictionaryHomePage>
<VersionOverrides>*
<ExtendedOverrides>
*有关 VersionOverrides 子元素的排序,请参阅 VersionOverrides 中的任务窗格外接程序 元素排序。
基本邮件加载项元素排序
<OfficeApp xsi:type="MailApp">
<Id>
<AlternateId>
<Version>
<ProviderName>
<DefaultLocale>
<DisplayName>
<Override>
<Description>
<Override>
<IconUrl>
<Override>
<HighResolutionIconUrl>
<Override>
<SupportUrl>
<AppDomains>
<AppDomain>
<Hosts>
<Host>
<Requirements>
<Sets>
<Set>
<FormSettings>
<Form>
<DesktopSettings>
<SourceLocation>
<RequestedHeight>
<TabletSettings>
<SourceLocation>
<RequestedHeight>
<PhoneSettings>
<SourceLocation>
<Permissions>
<Rule>
<DisableEntityHighlighting>
<VersionOverrides>*
*有关 VersionOverrides 子元素的排序,请参阅 VersionOverrides Ver. 1.0中的邮件外接程序元素排序和 VersionOverrides Ver. 1.1 中的邮件外接程序 元素排序。
基本内容外接程序元素排序
<OfficeApp xsi:type="ContentApp">
<Id>
<AlternateId>
<Version>
<ProviderName>
<DefaultLocale>
<DisplayName>
<Override>
<Description>
<Override>
<IconUrl >
<Override>
<HighResolutionIconUrl>
<Override>
<SupportUrl>
<AppDomains>
<AppDomain>
<Hosts>
<Host>
<Requirements>
<Sets>
<Set>
<Methods>
<Method>
<DefaultSettings>
<SourceLocation>
<Override>
<RequestedWidth>
<RequestedHeight>
<Permissions>
<AllowSnapshot>
<VersionOverrides>*
*有关 VersionOverrides 子元素的排序,请参阅 VersionOverrides 中的内容加载项 元素排序。
VersionOverrides 中的任务窗格外接程序元素排序
<VersionOverrides>
<Description>
<Requirements>
<Sets>
<Set>
<Hosts>
<Host>
<Runtimes>
<Runtime>
<AllFormFactors>
<ExtensionPoint>
<Script>
<SourceLocation>
<Page>
<SourceLocation>
<Metadata>
<SourceLocation>
<Namespace>
<DesktopFormFactor>
<GetStarted>
<Title>
<Description>
<LearnMoreUrl>
<FunctionFile>
<ExtensionPoint>
<OfficeTab>
<Group>
<Label>
<Icon>
<Image>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Enabled>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<CustomTab>
<Group> (can be below <OfficeGroup>)
<OverriddenByRibbonApi>
<Label>
<Icon>
<Image>
<Control>
<OverriddenByRibbonApi>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Enabled>
<Items>
<Item>
<OverriddenByRibbonApi>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<OfficeGroup> (can be above <Group>)
<Label>
<InsertAfter> (or <InsertBefore>)
<OfficeMenu>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Enabled>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Resources>
<Images>
<Image>
<Override>
<Urls>
<Url>
<Override>
<ShortStrings>
<String>
<Override>
<LongStrings>
<String>
<Override>
<WebApplicationInfo>
<Id>
<Resource>
<Scopes>
<Scope>
<EquivalentAddins>
<EquivalentAddin>
<ProgId>
<DisplayName>
<FileName>
<Type>
VersionOverrides Ver 中的邮件加载项元素排序。 1.0
<VersionOverrides>
<Description>
<Requirements>
<Sets>
<Set>
<Hosts>
<Host>
<DesktopFormFactor>
<ExtensionPoint>
<OfficeTab>
<Group>
<Label>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<SourceLocation>
<FunctionName>
<CustomTab>
<Group>
<Label>
<Icon>
<Image>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Label>
<OfficeMenu>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Resources>
<Images>
<Image>
<Override>
<Urls>
<Url>
<Override>
<ShortStrings>
<String>
<Override>
<LongStrings>
<String>
<Override>
<VersionOverrides>*
* 值为 type
VersionOverridesV1_1
的 VersionOverrides(而不是 VersionOverridesV1_0
)可以嵌套在外部 VersionOverrides 的末尾。 有关中元素的顺序,请参阅 VersionOverrides Ver. 1.1 中的VersionOverridesV1_1
邮件外接程序元素排序。
VersionOverrides Ver 中的邮件加载项元素排序。 1.1
<VersionOverrides>
<Description>
<Requirements>
<Sets>
<Set>
<Hosts>
<Host>
<DesktopFormFactor>
<ExtensionPoint>
<OfficeTab>
<Group>
<Label>
<Tooltip>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<SourceLocation>
<FunctionName>
<CustomTab>
<Group>
<Label>
<Icon>
<Image>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Label>
<OfficeMenu>
<Control>
<Label>
<Supertip>
<Title>
<Description>
<Icon>
<Image>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<Items>
<Item>
<Label>
<Supertip>
<Title>
<Description>
<Action>
<TaskpaneId>
<SourceLocation>
<Title>
<FunctionName>
<SourceLocation>
<Label>
<CommandSurface>
<MobileFormFactor>
<ExtensionPoint>
<Group>
<Label>
<Control>
<Label>
<Icon>
<Image>
<Action>
<SourceLocation>
<FunctionName>
<Control>
<Label>
<Icon>
<Image>
<Action>
<SourceLocation>
<FunctionName>
<Resources>
<Images>
<Image>
<Override>
<Urls>
<Url>
<Override>
<ShortStrings>
<String>
<Override>
<LongStrings>
<String>
<Override>
<WebApplicationInfo>
<Id>
<Resource>
<Scopes>
<Scope>
VersionOverrides 中的内容外接程序元素排序
<VersionOverrides>
<WebApplicationInfo>
<Id>
<Resource>
<Scopes>
<Scope>