以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [原创]在xslt中使用脚本  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=19692)


--  作者:孤独
--  发布时间:6/17/2005 9:27:00 AM

--  [原创]在xslt中使用脚本
现在在xslt(1999)中使用脚本十分困难,因为标准中并没有制定相关信息。

因此一些厂商的XML解析器中都使用了相关的扩展,而我们进行XML解析做XSLT的时候,通常都用微软的解析器MSXML。

这个解析器提供了一个命名空间为

urn:schemas-microsoft-com:xslt

使用的时候可以

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://www.joysou.com/"
exclude-result-prefixes="msxsl user">

这个定义msxsl,以及我们函数所用的前缀user

然后我们可以定义一个函数

<msxsl:script language="JavaScript" implements-prefix="user">
    function hello(word) {
      return "Hello" + word;
    }
  </msxsl:script>

将函数定义导出到user中

调用时

<xsl:value-of select="user:hello(string(节点名称))"  />

OK,我们的XSLT可以掉函数了:)
-------------------------------
更多见www.joysou.com


--  作者:admin
--  发布时间:6/18/2005 12:21:00 AM

--  
在XSLT中写script程序。真是方便多了。

但实际上这是不被提倡的,因为会给互操作性带来困难。。

不过这是design issue,对于programmer来说在xslt中用script是方便,我自己也有这样的体会 :-)


--  作者:孤独
--  发布时间:6/18/2005 7:57:00 AM

--  
这个因为不是在xslt中定义的,所以我认为他们"管"不着,哈哈,因为xml提供了扩展机制.
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms