Альтернативная функция для группового порядка для повышения производительности в xfrom - PullRequest
0 голосов
/ 18 апреля 2011

Можем ли мы использовать альтернативную функцию, отличную от группы, для выполнения того же действия. Сценарий, который я пытаюсь тренировать, используя группу, - у меня есть несколько страниц в форме и кнопка сводки на первой странице, которая при нажатии должна показывать сводку всех страниц.

Логика, которую мы попробовали, заключалась в том, чтобы использовать группу для объединения каждой отдельной страницы, имея переменную формы, которая становится истинной при нажатии кнопки сводки, и мы проверяем значение этой переменной на всех страницах и, таким образом, при нажатии кнопки сводки это условие удовлетворяется и все страницы отображаются.

Фрагмент кода

<Xforms:group id="page-1" 
              ref=".[instance('form')/current-page = '1' 
                      or 
                     instance('form')/summary = 'true']">

Использование группы fn резко снижает производительность. Есть ли способ выполнить тот же сценарий. Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 30 апреля 2011

На данный момент скрытые группы и скрытые дела работают по-разному:

  • Элементы управления в скрытых группах неактуальны.
  • Элементы управления в скрытых случаях актуальны.

В результате, используя переключатель / случай, сервер должен выполнить больше работы для поддержания и обновления состояния элементов управления в скрытых случаях, но переключение на другой случай выполняется очень быстро: это в значительной степени просто вопрос изменение класса в HTML, так как значения всех элементов управления уже есть. В случае скрытых групп при «переключении на другую группу» значения для элементов управления в этой группе отправляются сервером в браузер. Обновление значений может занять немного времени, особенно если у вас много элементов управления, скажем, повтор.

Трудно дать рекомендацию без реального запуска вашего кода, но если время, затрачиваемое на переключение, в основном тратится на браузер, вы можете исследовать, используя механизм полное обновление . Если время в основном тратится на сервер, я бы посмотрел Анализ XPath . (Обратите внимание, что обе функции предназначены только для PE.)

...