首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSLTForms排序实例

XSLTForms排序实例
EN

Stack Overflow用户
提问于 2016-07-20 13:44:57
回答 1查看 76关注 0票数 0

我在exist-db服务器上使用XSLTforms,并试图对实例进行排序。下面是该模型的一个示例:

代码语言:javascript
复制
<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中的元素进行排序:

  • 一个
  • 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并不熟悉,我也不知道为什么这些示例不起作用,所以如果有人能给我一个有用的示例,或者告诉我在xsltform中排序数据的正确方法,我将非常感激。

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-23 13:17:32

不幸的是,在XForms规范中对数据进行排序没有任何意义,而使用XSLT作为解决方案的这些示例实际上在JSON级别上没有得到XSLTForms的完全支持。

若要使用XSLTForms运行此操作,您应该替换:

代码语言:javascript
复制
instanceElement.parentNode.rebuild();
instanceElement.parentNode.recalculate();
instanceElement.parentNode.revalidate();
instanceElement.parentNode.refresh();

出自:

代码语言:javascript
复制
XsltForms_globals.addChange(instanceElement.parentNode.id);
XsltForms_xmlevents.dispatch(instanceElement.parentNode, "xforms-rebuild");
XsltForms_globals.refresh();

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38483069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档