2016-07-20 63 views
0

。下面是模式的一個例子:XSLTForms我使用存在-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> 

是否有可能以某種方式進行排序在XF的元素:爲了重複獲得這樣的結果:

  • 一個
  • Ç

我試過使用這個例子,但不幸的是,當我將它們複製到我的項目中時,它們不工作:

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作爲一種解決方法,實際上是不完全的JSON API級別XSLTForms支持。

要與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();