Разрешение элементов управления XForm для дополнительных элементов XML

При разработке интерфейса XForm для базы данных XML (с использованием eXist и XSLTForms) я хотел бы включить элемент управления вводом для необязательного элемента. Записи данных XML уже существуют, и хотя некоторые из них содержат необязательный элемент, другие нет. Чтобы обновить запись, я использую существующую запись XML в качестве экземпляра модели. Проблема в том, что элемент управления формы не отображается, когда необязательный элемент отсутствует, что логично, но представляет проблему, когда пользователь хочет добавить данные в необязательный элемент.

Чтобы быть более точным, вот пример записи данных, data.xml:

<a>
  <b>content</b>
</a>

со схемой RNC:

start =
  element a {
    element b { text },
    element notes { text }?
  }

Модель XForms:

<xf:model>
    <xf:instance xmlns="" src="data.xml"/> 
    <xf:submission id="save" method="post" action="update.xq" />
</xf:model>

И элемент управления:

<xf:input ref="/a/notes">
  <xf:label>Notes (optional): </xf:label>
</xf:input>  

Проблема в том, что элемент управления вводом 'Notes' просто не отображается.

Очевидным решением является добавление кнопки-триггера, чтобы пользователь мог вставить элемент при необходимости, но предпочтительно, чтобы элемент управления вводом отображался и был пустым.

Мой вопрос: : Есть ли какая-то тонкая комбинация менее известных атрибутов / привязок / множественных экземпляров / выражений xpath, которые заставят элемент управления всегда отображаться?

5
задан kjhughes 2 September 2014 в 22:30
поделиться