Frage

Ich bin mit Adobe Livecycle Designer und XML-Dateien einige PDF-Formulare für ein Projekt zu erstellen. Ich habe eine XSD, die unter anderem eine unbegrenzte Folge von Entscheidungen enthält, zum Beispiel so etwas wie die folgenden:

<xs:sequence maxOccurs="unbounded">
  <xs:choice>
    <xs:element name="Item1" type="xs:string" />
    <xs:element name="Item2" type="xs:string"/>
  </xs:choice>
</xs:sequence>

Um dies darzustellen in Adobe Livecycle Designer, ich bin wie die folgend etwas mit:

MyForm (Subform)
  ItemsSubForm (Subform, repeated for many items)
    Item1Wrapper (Subform)
      Item1 (TextField)
    Item2Wrapper (Subform)
      Item2 (TextField)
  AddItemsButtonsSubForm
    AddItem1Button (Button)
    AddItem2Button (Button)

Wenn jemand AddItem1Button drückt, erstelle ich eine neue ItemsSubForm Instanz mit dem folgenden:

this.parent.parent._ItemsSubForm.addInstance();
xfa.resolveNode("this.parent.parent.ItemsSubForm[" +(this.parent.parent.ItemsSubForm.instanceManager.count - 1) + "]").Item2Wrapper.presence = "hidden";

Und das Gegenteil, was für AddItem2Button.

Das Problem ist, dass abgesehen von Artikel manuell eingefügt, ich möchte auch in der Lage sein, eine XML-Datei zu verwenden, und aus diesem Grund habe ich die XSD oben. Ich benutze Bindungen auch element1 und Element2 Elemente aus der XSD mit Item1Wrapper und Item2Wrapper jeweils zuzuordnen. Das Problem ist, dass wenn ich ein element1 Element in der XML, sowohl Item1Wrapper und Item2Wrapper erzeugt (und das gleiche mit Element2). Gibt es eine Möglichkeit, die Belastung zu steuern, um die jeweiligen Wrapper zu verbergen?

Ich möchte Ihnen mitteilen, dass ich kann leider weder die PDFForm oder die XSD ändern.

War es hilfreich?

Lösung

Wenn ich Sie richtig verstehe, hat die Lösung Ändern der XML-Datei zu beschränken.

Ich glaube nicht, Sie in der Lage sein werden, diese zu lösen, ohne das PDF-Formular zu ändern, wie Sie es einrichten Einsatz Kinder der ItemsSubForm IMMER auf.

Sie sollten verwendet haben entweder eine Auswahl Formulars oder Wiederholungseinstellungen mit jedem Element zugeordnet? Wrapper (Wiederholung für jedes Datenelement, Min-Zähler = 0).

Andere Tipps

Wenn die Auswahl wirklich ziemlich einfach ist, könnten Sie eine XSD verwenden: Aufzählung. Ansonsten Ihr komplexer Typ sollte wie folgt aussehen:

<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"/>

und Ihre Bindungen in dem ‚Listenelement‘ dynamische Eigenschaften-Dialog sollten

sein
Items:   $record.myItems.item[*]
Item Text:   $
Item Value:  $

unter der Annahme, dass Sie das myItems Element haben gerade unter dem Wurzelelement in Ihnen Schema.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top