2016-07-20 10 views
0

Я использую XSLTform на сервере exist-db, и я пытаюсь сортировать экземпляр. Вот пример модели:Случай сортировки XSLTForms

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms"> 
<head> 
    <xf:model> 
     <xf:instance xmlns="" id="default"> 
      <data> 
       <x> 
        <a>B</a> 
        <a>C</a> 
        <a>A</a> 
       </x> 
      </data> 
     </xf:instance> 
    </xf:model> 
</head> 

Можно сортировать как-то элементы в хр: повторить для того, чтобы получить такой результат:

  • B
  • C

Я попытался использовать эти примеры, но, к сожалению, они не работают, когда я копирую их в свой проект:

https://github.com/AlainCouthures/xsltforms/blob/master/testsuite/xforms-examples/03-output/sorting/sort.xhtml

https://github.com/AlainCouthures/xsltforms/blob/master/testsuite/xforms-examples/13-javascript/xslt-sort.xhtml

Я новичок в XForms, и я не могу понять, почему эти примеры не работают, так что я был бы очень признателен, если кто-то может дать мне рабочий пример или укажите мне правильный способ сортировки данных в xsltforms.

Спасибо заранее!

ответ

0

К сожалению, сортировка данных в спецификациях XForms не производится, и эти примеры, используя XSLT в качестве обходного пути, на самом деле не полностью поддерживаются XSLTForms на уровне API JSON.

Чтобы запустить это с XSLTForms, вы должны заменить:

instanceElement.parentNode.rebuild(); 
 
instanceElement.parentNode.recalculate(); 
 
instanceElement.parentNode.revalidate(); 
 
instanceElement.parentNode.refresh();

по:

XsltForms_globals.addChange(instanceElement.parentNode.id); 
 
XsltForms_xmlevents.dispatch(instanceElement.parentNode, "xforms-rebuild"); 
 
XsltForms_globals.refresh();

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

  • Нет связанных вопросов^_^