新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → [求助]新人求助XSL实现树型结构的问题!请高手指点! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 13346 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]新人求助XSL实现树型结构的问题!请高手指点! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     KELLY5677 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:107
      门派:XML.ORG.CN
      注册:2007/7/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给KELLY5677发送一个短消息 把KELLY5677加入好友 查看KELLY5677的个人资料 搜索KELLY5677在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看KELLY5677的博客楼主
    发贴心情 [求助]新人求助XSL实现树型结构的问题!请高手指点!

    最近我要实现对XML的显示程序,基本是基于IE框架,只需使用XSL对XML文件加以定义和构造结构!~~~
    在建HTML结构上看了很多,感觉难度还不大,但不知道能不能实现树型结构的展开和收缩!
    是不是要需要使用脚本?但我不知道怎么把脚本套入XSL中?能直接使用吗?


    请高手解答下,谢谢!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 16:43:00
     
     火鸟 帅哥哟,离线,有人找我吗?
      
      
      等级:大四(GRE考了1500分!)
      文章:202
      积分:1198
      门派:XML.ORG.CN
      注册:2007/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给火鸟发送一个短消息 把火鸟加入好友 查看火鸟的个人资料 搜索火鸟在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看火鸟的博客2
    发贴心情 
    仔细看看这个帖子,需求和你的很象。
    http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=49488
    树型结构需要javascript你可以参考网上的树型菜单的示例。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 17:25:00
     
     KELLY5677 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:107
      门派:XML.ORG.CN
      注册:2007/7/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给KELLY5677发送一个短消息 把KELLY5677加入好友 查看KELLY5677的个人资料 搜索KELLY5677在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看KELLY5677的博客3
    发贴心情 
    谢谢 火鸟, 但貌似这2个差距还是有点大的!~~~~

    我是想知道能否将脚本插入到XSL中 以实现树的展开和收缩!~~

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 19:17:00
     
     KELLY5677 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:107
      门派:XML.ORG.CN
      注册:2007/7/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给KELLY5677发送一个短消息 把KELLY5677加入好友 查看KELLY5677的个人资料 搜索KELLY5677在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看KELLY5677的博客4
    发贴心情 
    这么多人看,能给点意见吗?
    可以用<xsl:script />标签,但这个好象是用很小的脚本,而且是计算类型的!
    我想做出对其他元素属性的调整脚本一直都不能用?
    改了命名空间MSXML还是一样不可以~~~~即使是把脚本放到XML,然后用XSL调用也不行。。
    请大家帮帮忙啊!~~~~怎么在XSL中套用脚本?谢谢!~~
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 21:50:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客5
    发贴心情 
    XSL脚本插入方法:
    <script language="javascript">
    <xsl:comment>
    <![CDATA[
    JAVASCRIPT CODE HERE
    ]]>
    </xsl:comment>
    </script>

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 22:05:00
     
     KELLY5677 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:107
      门派:XML.ORG.CN
      注册:2007/7/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给KELLY5677发送一个短消息 把KELLY5677加入好友 查看KELLY5677的个人资料 搜索KELLY5677在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看KELLY5677的博客6
    发贴心情 
    我试过了 好象还是不行
    我的XSL代码如下(XML基本是空的):

    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
     <xsl:template match="/">
      <html>
       <head>
        <title/>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
        <title>Div+CSS+JS树型菜单,可刷新</title>
        <style type="text/css">
         <!--
       *{margin:0;padding:0;border:0;}
       
       body { font-size:12px; }
       
       /*定义整个ul菜单的行高和背景色*/
       #nav { width:180px; line-height: 24px; list-style-type: none; text-align:left; }
       
       /*==================一级目录===================*/
       /*Width(一定要),否则下面的li会变形*/
       #nav a { width: 160px; display: block; padding-left:20px; }
       
       #nav li { background:#CCC; /*一级目录的背景色*/
       border-bottom:#FFF 1px solid; /*下面的一条白边*/
       float:left; /*float:left,本不应该设置,但由于在Firefox不能正常显示
       继承Nav的width,限制宽度,li自动向下延伸*/ }
       
       #nav li a:hover{ background:#CC0000; /*一级目录onMouseOver显示的背景色*/ }
       #nav a:link { color:#666; text-decoration:none; }
       #nav a:visited { color:#666;text-decoration:none; }
       #nav a:hover { color:#FFF;text-decoration:none;font-weight:bold; }
       
       /*==================二级目录===================*/
       #nav li ul { list-style:none; text-align:left; }
       #nav li ul li{ background: #EBEBEB; /*二级目录的背景色*/ }
       #nav li ul a{padding-left:20px;width:160px;
       /* padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)*/ }
       
       /*下面是二级目录的链接样式*/
       #nav li ul a:link { color:#666; text-decoration:none; }
       #nav li ul a:visited { color:#666;text-decoration:none; }
       #nav li ul a:hover { color:#F3F3F3; text-decoration:none; font-weight:normal;
       background:#CC0000; /* 二级onmouseover的字体颜色、背景色*/ }
       
       /*==============================*/
       #nav li:hover ul { left: auto; }
       #nav li.sfhover ul { left: auto; }
       #content { clear: left; }
       
       /*此节,用来控制菜单是否全部展开,如果注释掉,菜单就全部展开,在调试程序时有用。*/
       #nav ul.collapsed { display: none; }
       
       #PARENT{ width:300px; padding-left:20px; }
       
       -->
        </style>
       </head>
       <body>
        <div id="PARENT">
         <ul id="nav">
          <li>
           <a href="#Menu=ChildMenu1" onclick="DoMenu('ChildMenu1')">分类一</a>
           <ul id="ChildMenu1" class="collapsed">
            <li>
             <a href="http://www.fints.us" target="_blank">栏目1</a>
            </li>
            <li>
             <a href="http://www.fints.us" target="_blank">栏目2</a>
            </li>
            <li>
             <a href="http://www.fints.us" target="_blank">栏目3</a>
            </li>
           </ul>
          </li>
          <li>
           <a href="#Menu=ChildMenu2" onclick="DoMenu('ChildMenu2')">分类二</a>
           <ul id="ChildMenu2" class="collapsed">
            <li>
             <a href="http://www.fints.us" target="_blank">栏目1</a>
            </li>
            <li>
             <a href="#">栏目2</a>
            </li>
            <li>
             <a href="#">栏目3</a>
            </li>
            <li>
             <a href="#">栏目4</a>
            </li>
            <li>
             <a href="#">栏目5</a>
            </li>
           </ul>
          </li>
          <li>
           <a href="#Menu=ChildMenu3" onclick="DoMenu('ChildMenu3')">分类三</a>
           <ul id="ChildMenu3" class="collapsed">
            <li>
             <a href="#">栏目1</a>
            </li>
            <li>
             <a href="http://www.fints.us" target="_blank">栏目2</a>
            </li>
            <li>
             <a href="#">栏目3</a>
            </li>
            <li>
             <a href="#">栏目4</a>
            </li>
           </ul>
          </li>
          <li>
           <a href="#Menu=ChildMenu4" onclick="DoMenu('ChildMenu4')">分类四</a>
           <ul id="ChildMenu4" class="collapsed">
            <li>
             <a href="#">栏目1</a>
            </li>
            <li>
             <a href="http://www.fints.us" target="_blank">栏目2</a>
            </li>
            <li>
             <a href="#">栏目3</a>
            </li>
            <li>
             <a href="#">栏目4</a>
            </li>
           </ul>
          </li>
         </ul>
        </div>
        <script type="text/javascript">
         <xsl:comment><![CDATA[
    var LastLeftID = "";
    function menuFix() {
    var obj = document.getElementById("Nav").getElementsByTagName("li");
    for (var i=0; i<obj.length; i++) {
    obj[i].onmouseover=function() {
    this.className+=(this.className.length>0? " ": "") + "sfhover";
    }
    obj[i].onMouseDown=function() {
    this.className+=(this.className.length>0? " ": "") + "sfhover";
    }
    obj[i].onMouseUp=function() {
    this.className+=(this.className.length>0? " ": "") + "sfhover";
    }
    obj[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
    }
    }
    }

    function DoMenu(emid)
    {
    var obj = document.getElementById(emid);
    obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded");
    LastLeftID = emid }

    function GetMenuID()
    {
    var MenuID="";
    var _paramStr = new String(window.location.href);
    var _sharpPos = _paramStr.indexOf("#");
    if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1)
    { _paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length); }
    else { _paramStr = ""; }
    if (_paramStr.length > 0)
    { var _paramArr = _paramStr.split("&");
    if (_paramArr.length>0)
    { var _paramKeyVal = _paramArr[0].split("=");
    if (_paramKeyVal.length>0)
    { MenuID = _paramKeyVal[1]; }
    }

    }
    if(MenuID!="")
    { DoMenu(MenuID) }
    }
    GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果
    menuFix();]]></xsl:comment>
        </script>
       </body>
      </html>
     </xsl:template>
    </xsl:stylesheet>


    请麻烦看下什么原因把~~~拜谢

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 9:33:00
     
     火鸟 帅哥哟,离线,有人找我吗?
      
      
      等级:大四(GRE考了1500分!)
      文章:202
      积分:1198
      门派:XML.ORG.CN
      注册:2007/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给火鸟发送一个短消息 把火鸟加入好友 查看火鸟的个人资料 搜索火鸟在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看火鸟的博客7
    发贴心情 
    javascript代码要外联在js文件中,否则<>会被转码。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 12:48:00
     
     KELLY5677 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:14
      积分:107
      门派:XML.ORG.CN
      注册:2007/7/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给KELLY5677发送一个短消息 把KELLY5677加入好友 查看KELLY5677的个人资料 搜索KELLY5677在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看KELLY5677的博客8
    发贴心情 
    哦 , 这样啊? 我试过那样写代码也不会直接显示,但脚本仍然没用!

    请问有没有外联脚本这方面的例子?
    我还没有实现过~~所以不是很清楚怎样外联(前面也试过,不会..)!
    麻烦各位大大帮人帮到底,能给个具体程序不?!
    拜谢! Orz....................................

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 16:11:00
     
     火鸟 帅哥哟,离线,有人找我吗?
      
      
      等级:大四(GRE考了1500分!)
      文章:202
      积分:1198
      门派:XML.ORG.CN
      注册:2007/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给火鸟发送一个短消息 把火鸟加入好友 查看火鸟的个人资料 搜索火鸟在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看火鸟的博客9
    发贴心情 
    <script language="JavaScript" type="text/javascript" src="ClearForm.js">&amp;nbsp;
    </script>
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 17:48:00
     
     火鸟 帅哥哟,离线,有人找我吗?
      
      
      等级:大四(GRE考了1500分!)
      文章:202
      积分:1198
      门派:XML.ORG.CN
      注册:2007/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给火鸟发送一个短消息 把火鸟加入好友 查看火鸟的个人资料 搜索火鸟在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看火鸟的博客10
    发贴心情 
    其实我前面给你的例子是xml根据约定利用xslt生成界面很全面的例子,简单类型select, checkbox, radio, input, textarea都有了,你可以好好看看。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 17:51:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/18 18:29:01

    本主题贴数18,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    101.563ms