我正在使用 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。我还使用绑定将 XSD 中的 Item1 和 Item2 元素分别与 Item1Wrapper 和 Item2Wrapper 相关联。问题是一旦我在 XML 中有一个 Item1 元素,就会同时创建 Item1Wrapper 和 Item2Wrapper(与 Item2 相同)。有什么方法可以控制加载以隐藏相应的包装器?
我想通知您,很遗憾我无法更改 PDFForm 或 XSD。