我以某种方式设法打破我的infopath形式:(当我尝试打开它(预览模式和设计模式)时,我收到以下错误: InfoPath无法打开以下表单D:\ infopath \ formname.xsn。表单定义(.xsf)文件包含错误。
当我点击更多细节时,我得到了这个:
The form definition (.xsf) file contains elements, attributes, or structures that are not valid.
Error details:
The keyref 'ruleSet_5' does not resolve to a key for the Identity Constraint '{http://schemas.microsoft.com/office/infopath/2003/solutionDefinition}ruleset_name_key'.
Line 232, Position 3
</xsf:xDocumentClass>
--^
有什么方法可以解决这个问题吗?或者是我重新创建表单的唯一选择? 提前感谢任何建议!
答案 0 :(得分:4)
您需要编辑manifest.xsf。实际上,InfoPath表单是一个存档,因此将.xsn模板重命名为.cab,并以正常方式提取。现在编辑manifest.xsf以删除对第232行的keyref的引用。
最后,通过右键单击manifest.xsf并选择设计来重建表单(您可能会发现有多个错误 - 您只看到第一个报告回来,所以您可能需要重复以上每个错误)。最后,您需要重新发布。
答案 1 :(得分:2)
手动编辑.xsf文件并删除对“ruleSet_5”的任何引用并保存。尝试重新打开表单。
如果没有删除“ruleSet_5”的容器XML节点。
答案 2 :(得分:0)
我也遇到过这个问题,尝试编辑xsf(在本地驱动器中保存的表单,重命名为cab,并在文件夹中解压缩),但没有引用错误。另一个文件UpdateItem.xls有错误的引用,我删除了,但之后不知道如何重建表单。试图再次压缩文件夹,重命名为xsn,但没有工作。
最后,我发现其中一个&#34;观点&#34;在表单中仍然引用了已删除的数据连接。因此,如果表单有多个视图(编辑,显示等) - 签入页面设计选项卡,功能区中的第一部分 - 循环浏览所有视图并检查没有任何视图引用已删除的数据连接。