利用微软的xsl的继承特性,用户可以自定义xsl函数.
基本原理是用户写的脚本代码写在msxsl中,并设置这部分msxsl继承到用户自定义空间中,那么用户就可以通过用户自定义空间使用msxsl中的脚本代码.
步骤:
1. xsl:stylesheet中定义msxml和用户空间.
xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0"
xmlns:user="myscript"
其中xmlns:user=可以等于任意值
2. 让msxsl继承用户空间.
自定义函数写在msxsl:script之间,并且加上implements-prefix="user"
例子:
————————————————————-
1.xml
————————————————————-
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type=text/xsl href=1.xsl?>
<book>
<title>123</title>
</book>
————————————————————-
1.xsl
————————————————————-
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0"
xmlns:user="usercode">
<msxsl:script language="vbscript" implements-prefix="user">
<![cdata[
function getname(node)
getname = node.item(0).nodename
end function
]]>
</msxsl:script>
<xsl:template match="/">
<xsl:value-of select="user:getname(book/title)"/>
</xsl:template>
</xsl:stylesheet>
