XSD選択要素をLivecycle Designer PDFフォームに表します
質問
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を作成しました。また、Bindingsを使用して、XSDのItem1およびItem2要素をそれぞれitem1wrapperとitem2wrapperに関連付けます。問題は、XMLにitem1要素を取得すると、item1wrapperとitem2wrapperの両方が作成されることです(およびitem2と同じ)。それぞれのラッパーを隠すために荷重を制御する方法はありますか?
残念ながら、PDFFORMまたはXSDを変更できないことをお知らせします。
解決
私があなたを正しく理解している場合、ソリューションはXMLファイルの変更に限定する必要があります。
PDFフォームを変更せずにこれを解決できるとは思いません。ItemsSubformの両方の子供を常に挿入するように設定するからです。
各アイテムに関連付けられた選択のサブフォームまたは繰り返し設定を使用する必要がありますか?
他のヒント
選択が本当に簡単な場合は、XSD:列挙を使用できます。それ以外の場合は、複雑なタイプは次のようになります。
<xs:complexType name="ItemList">
<xs:sequence>
<xs:element name="item" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="myItems" type="ItemList"/>
そして、「リストアイテム」の動的プロパティダイアログのバインディングは
Items: $record.myItems.item[*]
Item Text: $
Item Value: $
あなたが置くと仮定して myItems
あなたのスキーマのルート要素のすぐ下に要素。