<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML>
<HEAD>
<META name="GENERATOR" content="IBM WebSphere Studio">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="theme/Master.css" rel="stylesheet" type="text/css">
<TITLE>DocFind</TITLE><script language="JavaScript"> var intRecordsPerPage=10;
// 更新显示页面的函数
function window_onload(){

    //显示设定的记录数
    pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() < " & intRecordsPerPage + 1 & " and position() > 0]"; 
    
    transform();     
    setPageCount();
    
}

// 进行XML-XSLT转换,并显示当前记录的一些信息
function transform(){
         
     DisplayArea.innerHTML = Data.transformNode(pageStyle.DocumentElement);
     RecordsPerPage.Value = intRecordsPerPage;

}

// 重新转换XML,并显示一个状态信息
function redisplay(intPage){

var strDisplay=null;
var intPageCount=0;
var intRecordCount=0;
    
    // 保存状态信息
    intPageCount = PageCount.innerHTML;     
    intRecordCount = RecordCount.innerHTML;                 
    transform();     
    // 显示状态信息
    PageCount.innerHTML = intPageCount;     
    RecordCount.innerHTML = intRecordCount;     
    CurrentPage.innerHTML = intPage;

}

// 重新排序和显示
function Sort(strField){

var sortField;
var sortOrderAttribute;    
    // 得到排序属性值
    sortField = pageStyle.XMLDocument.selectSingleNode("//xsl:sort/@select"); 
    sortOrderAttribute = pageStyle.XMLDocument.selectSingleNode("//xsl:sort/@order");
                                                    
    // 改变排序的方式
    if ((sortField.Value == strField)||(sortField.Value == "./*[0]")){
        if (sortOrderAttribute.Value == "descending"){
            sortOrderAttribute.Value = "ascending";
        }else{
            sortOrderAttribute.Value = "descending";
        }
    }else{
        sortField.Value = strField;
        sortOrderAttribute.Value = "ascending";
    }
    
    sortField = null;
    sortOrderAttribute = null;
    
    redisplay (CurrentPage.innerHTML);
                    
}

// 重新设置每页的记录数
function setRecordsPerPage(){

    if (IsNumeric(RecordsPerPage.Value)){
        intRecordsPerPage = CInt(RecordsPerPage.Value);     
        window_onload();         
    }

}

// 显示页数信息
function setPageCount(){

var intTotalRecords=0;
    
    PageCount.innerHTML = getNumberOfPages(intTotalRecords);     
    RecordCount.innerHTML = intTotalRecords;     
    CurrentPage.innerHTML = 1;
        
}

// 计算总页数和总记录数
function getNumberOfPages(intTotalRecords){

var intPages=0;     intTotalRecords = Data.XMLDocument.selectNodes("/*/*").length;
    intPages = intTotalRecords / intRecordsPerPage;     
    if (InStr(intPages, ".") > 0){
        intPages = CInt(Left(intPages, InStr(intPages, "."))) + 1;
    }
    
    return intPages;
    
}

// “下一页”的处理
function nextPage(intPage){

var strDisplay=null;
var strDateRange=null;     if (CInt(CStr(intPage) * intRecordsPerPage) < Data.selectNodes("/*/*").length){                             
        intPage = CInt(intPage) + 1;
        pageStyle.XMLDocument.selectNodes("//@OnClick")(1).Value = "previousPage(" & intPage & ")";
        pageStyle.XMLDocument.selectNodes("//@OnClick")(2).Value = "nextPage(" & intPage & ")";
        pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() <= " & (CStr(intPage) * intRecordsPerPage) & " and position() > " & (CInt(intPage) - 1) * intRecordsPerPage & "]";
        redisplay (intPage);
    }
    
}

