+ -
当前位置:首页 → 问答吧 → xsl里的脚本??

xsl里的脚本??

时间:2004-03-26

来源:互联网

<?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>动态分页</title>
<style>
body,root,row,col{ font: 12px "宋体", "Arial", "Times New Roman"; }
table { font-size: 12px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
span { font-size: 12px; color: red; }
.keybutton { cursor:hand; font-size: 12px; color: #003300; background: #ffffff; border: 0px solid;}
</style>
<script>
<xsl:comment>
<![CDATA[
var OnePageNum=20;
var PageNum=1;
var XMLPageNum=1;
function pages(Num)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
var firstNum=0;
var lastNume=0;

if (Num=="first") {PageNum=1;}
if (Num=="previous") {if (PageNum>1) PageNum -=1;}
if (Num=="next") {if (PageNum<XMLPageNum) PageNum +=1;}
if (Num=="last") {PageNum =XMLPageNum;}

sortField=document.XSLDocument.selectSingleNode("//@test");
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="position()>="+firstNum+" and position()<="+lastNum;
sortField.value=text;
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
]]>
</xsl:comment>
</script>
</head>

<body>
<table align="center" width="80%" >
<tr>
<td>
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" >首页</button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" >上一页</button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');">下一页</button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');">尾页</button>
</td>
</tr>
</table>
<div id="Layer1" name="Layer1"> <xsl:apply-templates select="root" /></div>
</body>

</html>
</xsl:template>
<xsl:template match="root">
        <table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD">
                <tr align="center" bgcolor="#214DA5" height="30">
                                        <xsl:for-each select="row[1]">
                                                <xsl:for-each select="col">
                                                        <td height="25"><font color="white"><b><xsl:value-of select="."/></b></font></td>
                                                </xsl:for-each>       
                                        </xsl:for-each>
                </tr>
                        <xsl:apply-templates select="row[position()>1]"/>
        </table>
</xsl:template>
<xsl:template match="row">
        <xsl:if test="position()&gt;=1and position()&lt;=20 ">
                <tr align="center">
                        <xsl:apply-templates select="col" />
                </tr>
        </xsl:if>
</xsl:template>
<xsl:template match="col">
        <td bgcolor="#eeeeee">
                <xsl:value-of select="."/>
        </td>
</xsl:template>
</xsl:stylesheet>

这是我做的xsl文件,如果是浏览xml文件,这个xsl文件脚本好用,但是如果转换成html文件,就什么也显示不出来了,但是在源文件中还有下面这些代码,为什么

这是转换成html的代码<html><head><title>动态分页</title><style>
body,root,row,col{ font: 12px "宋体", "Arial", "Times New Roman"; }
table { font-size: 12px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
span { font-size: 12px; color: red; }
.keybutton { cursor:hand; font-size: 12px; color: #003300; background: #ffffff; border: 0px solid;}
</style><script><!--

var OnePageNum=20;
var PageNum=1;
var XMLPageNum=1;
function pages(Num)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
var firstNum=0;
var lastNume=0;

if (Num=="first") {PageNum=1;}
if (Num=="previous") {if (PageNum>1) PageNum -=1;}
if (Num=="next") {if (PageNum<XMLPageNum) PageNum +=1;}
if (Num=="last") {PageNum =XMLPageNum;}

sortField=document.XSLDocument.selectSingleNode("//@test");
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="position()>="+firstNum+" and position()<="+lastNum;
sortField.value=text;
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}

--></script></head><body><table align="center" width="80%"><tr><td><button id="cmdfirstPage" class="keybutton" onclick="pages('first');">首页</button><button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');">上一页</button><button id="cmdnextPage" class="keybutton" onclick="pages('next');">下一页</button><button id="cmdlastPage" class="keybutton" onclick="pages('last');">尾页</button></td></tr></table><div id="Layer1" name="Layer1"><table width="80%" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD"><tr align="center" bgcolor="#214DA5" height="30"><td height="25"><font color="white"><b>部门</b></font></td><td height="25"><font color="white"><b>分类</b></font></td><td height="25"><font color="white"><b>数量</b></font></td></tr>.......................
</div></body></html>

哪位知道!!??

[ 本帖由 唐人 于 2004-3-26 15:27 最后编辑 ]

作者: 唐人   发布时间: 2004-03-26

似乎是 <xsl:script></xsl:script>

作者: bencalie   发布时间: 2004-03-26

建议用 <msxml:script />

作者: snakevil   发布时间: 2004-03-27

<xsl:script>
function Fun()
{
  //TODO
}
</xsl:script>
<xsl:eval>Fun();</xsl:eval>

作者: 泣红亭   发布时间: 2004-04-19

eval好久不用了阿

作者: zxwboy   发布时间: 2004-05-12

热门下载

更多