Я использую Adobe Livecycle Designer и XML-файлы для создания некоторых PDF-форм для проекта. Я создал XSD, который среди прочего содержит неограниченную последовательность выбора, например, что-то вроде следующего:Представлять элементы выбора XSD в LiveCycle Designer PDF-формы
<xs:sequence maxOccurs="unbounded">
<xs:choice>
<xs:element name="Item1" type="xs:string" />
<xs:element name="Item2" type="xs:string"/>
</xs:choice>
</xs:sequence>
Чтобы представить это в Adobe LiveCycle Designer, у меня что-то вроде следующего:
MyForm (Subform)
ItemsSubForm (Subform, repeated for many items)
Item1Wrapper (Subform)
Item1 (TextField)
Item2Wrapper (Subform)
Item2 (TextField)
AddItemsButtonsSubForm
AddItem1Button (Button)
AddItem2Button (Button)
Когда кто-то нажимает AddItem1Button, я создаю новый экземпляр ItemsSubForm, используя следующие:
this.parent.parent._ItemsSubForm.addInstance();
xfa.resolveNode("this.parent.parent.ItemsSubForm[" +(this.parent.parent.ItemsSubForm.instanceManager.count - 1) + "]").Item2Wrapper.presence = "hidden";
И наоборот, что для AddItem2Button.
Проблема заключается в том, что, помимо ввода элементов вручную, я также хочу иметь возможность использовать XML-файл, и по этой причине я создал XSD выше. Я также использую привязки для связывания элементов Item1 и Item2 от XSD с помощью Item1Wrapper и Item2Wrapper соответственно. Проблема в том, что как только у меня есть элемент Item1 в XML, создаются как Item1Wrapper, так и Item2Wrapper (и то же самое с Item2). Есть ли способ контролировать загрузку, чтобы скрыть соответствующую оболочку?
Я хотел бы сообщить вам, что, к сожалению, я не могу изменить ни PDFForm, ни XSD.