Я хочу объединить два значения набора узлов, используя XPath в XForms.
Я знаю, что в XPath есть функция concat (string, string), но как мне объединить два значения набора узлов?
BEGIN EDIT: Iпопробовал функцию concat .. Я попробовал это .. и варианты этого, чтобы заставить это работать, но это не
<xf:value ref="concat(instance('param_choices')/choice/root, .)"/>
КОНЕЦ РЕДАКТИРОВАНИЯ
Ниже приведен упрощенный пример кода, которого я пытаюсь достичь.
Модель XForms:
<xf:instance id="param_choices" xmlns="">
<choices>
<root label="Param Choices">/param</root>
<choice label="Name">/@AAA</choice>
<choice label="Value">/@BBB</choice>
</choices>
</xf:instance>
Код пользовательского интерфейса XForms, который у меня сейчас есть:
<xf:select ref="instance('criteria_data')/criteria/criterion" appearance="full">
<xf:label>Param choices:</xf:label>
<br/>
<xf:itemset nodeset="instance('param_choices')/choice">
<xf:label ref="@label"></xf:label>
<xf:value ref="."></xf:value>
</xf:itemset>
</xf:select>
(если пользователь выбирает флажок «Имя» ..) вывод XML:
<criterion>/@BBB</criterion>
Однако!Я хочу объединить значение корневого узла с текущим значением выбора узла.
По существу:
<xf:value ref="concat(instance('param_choices')/choice/root, .)"/>
или
<xf:value ref="(instance('definition_choices')/choice/root) + ."/>
для получения следующего XMLвывод:
<criterion>/param/@BBB</criterion>
Есть предложения, как это сделать?(Я довольно новичок в XPath и XForms)
ps то, что я спрашиваю, имеет смысл для меня, когда я его набрал, но если у вас возникли проблемы с выяснением того, что я спрашиваю, просто дайте мне знать
спасибо!