根据微软的Office附加文档。清单中的Requirements
element指定“... Office加载项需要激活的Office API要求的最小JavaScript API集。”
我无法找出放置该元素的正确位置。上面链接的文档说Requirements
是OfficeApp
的孩子,但卖方仪表板和清单验证器都说这是不正确的:
详细信息:名称空间“http://schemas.microsoft.com/office/appforoffice/1.1”中的元素“OfficeApp”在名称空间“http://schemas.microsoft.com/office/appforoffice/1.1”中具有无效的子元素“要求”。期望的可能元素列表:命名空间'http://www.w3.org/2000/09/xmldsig#'中的任何元素。
我读过的所有文档,SO问题等等,都只包括以下代码:
<Requirements>
<Sets DefaultMinVersion="1.1">
<Set name="WordApi" />
<Set name="ExcelApi" />
</Sets>
</Requirements>
但那些片段并没有说使用<Requirements>
的父母。
Requirements
在Office加载项清单文件中的位置?
<Requirements>
元素在<Hosts>
之后和<DefaultSettings>
之前。
我注意到这一点:
<Hosts>
是<OfficeApp>
儿童序列中的最后一个元素(schema link)<Requirements> is the first element in a subsequently-defined extension to
`(schema link)<extension>
元素总是追加到被扩展的基本元素(参见,例如,this SO answer)我通过将<Requirements>
放在文件的不同位置来测试这个。将<Requirements>
放在<Hosts>
之后和<DefaultSettings>
之前是唯一有效的位置。 (把<Requirements>
作为第一个孩子不起作用。)
感谢用户Rick Kirkham,他现在删除的答案指向了模式定义。