// 处理“上一页”
function previousPage(intPage){

var strDisplay=null;
var strDateRange=null;     if (intPage > 1){     
        intPage = CInt(intPage) - 1;     
        pageStyle.XMLDocument.selectNodes("//@OnClick")(1).Value = "previousPage(" & intPage & ")";
        pageStyle.XMLDocument.selectNodes("//@OnClick")(2).Value = "nextPage(" & intPage & ")";
        pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() <= " & (CStr(intPage) * intRecordsPerPage) & " and position() > " & (CInt(intPage) - 1) * intRecordsPerPage & "]";
        redisplay (intPage);     
}
                            
}

// “第一页”的处理
function FirstPage(){
    
    pageStyle.XMLDocument.selectNodes("//@OnClick")(1).Value = "previousPage(1)";
    pageStyle.XMLDocument.selectNodes("//@OnClick")(2).Value = "nextPage(1)";
    pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() < " & intRecordsPerPage + 1 & " and position() > 0]";
    transform();     
    setPageCount();
                                
}

// “最末页”的处理
function LastPage(){
    
var intTotalPages;
var intTotalRecords;
    
    intTotalPages = getNumberOfPages(intTotalRecords);
    nextPage (intTotalPages - 1);
                                        
}
</Script></HEAD>
<BODY onload="window_onload()">
<BR>
<XML id="Data">
<发文统计 xmlns:dt="urn:schemas-microsoft-com:datatypes"> <发文>
<序号>1</序号>
<文档名称>测试2</文档名称>
<文档编号>test2</文档编号>
<需求负责人>时向宁</需求负责人>
</发文>
……………………………… </发文统计>
</XML>
<!--********************************-->
<XML id="pageStyle" src="WEB-INF/jsp/docManage/pageStyle.xsl"></XML>
<div id="DisplayArea"></div>
<BR>
 
</BODY>
</HTML>

