2010-08-18 2 views
0

У меня есть выпадающий список с двумя параметрами «Загрузить файл», «Добавить URL». Если пользователь выбирает файл загрузки, в моей форме отобразится селектор файлов. Если пользователь выбирает Добавить URL, форма скроет селектор файлов и вместо этого отобразит текстовое поле. Я сделал это, используя релевантность.XForms: установка соответствующего удаления тега из XML

<xforms:bind nodeset="./document" relevant="instance('test')/uploadMethod='Upload File'"/> 
<xforms:bind nodeset="./documentURL" relevant="instance('test')/uploadMethod='Add URL'" /> 

File Selector добавит информацию о файле в тег документа. Данные в текстовом поле будут сохранены в теге documentURL.

Пользователь выбирает Upload File и загружает файл и сохраняет XML. В сохраненном XML я больше не вижу тег. У меня есть прецедент, когда пользователь должен иметь возможность редактировать этот XML, и он может выбрать Добавить URL. Проблема в этом. Поскольку сохраненный XML не содержит тега, текстовое поле не отображается в форме.

Не могли бы вы помочь? Мне нужно, чтобы пользователь мог видеть файл selecor или текстовое поле на основе того, что он выбирает в выпадающем меню, в режиме редактирования.

+0

Вы говорите: «В сохраненном XML я больше не вижу тег». Какой тег это? Может быть, вы сможете вставить полный, но в то же время минимальный пример, показывающий это? – avernet

ответ

1

Если у вас есть элементы в экземпляре, но они больше не присутствуют после отправки экземпляра, возможно, это связано с тем, что у вас есть «обрезка релевантности», которая удалит из представленного XML все несущественные узлы , Вы решили бы это, удалив атрибут relevant="true", который может быть у вас на элементе <xforms:submission>.

Смежные вопросы