`

用xslt+xml+javascript+css实现的菜单

阅读更多

1、xml文件
<?xml version='1.0' encoding='utf-8'?>
<?xml:stylesheet type='text/xsl' href='menu.xsl'?>
<Menu>
 <item>
  <p_id>00</p_id>
  <menu_id>01</menu_id>
  <menu_name>供应商信息查询</menu_name>
  <link_name></link_name>
  <infor>点击改变目录层次</infor>
  <url></url>
  <memo></memo>
 </item>
 <item>
  <p_id>01</p_id>
  <menu_id>0101</menu_id>
  <menu_name></menu_name>
  <link_name>库存明细查询</link_name>
  <infor>库存明细查询</infor>
  <url>./kcmx.aspx</url>
  <memo></memo>
 </item>
 <item>
  <p_id>01</p_id>
  <menu_id>0102</menu_id>
  <menu_name> </menu_name>
  <link_name>库存汇总查询</link_name>
  <infor>库存汇总查询</infor>
  <url>./kchz.aspx </url>
  <memo></memo>
 </item>
 <item>
  <p_id>00</p_id>
  <menu_id>02</menu_id>
  <menu_name>业务情况处理</menu_name>
  <link_name></link_name>
  <infor>点击改变目录层次</infor>
  <url></url>
  <memo></memo>
 </item>
 <item>
  <p_id>02</p_id>
  <menu_id>0201</menu_id>
  <menu_name></menu_name>
  <link_name>采购信息处理</link_name>
  <infor>采购信息处理</infor>
  <url>./cgxx.aspx</url>
  <memo></memo>
 </item>
 <item>
  <p_id>02</p_id>
  <menu_id>0202</menu_id>
  <menu_name></menu_name>
  <link_name>退货信息处理</link_name>
  <infor>退货信息处理</infor>
  <url>./thxx.aspx</url>
  <memo></memo>
 </item>
</Menu>

2、xsl文件
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    
     <!--变量定义-->
     <xsl:variable name='FirstMenuSeg'>0</xsl:variable><!--第一层菜单的顺序-->
     <xsl:template match='/'>
  <html>
   <head><title>menu</title>
    <script lanaguage='javascript' src='menu.js'/>
    <link rel='stylesheet' href='menu.css' type='text/css'/>
   </head>
   <body>
    <xsl:apply-templates select='Menu'/>
   </body>
  </html>
     </xsl:template>
    
     <xsl:template match='Menu'>
  <table id='frm'  width='100%' height='100%' cellspacing='2' cellpadding="2">
  <tr>
   <td>
    <table id='frm_top' cellspacing='0' cellpadding="0" width="158" align="center">
     <tr>
      <td valign="bottom" height="42"><img height='38' width='158' border="0" src="images/Admin/title.gif"/></td>
     </tr>
     <tr>
      <td class="menu_title" background="images/Admin/title_bg_quit.gif" height="25">
       <span>
        <a><b><font color="215DC6"> 首页 </font></b></a>
        <a><b><font color="215dc6"> 登陆 </font></b></a>
        <a><b><font color="215dc6"> 注销 </font></b></a>
        <a><b><font color="215dc6"> 重载 </font></b></a>
       </span>
      </td>
     </tr>
     <tr>
      <td align="center">
       <font class="navPoint">5</font>
       <font class="navPoint">6</font>
      </td>
     </tr>
    </table>
    <xsl:call-template name='firstMenu'/>
   </td>
    <!--xml部分-->
  </tr>
  <tr>
   <td  valign="bottom">
    <table id='frm_bottom' cellspacing='0' cellpadding="0" width="158"  align="center" >
     <tr>
      <td align="center">
       <font class="navPoint">5</font>
       <font class="navPoint">6</font>
      </td>
     </tr>
    </table>
   </td>
  </tr>
  </table>
     </xsl:template>
     
     <!--循环-->
     <!--
     <xsl:template name="firstitems">
  <xsl:for-each select='item[string-length(menu_id)=2]'>
   <xsl:variable name='varpid' select='menu_id'/>
   <xsl:call-template name='seconditems'>
    <xsl:with-param name='pid' select="$varpid"/>
   </xsl:call-template>
  </xsl:for-each>
     </xsl:template>
     -->
     <!--第二
     <xsl:template name='seconditems'>
  <xsl:param name='pid'/>
  <xsl:apply-templates select='//item[p_id=$pid]'/>
     </xsl:template>
     -->
     <!--原始数据(实现递归)
     <xsl:template match ="item">
   <tr onclick="cs(this.id)">
    <xsl:attribute name="id"><xsl:value-of select ='menu_id'/></xsl:attribute>
    
    <td><xsl:value-of select ='p_id'/></td>
    <td> 
     <xsl:value-of select ='menu_id'/>
    </td>
    <td><xsl:value-of select ='menu_name'/></td>
    <td><xsl:value-of select ='link_name'/></td>
    <td><xsl:value-of select ='infor'/></td>
    <td><xsl:value-of select ='url'/></td>
    <td><xsl:value-of select ='memo'/></td>
    <xsl:variable name='varpid' select='menu_id'/>
    <xsl:call-template name='seconditems'>
     <xsl:with-param name='pid' select="$varpid"/>
    </xsl:call-template>
   </tr>
 </xsl:template> 
 -->
 <xsl:template name='firstMenu'>
  <table id='frm_center' cellspacing='0' cellpadding="0" width="158" align="center">
  <xsl:for-each select='item[string-length(menu_id)=2]'>
   <!--记录循环的次数-->
   <tr onclick='cs(this.id)'>
   <xsl:attribute name='id'><xsl:value-of select='menu_id'/></xsl:attribute>
    <td class='menu_title' height='25'>
     <xsl:attribute name='background'>
      <xsl:text>images/Admin/admin_left_1.gif</xsl:text>
     </xsl:attribute>
     <xsl:value-of select="menu_name"/>
    </td>
   </tr>
   <tr>
    <td>
     <xsl:variable name='pid' select='menu_id'/>
     <xsl:call-template name='secondMenu'>
      <xsl:with-param name='pid' select='$pid'/>
     </xsl:call-template>
    </td>
   </tr>
   <tr height='20'/>
  </xsl:for-each>
  </table>
 </xsl:template>
 
 <!--第二级菜单-->
 <xsl:template name='secondMenu'>
  <xsl:param name='pid'/>
  <table class='sec_menu' style="WIDTH: 158px">
   <xsl:attribute name='id'>
    <xsl:value-of select="$pid"/><xsl:text>_menu</xsl:text>
   </xsl:attribute>
   <xsl:for-each select="//item[p_id=$pid]">
    <tr>
     <td><xsl:value-of select="menu_name"/></td>
     <td><xsl:value-of select="link_name"/></td>
    </tr>
   </xsl:for-each>
  </table>
 </xsl:template> 
</xsl:stylesheet>

3、javascript和Css部分较为简单,不再赘述

分享到:
评论

相关推荐

    xslt+xml+jquery建站

    为了解决这一问题,“xslt+xml+jquery建站”提供了一种高效且灵活的建站方案,它将XML作为数据结构,XSLT作为样式转换语言,jQuery作为前端交互库,三者结合,可以实现设计与开发的高效协同。 XML(eXtensible ...

    xslt + xml 动态菜单

    这可能需要结合JavaScript或CSS3来实现,但基础仍然是XSLT和XML提供的结构化数据和转换能力。 总的来说,使用XSLT和XML创建动态菜单的优点在于灵活性和可扩展性。因为XML数据独立于呈现逻辑,所以更改菜单结构或...

    HTML+Ajax+DOM+JavaScript+CSS+XML(文档合集).rar

    Ajax(异步JavaScript和XML)是一种技术模式,利用JavaScript实现局部刷新,提高网页交互体验。通过XMLHttpRequest对象,Ajax可以在不刷新整个页面的情况下向服务器发送请求并获取数据,通常配合JSON而非XML,因为...

    XML+XSLT+CSS+JQuery+WebService组建Asp.Net网优点

    3. **资源优化**:通过XML、XSLT、CSS和JS的合理搭配使用,可以显著减少页面加载时间,提升用户体验。例如,通过XSLT转换XML数据为HTML页面,再结合CSS进行样式渲染,可以大幅减少网络传输量和服务器负担。 4. **...

    HTML+CSS+JavaScript+XML等的帮助文档.rar

    XML可以与各种技术结合,如XSLT(用于转换XML数据)和XPath(用于在XML文档中查找信息)。在Web服务和跨系统数据交换中,XML起着重要作用。 这些文档可能包含对这些语言的详细解释、示例代码、最佳实践以及常见问题...

    精典css+html+xml+javascript中文教程

    此外,XML还常与XSLT、XPath等技术结合,实现数据的转换和查询,对于处理复杂数据交换和存储具有重要意义。 【JavaScript】:JavaScript是一种广泛应用于客户端Web开发的脚本语言,主要用于实现动态交互和功能增强...

    [其他类别]XSLT+ CSS + JQuery + WebService 实现网站_fldd.zip

    在这个项目中,WebService可能被用作后端服务,提供数据接口,使得前端(使用XSLT、CSS、JQuery构建的页面)可以获取并展示数据,实现前后端分离的开发模式。 综上所述,这个项目展示了如何将这些技术协同工作,以...

    XSLT+ CSS + JQuery + WebService 实现网站_dotnet整站程序.rar

    通过使用XSLT,开发者可以将复杂的XML数据结构转化为用户友好的网页布局。 CSS(Cascading Style Sheets)是网页设计中不可或缺的一部分,用于控制网页元素的样式、布局和呈现。在DotNet整站程序中,CSS用于实现...

    精通ASP.NET+XML+CSS网络开发混合编程

    通过AJAX(Asynchronous JavaScript and XML)技术,还可以实现页面的部分更新,提升用户体验。 在实际项目中,通常会使用Visual Studio这样的集成开发环境(IDE)进行ASP.NET开发,它提供了强大的编辑器、调试器和...

    ASP.NET源码——XSLT+ CSS + JQuery + WebService 实现网站.zip

    开发者可以通过查看源码学习到如何在ASP.NET中集成XSLT进行数据转换,使用CSS美化页面,借助JQuery增强用户交互,以及通过WebService实现远程服务调用。这将对提升Web开发技能,尤其是对ASP.NET平台的理解和应用能力...

    ASP.NET-[其他类别]XSLT+CSS+JQuery+WebService实现网站.zip

    在这个压缩包中,"ASP.NET-[其他类别]XSLT+CSS+JQuery+WebService实现网站.zip",显然包含了一系列使用这些技术的示例或教程。下面我们将深入探讨这四个关键组成部分及其在ASP.NET开发中的应用。 **XSLT...

    采用XSLT+CSS+JQuery+WebService技术实现ajax体验综合网站发布系统源码例子

    这是一个基于Web技术构建的综合网站发布系统实例,它利用了XSLT(可扩展样式表语言转换)、CSS(层叠样式表)、JQuery(一种强大的JavaScript库)以及WebService(网络服务)来提供Ajax(异步JavaScript和XML)的...

    [其他类别]XSLT+ CSS + JQuery + WebService 实现网站_fldd(ASP.NET源码).rar

    XSLT(Extensible Stylesheet Language Transformations)是用于转换XML数据的语言,CSS(Cascading Style Sheets)用于定义网页的布局和样式,JQuery是一个流行的JavaScript库,简化了DOM操作、事件处理和AJAX交互...

    HTML+CSS+JavaScript+XML等的帮助文档

    而XML的基本语法、命名空间、DTD或XML Schema验证、XPath和XSLT转换,对于处理结构化数据至关重要。 在学习过程中,可以借助各种在线文档、教程和实践项目来深化理解。例如,W3C官网提供了详尽的HTML和CSS规范,MDN...

    css+javaScript+jQuery+html5+xml的中文API

    JavaScript中的DOMParser可以解析XML字符串,XMLHttpRequest可以发送和接收XML数据,而XPath和XSLT则用于查询和转换XML。 这五个技术的API集合对于Web开发者来说是一份宝贵的资源。通过深入学习和熟练运用,开发者...

    XML+DTD+xsl+javascript

    JavaScript也可以使用DOM(Document Object Model)接口操作XML文档,添加、删除或修改元素,实现动态内容更新。 在这个“XML实训”项目中,你可能会接触到以下知识点: 1. **XML的基本语法**:学习如何创建XML...

    实用页面设计教程(html+css+js+xml)

    随着AJAX(Asynchronous JavaScript and XML)的出现,JavaScript能够异步地从服务器获取数据,实现无刷新页面更新。现代JavaScript库和框架,如jQuery、React、Vue和Angular,极大地提高了开发效率和用户体验。 ...

    用XML XSLT CSS JavaScript模式组建网站.pdf

    用XML XSLT CSS JavaScript模式组建网站

    使用JavaScript+XML+XSL创建树形目录

    在HTML页面中,我们可以使用JavaScript来加载XML和XSL文件,然后应用XSL转换得到HTML,最后使用DOM操作来实现树形目录的交互功能。以下是一个简单的JavaScript示例: ```javascript function loadTree() { var xhr...

Global site tag (gtag.js) - Google Analytics