Я использую Adobe Livecycle Designer и файлы XML для создания некоторых форм PDF для проекта.Я создал XSD, который среди прочего содержит неограниченную последовательность вариантов, например что-то вроде следующего:
<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.