Word任务窗格插件清单XML Schema验证错误(Title字段相关)
Word任务窗格插件清单XML Schema验证错误(Title字段相关)
嗨,我来帮你搞定这个清单验证的问题~
你遇到的这个报错逻辑很清晰:在http://schemas.microsoft.com/office/taskpaneappversionoverrides这个命名空间下的<Action>元素里,根本不允许放<Title>子元素,官方Schema里只定义了TaskpaneId和SourceLocation是它的合法子节点,所以office-addin-manifest validate工具才会抛出这个XML Schema验证错误。
不过别担心,咱只要把<Title>挪到正确的位置就行,给你说具体怎么做:
1. 调整<Title>的配置位置
任务窗格的标题配置,应该放在<ExtensionPoint xsi:type="TaskpaneCommand">节点下面,而不是塞到<Action>里面。举个符合规范的清单片段示例:
<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0"> <Hosts> <Host xsi:type="Document"> <DesktopFormFactor> <FunctionFile resid="Commands.Url" /> <!-- 任务窗格的命令扩展点 --> <ExtensionPoint xsi:type="TaskpaneCommand"> <TaskpaneId>Taskpane1</TaskpaneId> <Title resid="Taskpane1.Title" /> <!-- Title要放在这里! --> <SourceLocation resid="Taskpane1.Url" /> </ExtensionPoint> </DesktopFormFactor> </Host> </Hosts> <!-- 资源定义部分,要确保Taskpane1.Title在这里有对应的值 --> <Resources> <bt:ShortStrings> <bt:String id="Taskpane1.Title" DefaultValue="我的自定义任务窗格" /> </bt:ShortStrings> <bt:Urls> <bt:Url id="Taskpane1.Url" DefaultValue="https://你的任务窗格地址" /> </bt:Urls> </Resources> </VersionOverrides>
2. 修正原来的<Action>节点
把你原来<Action>里的<Title>删掉,只保留Schema允许的两个元素:
<Action xsi:type="ShowTaskpane"> <TaskpaneId>Taskpane1</TaskpaneId> <SourceLocation resid="Taskpane1.Url" /> </Action>
3. 确认资源定义的正确性
要保证Taskpane1.Title这个资源ID,在<Resources>的<bt:ShortStrings>里有正确的默认值(如果需要多语言支持,也可以在这里补充对应语言的定义),这样任务窗格的标题才能正常显示出来。
另外补充一句:虽然你本地侧载的时候功能正常,但清单验证是为了确保你的插件符合微软的官方规范,这样后续提交到Office商店或者部署到生产环境时才不会因为结构问题踩坑,所以还是得按规范调整哦。
备注:内容来源于stack exchange,提问作者Abhishek Katariya
相关产品推荐
相关产品推荐

