XSLTForms 排序实例

XSLTForms sort instance

我在 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>

是否可以对 xf:repeat 中的元素进行某种排序以获得这样的结果:

我试过使用这些示例,但不幸的是,当我将它们复制到我的项目中时它们不起作用:

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 中。

提前致谢!

不幸的是,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();