menu.xml:
<?xml version="1.0" encoding="gb2312" ?>
<menus left="10" top="10" style="0">
<menu caption="论坛首页" url="http://www.scsja.com">
<menu caption="aaaaa" url="aaa.htm" />
<menu caption="bbbbb" url="bbb.htm" />
</menu>
<menu caption="论坛分类">
<menu caption="aaaaa" url="aaa.htm" />
<menu caption="bbbbb" url="bbb.htm" />
</menu>
<menu caption="我的论坛">
<menu caption="aaaaa" url="aaa.htm" />
<menu caption="bbbbb" url="bbb.htm" />
</menu>
<menu caption="帮助">
<menu caption="aaaaa" url="aaa.htm" />
<menu caption="bbbbb" url="bbb.htm" />
</menu>
</menus>
menu.xsl:
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>Menu Test</TITLE>
</HEAD>
<BODY leftmargin="0" topmargin="0">
<xsl:apply-templates select="menus"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="menus">
<script>
var NoOffFirstLineMenus=<xsl:value-of select="count(child::*)"/>;
var Start=<xsl:value-of select="@top"/>;
var StartLeft=<xsl:value-of select="@left"/>;
var FirstLineHorizontal=<xsl:value-of select="@style"/>;
<xsl:apply-templates select="menu">
<xsl:with-param name="pr" select=""/>
</xsl:apply-templates>
</script>
<script type="text/javascript" src="menu_com.js"/>
</xsl:template>
<xsl:template match="menu">
<xsl:param name="pr"/>
Menu<xsl:value-of select=""/><xsl:value-of select="position()"/>=new Array(<xsl:value-of select="@caption"/>,<xsl:value-of select="@url"/>, , <xsl:value-of select="count(child::*)"/>, 20, 120);
<xsl:if test="count(child::*) > 0">
<xsl:apply-templates select="menu">
<xsl:with-param name="pr" select="concat(,position(), _)"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
change.htm:
<html>
<body>
<script>
load_xml("menu.xml", "menu.xsl");
function load_xml(xmlf, xslf) {
try {
var myxml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
myxml.async = false;
myxml.load(xmlf);
//alert(myxml.xml);
var myxsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
myxsl.async = false;
myxsl.load(xslf);
html = myxml.transformNode(myxsl);
document.write(html);
}
catch (exception) {
alert(exception.description);
}
}
</script>
</body>
</html>
menu_com.js太大,这里无法贴出,而且与我的错误无关.
运行change.htm时,错误提示:此处不能实用关键字: xsl:param
请问如何处理?????
好象是param的赋值问题....