質問

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 あなたのスキーマのルート要素のすぐ下に要素。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top