Можно ли импортировать универсальный документ XForm в Orbeon?

Я работаю над проектом по созданию электронных опросов в XForms из метаданных вопросника. Несмотря на то, что мне удалось создать XForms достаточно просто, но они соответствуют спецификации XForms, у меня возникли проблемы с запуском формы через Orbeon.

Форма, которую я пытаюсь запустить через Orbeon, находится здесь: https://gist.github.com/3850705

Я смог протестировать эту форму, используя XSLTForms, и она отлично работает, однако, когда я пытаюсь запустить ее через Orbeon, текст вопроса не появляется, и он даже не существует в исходном HTML-коде, который предоставляется пользователю., как показано здесь: https://gist.github.com/3850705

Итак, Orbeon делает какой-то перевод оригинальной формы (что и следовало ожидать), и я предполагаю, основываясь на их примерах, что его выбор текста на основе некоторой языковой информации, однако, для моей жизни я могу ". t выяснить, как получить текст метки xf: для отображения в форме.

Кто-нибудь может помочь?

1 ответ

Решение

Возможно, вы захотите взглянуть на orbeon.log как вы запустите форму. Я видел следующие две проблемы:

  1. Поскольку я пытаюсь запустить это здесь, я сначала получаю ошибки из-за xf:bind как этот:

    <xf:bind id="bindThen-DogSurvey_IF_2"
             nodeset="//rml:if[@id='DogSurvey_IF_2']/rml:then"
             relevant="//rml:response[@id='DogSurvey_QC_30'] = '1'"
             readonly="not(//rml:response[@id='DogSurvey_QC_30'] = '1')"/>
    

    Если элемент не содержит числа, например, потому что он пустой, это выражение не сможет быть оценено, поскольку движок XPath пытается преобразовать пустую строку в число. Так что, если вы не абсолютно уверены, что значение всегда будет числом (что здесь не так), безопаснее написать … = '1', таким образом, делая сравнение строк. Если вы действительно хотите сделать сравнение между целыми числами, вы можете написать //rml:response[@id='DogSurvey_QC_30']/(. castable as xs:integer and . = 1),

  2. После изменения кода для #1 выше, с последним кодом, я также получаю исключение, которое похоже на ошибку, поэтому я заполнил отчет об ошибке, но вы можете не столкнуться с этим, если вы используете версию 3.9.

Другие вопросы по тегам