解决方案 »

  1.   

    这个是pageStyle.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" xmlns:user="BOCSOFT" version="1.0">
    <msxsl:script language="JavaScript" implements-prefix="user">
    <![CDATA[ 
        function getName(node){
            getName = node.Item(0).nodeName;
        }
    ]]> 
    </msxsl:script>

    <xsl:template match="/">
    <xsl:apply-templates select="/*"/>
    </xsl:template>

    <xsl:template match="/*">
    <table width="90%" border="0" align="center">
    <tr>
    <td align="left"><b>第<span id="CurrentPage"></span>页&#160;总<span id="PageCount"></span>页&#160;共有&#160;<span id="RecordCount"></span>&#160;条记录</b></td>
    <td align="right"><b>每页记录数:<input onblur="setRecordsPerPage()" id="RecordsPerPage" style="vertical-align:middle;height:15pt;width:30px"/></b></td>
    <td align="right">
    <span id="Paging">
    <input type="button" OnClick="FirstPage()" value="第一页"/>
    <input type="button" OnClick="previousPage(1)" value="上一页"/>
    <input type="button" OnClick="nextPage(1)" value="下一页"/>
    <input type="button" OnClick="LastPage()" value="最末页"/>
    </span>
    </td>
    </tr>
    </table>
    <Table align="center" WIDTH="90%" BORDER="1" bordercolor="#ffffff" cellpadding="3" cellspacing="0">
    <tr bgcolor="#a30035" style="cursor: hand;padding:7px">
    <xsl:for-each select="./*[1]/*">
    <td align="center" height="30">
    <xsl:attribute name="onclick">
    Sort('<xsl:value-of select="user:getName(.)"/>')
    </xsl:attribute>
    <font color="#EEEEEE"><b><u><xsl:value-of select="user:getName(.)"/></u></b></font>
    </td>
    </xsl:for-each>
    </tr>
    <xsl:for-each select="./*[position() &#60; 6 and position() &#62; 0]">
    <xsl:sort select="./*[1]" order="ascending"/>
    <tr bgcolor="#cccccc">
    <xsl:for-each select="./*">
    <td>&#160;<xsl:value-of select="."/></td>
    </xsl:for-each>
    </tr>
    </xsl:for-each>
    </Table>
    </xsl:template>
    </xsl:stylesheet>
      

  2.   

    看到你的留言了,今天很忙,先简单回一下吧。
    是可以包含Xslt文件的
    例子:
    <body onload="window_onload()">
    <p align="center"><span>文章信息浏览</span></p>
    <XML id="xmldata" src="txmlsrc.jsp?page=1" ></XML>
     <XML id="Data2"><Topic></Topic></XML>
     <XML id='Style2' src='Style2.xsl'></XML>
    <div id="Layer1" name="Layer1">
    </div>
    <br />
    <textarea rows="10" cols="10" id="ttt"></textarea>
    </body>
    你的转换方法好像不对,我把我的帖出来:
     //进行XML-XSLT转换
    function transform()
    {
    Layer1.innerHTML = Data2.transformNode(Style2.XMLDocument)+pageBar(page);
    }
    希望有所帮助!
      

  3.   

    jeskee(黄番茄):谢谢你的回复,
    这是IE报出错的那句代码:(说对象为空或不是对象)
     pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() < " & intRecordsPerPage + 1 & " and position() > 0]"; 
        
        transform();     
        setPageCount();
    pageStyle是那个XSL的ID,这句话有什么问题么??
      

  4.   

    pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value 
              ~~~~~~~~~~这是啥?根元素不是documentElement吗?pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value 
                                                     ~~~~~~~~~~ @好象是属性吧,这里没找到这个NODE你可以在前面加上alert(pageStyle.XMLDocument);
    alert(pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select"));
    看看这两个弹出对话框是不是[Object]
      

  5.   

    alert(pageStyle.XMLDocument);
    alert(pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select"));
    看看这两个弹出对话框是不是[Object]
    ------------------------------------------------是OBJECT另外,哪个根元素是是递归的,每次往下走一个,就以它为根(大概是这个意思),你可以看一下那个XSL文件
      

  6.   

    错误:‘pageStyle.XMLDocument.selectNodes(...)(...)’为空或不是对象
      

  7.   

    pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")[1].Value 
                                                              ~~~~~()改为[]
      

  8.   

    wzy9645(想飞... ...) :
    试了,还是不可以:(
      

  9.   

    我也没改出来,我的IE不支持,出于测试的需要,我的IE还没有升级,因此没办法
    (一)http://expert.csdn.net/Expert/topic/2390/2390171.xml
    你看一下这个帖子,如果你用IE5的话那<xsl:sort select="./*[1]" order="ascending"/>
    就不能看到效果。
    (二)function window_onload(){

        //显示设定的记录数
        pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() < " & intRecordsPerPage + 1 & " and position() > 0]"; 
        
        transform();     
        setPageCount();
        
    }
    里面javascript的语法不对,字符串连接用+号,所有方法都有这个问题
        pageStyle.XMLDocument.selectNodes("//xsl:for-each/@select")(1).Value = "./*[position() < " + (intRecordsPerPage + 1) + " and position() > 0]"; 
    (三)这个例子好像是网上一个vbscript改写成的,《客户关系表》的例子,你可以去“WEB开发”-》“XML/soap”版块提问,那里的高手很厉害,我开始学的时候就是在那儿提问的。
    你可以找找“net_lover(孟子E章)”、“saucer(思归) ”,他们经常在那里,绝对高高手!
    :),有空我会再研究研究这个程序的,共同提高
      

  10.   

    给你两个例子吧,也是我下载的。
    <一>tt.xml
    <?xml version="1.0" encoding="GB2312"?>
    <rautinee><member id='1'> 
    <name>海仔</name>
    <loginName>rautinee</loginName>
    <email>[email protected]</email></member><member id='2'>
    <name>刚强</name>
    <loginName>hehe</loginName>
    <email>[email protected]</email></member><member id='3'>
    <name>金华刚</name>
    <loginName>nature_it</loginName>
    <email>[email protected]</email></member><member id='4'>
    <name>的简强</name>
    <loginName>tank</loginName>
    <email>[email protected]</email></member><member id='7'>
    <name>合资</name>
    <loginName>kaka</loginName>
    <email>[email protected]</email></member><member id='6'>
    <name>加个人</name>
    <loginName>apple</loginName>
    <email>[email protected]</email></member><member id='8'>
    <name>null</name>
    <loginName>sunny</loginName>
    <email>[email protected]</email></member><member id='10'>
    <name>宝贝</name>
    <loginName>index</loginName>
    <email>[email protected]</email></member><member id='12'>
    <name>null</name>
    <loginName>login</loginName>
    <email>[email protected]</email></member><member id='13'>
    <name>jiang</name>
    <loginName>123</loginName>
    <email>[email protected]</email></member><member id='14'>
    <name>null</name>
    <loginName>world</loginName>
    <email>[email protected]</email></member><member id='15'>
    <name>null</name>
    <loginName>swallow</loginName>
    <email>[email protected]</email></member><member id='16'>
    <name>魏格</name>
    <loginName>hotmail</loginName>
    <email>[email protected]</email></member><member id='17'>
    <name>null</name>
    <loginName>wrong</loginName>
    <email>[email protected]</email></member><member id='18'>
    <name>null</name>
    <loginName>leah</loginName>
    <email>[email protected]</email></member><member id='19'>
    <name>null</name>
    <loginName>ttth</loginName>
    <email>[email protected]</email></member><member id='20'>
    <name>ww</name>
    <loginName>ttth</loginName>
    <email>[email protected]</email></member>
    </rautinee>
    <二>thm.htm
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <link rel="stylesheet" href="../website.css" type="text/css">
    </HEAD>
    <BODY><script language="javascript"> 
    //****************变量相关定义**************
    //*             author:海仔               *
    //*         Email:[email protected]      *
    //*本程序可自由传播使用,但请务必保留此信息    *
    //****************************************
    var pagenum=4; //每页显示几条信息 
    var page=0 ;
    var contpage ;
    var BodyText="";
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    var mode="member";
    var toolBar;
    xmlDoc.async="false" 
    xmlDoc.load("tt.xml")
    //***************这个地方是你根据实际取得的字段名称来改了
    header="<TABLE border=1><tr><td>姓名</td><td>图标</td><td>IP地址</td><td>email</td><td></td><td>日期</td><td></td><td></td></tr>";//检索的记录数
    maxNum = xmlDoc.getElementsByTagName(mode).length
        //每条记录的列数
        column=xmlDoc.getElementsByTagName(mode).item(0).childNodes
        //每条记录的列数
        colNum=column.length
        //页数
        pagesNumber=Math.ceil(maxNum/pagenum)-1; 
        pagesNumber2=Math.ceil(maxNum/pagenum); 
    //上一个页面
    function UpPage(page)
    {
        thePage="前一页";
        if(page+1>1) thePage="<A HREF='#' onclick='Javascript:return UpPageGo()'>前一页</A>";
        return thePage;
    }
    function NextPage(page)
    {
        thePage="后一页";
        if(page<pagesNumber) thePage="<A HREF='#' onclick='Javascript:return NextPageGo()'>后一页</A>";
        return thePage;
    }function UpPageGo(){ if(page>0) page--; 
        getContent(); 
        BodyText=""; } 
    //当前的页数
    function currentPage()
    {
        var cp;
        cp="当前是第 "+(page+1)+" 页";
        return cp;
    }
    //总共的页数
    function allPage()
    {
        var ap;
        ap='总共 '+(pagesNumber+1)+' 页';
        return ap
    }
    function NextPageGo()

    if (page<pagesNumber) page++;    getContent(); 
        BodyText="";
    } //显示分页状态栏
    function pageBar(page)
    {
        var pb;
        pb=UpPage(page)+"  "+NextPage(page)+"  "+currentPage()+"  "+allPage()+selectPage();
        return pb;
    }
    function changePage(tpage)
    {        page=tpage
        if(page>=0) page--; 
        if (page<pagesNumber) page++;
        getContent(); 
        BodyText="";
    }
    function selectPage()
    {
        var sp;
        sp="<select name='hehe' onChange='javascript:changePage(this.options[this.selectedIndex].value)'>";
        //sp="<select name='hehe' onChange='alert(this.options[this.selectedIndex].value)'>";
        sp=sp+"<option value=''></option>";
        for (t=0;t<=pagesNumber;t++)
        {
            sp=sp+"<option value='"+t+"'>"+(t+1)+"</option>";
        }
        sp=sp+"</select>"
        return sp;
    }function getContent()
    {        if (!page) page=0;
            n=page*pagenum;
            endNum=(page+1)*pagenum;
            if (endNum>maxNum) endNum=maxNum;
            BodyText=header+BodyText;
            for (;n<endNum;n++)
            {
                
                BodyText=BodyText+"<TR>";
                    for (m=0;m<=colNum-1;m++)
                    {    
                        mName=column.item(m).tagName;
                        BodyText=BodyText+("<TD>"+xmlDoc.getElementsByTagName(mName).item(n).text+"</TD>");
                    }
                BodyText=BodyText+"</TR>"
                mm="";
                }
                showhtml.innerHTML=BodyText+"</table>"+pageBar(page); BodyText=""
    }
    </script> <div id="showhtml"></div>
    <script>
    if (maxNum==0)
            {
                document.write("没有检索到合适的人才信息")
            }
        else
            {
                getContent()
            }
    </script></BODY>
    </HTML>
      

  11.   

    例子(二)
    ***************************
    PAIXU.XML
    ***************************
    <?xml version="1.0" encoding="gb2312"?>
    <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by chinaz.com (chinaz.com) -->
    <?xml-stylesheet type="text/xsl" href="paixu.xsl" ?>
    <BlueIdea>
    <team>
    <blue_ID name="test">1</blue_ID>
    <blue_name>Sailflying</blue_name>
    <blue_text>一个简单的排序</blue_text>
    <blue_time>2002-1-11 17:35:33</blue_time>
    <blue_class>XML专题</blue_class>
    </team>
    <team>
    <blue_ID name="test">2</blue_ID>
    <blue_name>flyingbird</blue_name>
    <blue_text>嫁给你,是要你疼的</blue_text>
    <blue_time>2001-09-06 12:45:51</blue_time>
    <blue_class>灌水精华</blue_class>
    </team>
    <team>
    <blue_ID name="test">3</blue_ID>
    <blue_name>苛子</blue_name>
    <blue_text>正则表达式在UBB论坛中的应用</blue_text>
    <blue_time>2001-11-23 21:02:16</blue_time>
    <blue_class>Web 编程精华</blue_class>
    </team>
    <team>
    <blue_ID name="test">4</blue_ID>
    <blue_name>太乙郎</blue_name>
    <blue_text>年末经典分舵聚会完全手册 v0.1</blue_text>
    <blue_time>2000-12-08 10:22:48</blue_time>
    <blue_class>论坛灌水区</blue_class>
    </team>
    <team>
    <blue_ID>5</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>6</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>7</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>8</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>9</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>10</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>11</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>12</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    <team>
    <blue_ID>17</blue_ID>
    <blue_name>eee</blue_name>
    <blue_text>eeee</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>dfsfdsfd</blue_class>
    </team>
    <team>
    <blue_ID>14</blue_ID>
    <blue_name>mmkk</blue_name>
    <blue_text>Asp错误信息总汇</blue_text>
    <blue_time>2001-10-13 16:39:05</blue_time>
    <blue_class>javascript脚本</blue_class>
    </team>
    </BlueIdea>***************************
    PAIXU.XSL
    ***************************
    <?xml version="1.0" encoding="gb2312" ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
    <html>
    <head>
    <title> XML卷之实战锦囊(1):动态排序</title>
    <style>
    body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ 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; }
    </style>
    <script>
    function taxis(x) 

    stylesheet=document.XSLDocument; 
    source=document.XMLDocument; 
    sortField=document.XSLDocument.selectSingleNode("//@order-by");
    sortField.value=x;
    Layer1.innerHTML=source.documentElement.transformNode(stylesheet); 
    }
    </script>
    </head>
    <body>
    <p align="center"><span>XML卷之实战锦囊(1):动态排序</span></p>
    <div id="Layer1" name="Layer1">
    <xsl:apply-templates select="BlueIdea" />
    </div>
    </body>
    </html>
    </xsl:template>
    <xsl:template match="BlueIdea">
    <table width="500" border="1" align="center" cellpadding="1" cellspacing="1" bordercolordark="#ffffff" bordercolorlight="#ADAAAD">
    <tr bgcolor="#FFCC99" align="center">
    <td style="cursor:hand" onClick="taxis('blue_ID')">编号</td>
    <td style="cursor:hand" onClick="taxis('blue_name')">姓名</td>
    <td style="cursor:hand" onClick="taxis('blue_text')">主题</td>
    <td style="cursor:hand" onClick="taxis('blue_time')">发表时间</td>
    <td style="cursor:hand" onClick="taxis('blue_class')">归类</td>
    </tr>
    <xsl:apply-templates select="team" order-by="blue_ID"/>
    </table>
    </xsl:template>
    <xsl:template match="team">
    <tr align="center">
    <xsl:apply-templates select="blue_ID" />
    <xsl:apply-templates select="blue_name" />
    <xsl:apply-templates select="blue_text" />
    <xsl:apply-templates select="blue_time" />
    <xsl:apply-templates select="blue_class" />
    </tr>
    </xsl:template>
    <xsl:template match="blue_ID">
    <td bgcolor="#eeeeee">
    <xsl:value-of />
    </td>
    </xsl:template>
    <xsl:template match="blue_name">
    <td>
    <xsl:value-of />
    </td>
    </xsl:template>
    <xsl:template match="blue_text">
    <td>
    <xsl:value-of />
    </td>
    </xsl:template>
    <xsl:template match="blue_time">
    <td>
    <xsl:value-of />
    </td>
    </xsl:template>
    <xsl:template match="blue_class">
    <td>
    <xsl:value-of />
    </td>
    </xsl:template>
    </xsl:stylesheet>
      

  12.   

    jeskee(黄番茄):
    谢谢!
    我这个程序是从网上一个vbscript改写成的,《客户关系表》的例子是的,我用ASP无论是IE5/6都可以,但是换成JSP就问题多多,你说的JAVASCRIPT的问题刚才有个大侠告诉我了,谢谢!另外,你的第一个例子,如果我
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    var mode="member";
    var toolBar;
    xmlDoc.async="false" 
    xmlDoc.load("tt.xml")
    把XML的数据文件(tt.xml)直接按数据岛嵌在JSP中,那么load这里还能不能如是写?
      

  13.   

    可以以数据岛的形式嵌进去,访问时还可以用一个JSP文件生成XML格式的数据,用它的结果做数据岛(隐式地)
    <XML id="xmldata" src="txmlsrc.jsp?page=1" ></XML><!--可以用JSP文件生成-->
    <XML id="Data2"><Topic></Topic></XML>
     <XML id='Style2' src='Style2.xsl'></XML>
    <div id="Layer1" name="Layer1">
    function window_onload()
    {
                               RootDocument=xmldata.XMLDocument;
    var ItemElement=RootDocument.getElementsByTagName(mode);
    column=RootDocument.getElementsByTagName(mode).item(0).childNodes;
    maxNum = ItemElement.length;
    colNum=column.length;
    pagesNumber=Math.ceil(maxNum/pagenum)-1; 
    pagesNumber2=Math.ceil(maxNum/pagenum); 
    if (maxNum==0)
    {
    document.write("没有检索到合适的信息");
    return;
    }
      else
    {
    getContent();
    }
    }