利用微软的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>

|