Question

J'utilise des fichiers XML Designer et Adobe Livecycle pour créer des formulaires PDF pour un projet. J'ai créé un XSD, qui, entre autres contient une séquence de choix sans bornes, par exemple quelque chose comme ce qui suit:

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

Pour représenter ceci dans Adobe LiveCycle Designer, je vais avoir quelque chose comme ce qui suit:

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

Quand quelqu'un presse AddItem1Button, je crée une nouvelle instance de ItemsSubForm utilisant ce qui suit:

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

Et la chose en face de AddItem2Button.

Le problème est que, je veux aussi en dehors d'insérer des éléments manuellement pour pouvoir utiliser un fichier XML, et pour cette raison j'ai créé le XSD ci-dessus. J'utilise aussi des fixations pour associer des éléments ITEM1 et ITEM2 du XSD avec Item1Wrapper et Item2Wrapper respectivement. Le problème est qu'une fois que j'ai un élément Item1 dans le XML, les deux Item1Wrapper et Item2Wrapper sont créés (et la même chose avec Item2). Est-il possible de contrôler le chargement afin de cacher l'emballage respectif?

Je voudrais vous informer que je ne peux malheureusement pas changer ni le PDFForm ou XSD.

Était-ce utile?

La solution

Si je vous comprends bien, la solution doit être limitée à la modification du fichier XML.

Je ne pense pas que vous serez en mesure de résoudre ce sans changer le format PDF, que vous définissez à insérer toujours les enfants de ItemsSubForm.

Vous devriez avoir utilisé soit un sous-formulaire de choix ou réglages répétitifs associés à chaque article? Wrapper (pour chaque élément de données, Min Count = 0).

Autres conseils

Si les choix sont vraiment assez simple pourrait utiliser un xsd: énumération. Sinon, votre type complexe devrait ressembler à ceci:

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

et vos fixations dans les propriétés dynamiques 'éléments de liste de la boîte de dialogue doit être

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

en supposant que vous mettez l'élément myItems juste sous l'élément racine en vous schéma.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top