InfoPath - не удается открыть, определение формы (.xsf) содержит ошибки - PullRequest
2 голосов
/ 01 сентября 2009

Мне как-то удалось разорвать форму инфопата :( При попытке открыть ее (как в режиме предварительного просмотра, так и в режиме конструктора) я получаю следующую ошибку: 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>
--^

Есть ли способ решить эту проблему? Или мой единственный вариант заново создать форму? Заранее спасибо за любой совет!

Ответы [ 3 ]

4 голосов
/ 01 сентября 2009

Да - видел это пару раз ...

Вам необходимо отредактировать файл manifest.xsf. Фактически, форма InfoPath является архивом, поэтому переименуйте шаблон .xsn в .cab и извлеките его обычным способом. Теперь отредактируйте файл manifest.xsf, чтобы удалить ссылку на ключевую ссылку в строке 232.

Наконец, перестройте свою форму, щелкнув правой кнопкой мыши на manifest.xsf и выбрав дизайн (Вы можете обнаружить, что существует более одной ошибки - вы видите только первую сообщенную ошибку, поэтому вам может потребоваться повторить выше для каждой ошибки). Наконец, вам нужно будет переиздать.

2 голосов
/ 01 сентября 2009

Отредактируйте файл .xsf вручную, удалите все ссылки на "ruleSet_5" и сохраните. Попробуйте заново открыть форму.

Если не удалить контейнер XML, узел "ruleSet_5".

0 голосов
/ 12 мая 2016

Я также сталкивался с этой проблемой, пытался отредактировать xsf (сохраненная форма на локальном диске, переименованная в cab и извлеченная в папке), но не было ссылки на ошибку. В другом файле UpdateItem.xls была ссылка на ошибку, я удалил ее, но после этого не знал, как перестроить форму. Попытался снова сжать папку, переименовать в xsn, но не сработало.

Наконец, я выяснил, что одно из «представлений» в форме все еще ссылается на удаленное соединение данных. Таким образом, если форма имеет несколько представлений («Редактировать», «Показать» и т. Д.) - установите флажок на вкладке «Дизайн страницы», первый раздел ленты - прокрутите все представления и убедитесь, что ни одно из представлений не имеет ссылки на удаленное подключение к данным.

...