zoukankan      html  css  js  c++  java
  • Xsl实践总结(一)

    在一个大型的项目中往往用到好几种开发语言,例如C# Java  PHP 。。。
    那么如何更好更方便的实现这几种语言之间的相互通讯和结合呢,我下面来介绍一种新的模式,当然已经有很多人用过,但我还是要罗嗦一下:
      通过XML进行交互,每种语言设计的对象类都可以转化为内存中的xml对象,然后每种语言都可以对xml对象进行操作与交互。

    最近做了一个项目就是改造以前的程序提升性能,由于以前页面上的构造非常乱而且杂,有从Mysql数据库取数据的,也有从SqlServer数据库取数据的,而且数据库分布在多个服务器上,由于每个项目组之间的协调不够所以在读取数据上有读取重复数据的情况,大大浪费了资源。一个页面上访问数据库很多次,所以造成访问速度非常慢。我们现在设计了一个模式,就是一次性从数据库加载所有的数据然后转化为内存中的xml对象,然后用xsl对数据包装转化为一个带有样式的Html,所有的Js中变量都一次性打到页面上以便使用。

    下面介绍几个使用xsl的方法:

    XML文件


    先附上xsl, 名字为BasicTemplate.xsl

    XSL模板



    1、在xsl中定义变量,用xpath取出数据,然后可以在用于显示的地方进行调用
    <xsl:variable name="curUserID" select="Data/ME/BasicInfo/UserID"/>
    <xsl:value-of select="$curUserID"/>
    2、xsl也可以像导入控件一样来引入另一个xsl 
    <xsl:include href="lovetype.xsl"/>
    3、条件语句的使用
             <xsl:if test="$oppGender='true'">男</xsl:if>
             <xsl:if test="$oppGender='false'">女</xsl:if>
    $oppGender代表一个变量,值为true or  false

    这里的if语句没有else部分,要想使用else只能用when

    语法如下:

     <xsl:choose>
                <xsl:when test="expression">
                ... some output ...
                </xsl:when>
                <xsl:otherwise>
                ... some output ....
                </xsl:otherwise>
                </xsl:choose>
     


    4、for-each 循环语句

    <xsl:template match="/"> 
         
    <TABLE> 
              
    <xsl:for-each select="//car"> 
                   
    <xsl:sort data-type="text" select="@id"/> 
                   
    <TR> 
                        
    <TH> 
                             
    <xsl:text>Car-</xsl:text> 
                             
    <xsl:value-of select="@id"/> 
                        
    </TH> 
                   
    </TR> 
              
    </xsl:for-each> 
         
    </TABLE> 
    </xsl:template>
    select 是选取的xml文件的符合条件的节点集合
  • 相关阅读:
    Android端 配置极光推送
    udev的使用-minicom没有权限打开串口,更改 ttyUSB0 的权限
    【Oracle】RAC删除节点
    Linux学习(二) wget命令的使用
    Struts2拦截器
    SpringMVC实战(三种映射处理器)
    rbd_rados命令拷屏
    网络威胁防护,Azure 靠的是它?
    一块钱使用开发测试环境,助你快速打造万圣节促销应用
    想要快速搭建开发测试环境?这么做就可以!
  • 原文地址:https://www.cnblogs.com/goody9807/p/847661.html
Copyright © 2011-2022 走看看