При разработке интерфейса 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>
Проблема в том, что элемент управления вводом «Примечания» просто не отображается.
Очевидным решением является добавление кнопки запуска, чтобы позволитьПользователь может вставить элемент, если это необходимо, но предпочтительно, чтобы элемент управления вводом отображался и был пустым.
Мой вопрос: существует ли некая тонкая комбинация менее известных атрибутов / binds / множественных экземпляров /Выражения xpath, которые всегда будут отображать элемент управления?