使用xsql技术做项目的可以经常会使用到xsl文件,可以说xsl文件跟xsql是息息相关的,下面给大家分享一下我学习xsl文件的心得和体会
.
1.xsl文件的简单介绍
xsl是一种标记语言,表示如何将xml文档的内容装换成另一种形式的文档,可以接受HTML的许多脚本,所以一个xsl其实就是页面上看到的内容(俗称页面的渲染文件);xsl同时也包含了许多函数,例如:substring,count,number等等这些函数在书写复杂的xsl很有用.
2.xsl文件的简单标签介绍
xsl一般都是处理xsql文件取出的xml文件或者说是数据吧,渲染成页面需要展示的格式,当然xsl文件也可以接受页面上从js里面传过来的参数,下面给大家介绍一些简单常用的标签:
(1)<xsl:param name="now"/> 接受从前台页面传过来的参数(参数名为:now)
(2)<xsl:template match="/"> 元素用于构建模板 match="/" 定义整个文档也即是xsql文件中所有的数据
(3)<xsl:variable name="nowday" select="substring($now,1,10)"/> 定义一个变量nowday
(4)定义完一个变量当然是需要使用它的,使用它有很多中方法,具体的看需要了
例如:<input type="hidden" id="day" value="{$nowday}"/>
<xsl:value-of select="$nowday"/>
(5)<xsl:for-each select="//DATEFLIGHT">类似java的for循环只不过这里是循环取出xml文件的内容
(6)<xsl:if test="">java中的if语句
<xsl:if test="$flightIndex=1"> 注意判断相等写成“=”
(7)<xsl:choose> java中的if else语句
<xsl:when test="$flightNum>1">
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
xsl常用的标签大致就这些了,其实还是比较简单的~~
3.xsl函数
xsl的函数貌似不是很多,给大家推荐一个地址上面的函数貌似还是比较全面的~~
http://www.w3school.com.cn/xsl/xsl_functions.asp
4.最后和大家聊聊xsl和xsql是怎么关联起来的,貌似有2中方法:
(1)直接在xsql里面写以下代码:(这种方法不是很推荐)
<?xml-stylesheet type="text/xsl" href="transform/info.xsl"?>
(2)在js里面:一般我们都是通过AJAX调用xsql然后返回一个XML文件,在success方法里面对返回的xml文件进行渲染处理:(代码比较长,所以就粘贴了xsl部分)
$.transform({
datatype: "xml",
async: false,
xslPath: xslurl,
xmlDom: msg,
el:"#flight_info",
xslParams:{
arrcity:arrcity,
depcity:depcity,
now:now
}
});
其中xslurl是我们渲染文件xsl文件的路径;xslParams是传给xsl的参数;el:是接受渲染文件的div的id