|
|
1
30
尽管XSLT基于函数式编程思想,但它不是一种完整的函数式编程语言,它缺乏将函数视为第一类数据类型的能力。它具有诸如延迟求值之类的元素,以减少不必要的求值以及显式循环的缺失。 不过,就像函数式语言一样,我认为它可以很好地与跨多个处理器的自动安全多线程并行。
这里有一个关于使用的好网站 XSLT as a functional language 在FXSL的帮助下。FXSL是一个实现对高阶函数支持的库。 因为FXSL,我认为XSLT本身不需要完全功能化。也许FXSL将来会作为W3C标准加入,但我没有证据证明这一点。 |
|
|
2
7
http://fxsl.sourceforge.net/articles/FuncProg/Functional%20Programming.html . XSLT中的函数是一流的公民,毕竟有一些解决方法:-) |
|
|
3
6
这就是我编程时的感觉。
XSLT允许您设置一个变量。函数式编程不允许函数产生副作用,这是一个大问题。
这是一个非常非常不同的编程模型,与使用DOM API时使用的编程模型非常不同。DOM根本不分离输入和输出。你得到了一个数据结构,你可以毫不犹豫,不受限制,也不后悔地把它弄坏。 只要说一句,如果你喜欢FP及其背后的原则,你可能会觉得在里面工作很舒服。就像事件驱动编程(以及XML本身)的经验一样,它也会让您感到舒适。 如果您唯一的经验是使用自上而下、非事件驱动的程序,那么XSLT将是一个非常陌生、陌生的领域。至少一开始是这样。积累一点经验,然后在XPath表达式和事件处理对您来说非常舒服的时候再回到XSLT,这会给您带来丰厚的回报。 |
|
|
4
5
祝你好运 |
|
|
5
4
Saxon SA引入了一些扩展函数,使XSLT功能化。你可以用
Saxon-B的功能与
|
|
|
6
1
这实际上不是一个参数,因为您只能声明变量,而不能在声明后更改它们的值。从这个意义上说,它是陈述式而非命令式风格,正如诺瓦切夫先生的文章所述。 Scheme或Erlang等函数式编程语言也允许您声明变量,在Haskell中您也可以这样做: --函数“test”接受变量x并将其添加到列表xs的每个元素上
|
|
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 1 年前 |
|
|
Daniel · 合并插入文本的直接兄弟元素 1 年前 |
|
JTennessen · Saxon XSLT输出中的额外换行符 1 年前 |
|
|
Velsus · XSLT尝试使用xsl:if排除某些记录,但不起作用 1 年前 |
|
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 1 年前 |
|
|
badbee · 使用xsl:sort时保留未排序元素的问题 1 年前 |
|
|
Tronics · 尝试读取xml元素中的数据 2 年前 |
|
Abhishek Nayak · xslt仅对所选节点进行排序 2 年前 |