Iam目前正在使用XSL将新闻网站转换为特殊的XML格式。
然而,涉及大量逻辑和解析的一些事情变得越来越乏味。
是否可以将javascript函数直接写入XSL文件,然后在我的转换中使用所述函数?因为那会让我的生活变得如此简单。
非常感谢你的帮助
答案 0 :(得分:2)
虽然有些处理器支持在其他语言(如JScript或Javascript)中编写扩展函数,但您通常只能访问核心语言(即ECMAScript 3),并且在浏览器中使用Javascript时可能不会像以前那样使用主机或DOM支持。因此,是否支持这一点取决于您选择的XSLT处理器,这是否会让生活变得如此简单,甚至更不可能。这些天你可能想检查一下是否可以移动到XSLT 3.0并支持user-defined functions以及提供的富type system/data model和function library。 Saxon 9.8(在Maven和Sourceforge上的开源HE中可用)和Altova XML Spy和Raptor已经支持XSLT 3.0。甚至自2007年以来存在的XSLT 2.0允许用XSLT编写的用户定义函数,并且具有正则表达式支持(ECMAScript可能在XSLT 1.0中为您提供的唯一功能),其函数为matches
,tokenize
和元素xsl:analyze-string
。