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

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 样式表的样式表 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2772 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 样式表的样式表 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     ksai 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究汇编)
      文章:32
      积分:217
      门派:XML.ORG.CN
      注册:2005/3/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ksai发送一个短消息 把ksai加入好友 查看ksai的个人资料 搜索ksai在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ksai的博客楼主
    发贴心情 样式表的样式表

    样式表也能编写样式表,呵呵,这是小弟最近才发现的,我在xml方面可是一个完全的新人啊。文件如下,其中xml源文件不那么重要,完全是为了调用.NET中的Transform()方法。
    我已经在msxml3.0上调试过了,-----通过。
    xml原文件:
    <?xml version="1.0"?>
    <trans>
    <transform>sale</transform>
    <transform>manager</transform>
    </trans>
    样式表文件:
    <?xml version="1.0"  encoding="unicode"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
             xmlns:msxsl="urn:schemas-microsoft-com:xslt"
             xmlns:out="http://www.nbu.edu.cn/JunZhuohe">
    <xsl:output method="xml" indent="yes"/>
    <xsl:namespace-alias stylesheet-prefix="out" result-prefix="xsl"/>
    <xsl:param name="type-var"/>
    <xsl:template match="/">
    <out:stylesheet version="1.0">
    <out:import href="../spe/group0_sec.xsl"/>
    <out:import href="../spe/group1_sec.xsl"/>
    <xsl:choose>
       <xsl:when test="$type-var='manager'">
           <out:import href="../spe/group_man.xsl"/>
       </xsl:when>
       <xsl:when test="$type-var='sale'">
           <out:import href="../spe/group_sale.xsl"/>
       </xsl:when>
    </xsl:choose>
    <out:output method="xml" indent="yes"/>
    <out:key name="Supplier_key"   match="OrderItem" use="@Supplier"/>
    <out:key name="ProductID_key"  match="Quantity"  use="@ProductID"/>
    <out:template match="/">
        <out:variable name="redundant_OrderItem_rtf">
           <out:apply-templates select="Orders"/>
        </out:variable>
        <out:variable name="redundant_OrderItem"
                 select="msxsl:node-set($redundant_OrderItem_rtf)"/>

        <out:variable name="reduced_OrderItem_rtf">
         <out:call-template name="group1">
           <out:with-param name="group1_P" select="$redundant_OrderItem"/>
         </out:call-template>
        </out:variable>
        <xsl:choose>
         <xsl:when test="$type-var='manager'">
           <out:call-template name="group_res">
              <out:with-param name="group_res_P" select="msxsl:node-set($reduced_OrderItem_rtf)"/>
           </out:call-template>
         </xsl:when>
         <xsl:when test="$type-var='sale'">
             <out:call-template name="sale_res">
               <out:with-param name="group_sale_P"
                     select="msxsl:node-set($reduced_OrderItem_rtf)"/>
             </out:call-template>
       </xsl:when>
    </xsl:choose>
    </out:template>
    </out:stylesheet>
    </xsl:template>
    </xsl:stylesheet>
        这项技术的应用:
           比如有一大批的待处理xml文件,很可能他们的共性是主要的,但也有一些不同。
    如果为这些文件每一个分别编写XSLT,就有很多的代码重复,而且也很累哦!
    这时候,如果我们编写一个样式表,使他的输出为一个样式表,而这个产生的新的样式表是根据用户传递的参数产生的,那就减少了很多麻烦了。
       这是小弟一次发表自己的做法,希望大家多多支持啊。共同建设XML论坛这个我们XML程序员的家!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/9 19:04:00
     
     LULUSOFT 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:56
      门派:XML.ORG.CN
      注册:2005/5/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给LULUSOFT发送一个短消息 把LULUSOFT加入好友 查看LULUSOFT的个人资料 搜索LULUSOFT在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看LULUSOFT的博客2
    发贴心情 
    如果是多个CSS时,我们如何通过一个自定义的XML去调用?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/24 14:43:00
     
     ynself 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2005/5/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ynself发送一个短消息 把ynself加入好友 查看ynself的个人资料 搜索ynself在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ynself的博客3
    发贴心情 
    很难很难阿
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/30 17:13:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2026/3/6 3:06:45

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

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