Представлять элементы выбора XSD в PDF-формах LiveCycle Designer - PullRequest
0 голосов
/ 02 декабря 2010

Я использую 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 выше.Я также использую привязки, чтобы связать элементы Item1 и Item2 из XSD с Item1Wrapper и Item2Wrapper соответственно.Проблема в том, что, когда у меня есть элемент Item1 в XML, создаются Item1Wrapper и Item2Wrapper (и то же самое с Item2).Есть ли способ контролировать загрузку, чтобы скрыть соответствующую оболочку?

Я хотел бы сообщить вам, что, к сожалению, я не могу изменить ни PDFForm, ни XSD.

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Если выбор действительно довольно прост, вы можете использовать перечисление 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 под корневым элементом вашей схемы.

1 голос
/ 02 декабря 2010

Если я вас правильно понимаю, решение должно быть ограничено изменением файла XML.

Не думаю, что вы сможете решить эту проблему, не изменив форму PDF, как вы ее установилидо ВСЕГДА вставляйте ОБОИХ дочерних элементов ItemsSubForm.

Вы должны были использовать либо подчиненную форму выбора, либо повторить настройки, связанные с каждым элементом? Оберткой (повторите для каждого элемента данных, минимальное количество = 0).

...