org.docx4j.openpackaging.exceptions.Docx4JException: не удалось добавить части из связей.

Я пробовал разные вещи с элементами управления контентом и docx4j. Я добавил/убрал пару элементов управления, и теперь docx4j больше не загружает документ. Получение этой ошибки во время выполнения.

org.docx4j.openpackaging.exceptions.Docx4JException: не удалось добавить части из связей.

Это утверждение из руководства «Начало работы» привлекло мое внимание.

Однако есть ограничение: выражения xpath оцениваются по отношению к XML-документу, как это было при первом открытии в docx4j. Вы можете обновить связанный XML-документ только один раз, передав true в getJAXBNodesViaXPath. Повторное обновление (с текущей версией JAXB 2.1.x или 2.2.x) вызовет ошибку.

Я использую ночную сборку docx4j со 2 апреля и использую xpath. Ошибка может быть из-за этого? Если да, то где docx4j хранит эту информацию?


person Artin    schedule 03.04.2014    source источник


Ответы (1)


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

Включите ведение журнала уровня отладки для org.docx4j.openpackaging должен сказать вам, где находится недостающая часть, и из этого вы, вероятно, можете догадаться, какой код нарушает docx.

person JasonPlutext    schedule 03.04.2014
comment
Спасибо за ответ Джейсон. Ага. Я тоже так догадался. Но чудо в том, что я создал еще один docx с нуля, и у него тоже была такая же проблема. Это было странно. Итак, могу ли я с уверенностью предположить, что ошибка и утверждение из руководства по началу работы не связаны? - person Artin; 04.04.2014
comment
Когда вы создаете документ с нуля, что вы делаете? (например, добавление изображений, заголовка и т. д.) - person JasonPlutext; 05.04.2014
comment
Я добавил 3 элемента управления текстом и 1 изображение. Используя инструментарий управления контентом, настройте сопоставление. Сегодня попробовал что-то подобное. Он не выдал исключение, но выходной документ не сохранил привязки (по другому вопросу). - person Artin; 05.04.2014
comment
хорошо, я думаю, мы сосредоточимся на stackoverflow.com /вопросы/22869070/ - person JasonPlutext; 07.04.2014