Я прошу прощения заранее, если я не прошу это правильно .. это трудно выразить словами то, что я прошу ..XForms и несколько входов для той же модели тега
У меня есть XForms модели, такие как:
<file>
<criteria>
<criterion></criterion>
</criteria>
</file>
Я хочу иметь несколько текстовых полей ввода, которые создают новый тег критерия.
пользовательский интерфейс, такие как:
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
<xf:input ref="/file/criteria/criterion" model="select_data">
<xf:label>Select</xf:label>
</xf:input>
И я хотел бы вывод XML, чтобы выглядеть следующим образом (когда пользователь вошел в информации):
<file>
<criteria>
<criterion>AAA</criterion>
<criterion>BBB</criterion>
<criterion>CCC</criterion>
</criteria>
</file>
так, как я это Безразлично» t, поскольку он видит, что 3 поля ввода будут ссылаться на все те же теги критерия. Как я различаю?
Спасибо! Надеюсь, это имело какой-то смысл!
НАЧАТЬ первое редактирование
Спасибо за ответы на основное текстовом поле!
Однако теперь мне нужно сделать это со списком. Но для моей жизни я не могу понять, как это сделать. Я читал где-то использовать с xforms: выбирать и отменять события. Но я не знал, где их разместить, и места, которые я пробовал, дали мне очень странное поведение.
Я в настоящее время осуществляет следующие действия:
<xf:select ref="instance('criteria_data')/criteria/criterion" selection="" appearance="compact" >
<xf:label>Choose criteria</xf:label>
<xf:itemset nodeset="instance('criteria_choices')/choice">
<xf:label ref="@label"></xf:label>
<xf:value ref="."></xf:value>
</xf:itemset>
</xf:select>
Однако, когда несколько вариантов представлены все значения выбора вставляются в тот же узел, разделенные пробелами.
Например:
Если AAA и BBB и FFF были выбраны из списка, это привело бы к следующему XML:
<criterion>AAA BBB FFF</criterion>
Как изменить свой код, чтобы каждый выбор будет в отдельный узел?
то я хочу, чтобы выглядеть следующим образом:
<criterion>AAA</criterion>
<criterion>BBB</criterion>
<criterion>FFF</criterion>
Спасибо!
КОНЕЦ ПЕРВОГО РЕДАКТИРОВАТЬ
НАЧАТЬ ВТОРОЙ EDIT:
для ListBoxes (т.е. XF: выбрать внешний вид = "компактные") я в конечном итоге позволяя пространства происходить в том же самом узле а затем просто преобразовал этот xml с помощью xsl для создания правильно отформатированного нового XML-документа (с отдельными отдельными узлами). К сожалению, я не нашел менее громоздкого решения, вставив их изначально в отдельные узлы.
Выбранный ответ очень хорошо подходит для текстовых полей, поэтому я выбрал его как ответ.
КОНЕЦ ВТОРОЙ EDIT
Спасибо! Это очень хорошо работает с моими текстовыми полями. Я предполагаю, что я могу сделать что-то подобное с полем со списком? (т. е. выбрать несколько элементов из комбинированного блока и сделать их новым критерием). – developer
@iHeartGreek, да точно. Внутри '' вы можете иметь все, что угодно. –
avernet
Я пробовал это решение, работая со списком (используя xforms: select), но я не могу понять это. Я также читал, что должен использовать xforms: выбирать и отменить выбор событий, но я просто получил странное поведение с этим. (См. Мое редактирование выше для большего контекста моей новой проблемы) – developer