您的位置: 首页 >日志>前端技术>详细内容

前端技术

XSL的学习和体会

来源:本站原创 发布时间:2012-06-28 21:08:16 浏览次数: 【字体:

     来到动易公司一转眼就三个月的时间,在动易做项目过程中最深刻的就是标签的使用、修改和制作。这个在以前公司是没有接触过的。而标签的制作又涉及到了SQL和XSL的知识,因此,我必须学习这方面的知识。通过这段时间的学习,让我积累了一些知识和体会,现在跟大家一起分享一下XSL和XPath的基础知识,从而也希望大家能指出我在这方面的不足之处等。

     1.首先介绍的是我在工作过程中总结的一些常用XSL知识,如下:

  1. <xsl:template match="/">  
  2.      xsl:template> 
  3.       
  4.     <xsl:value-of select="值"/>  
  5.       
  6.     <xsl:for-each select="/NewDataSet/Table">  
  7.      xsl:for-each> 
  8.       
  9.     <xsl:if test="判断条件"> 
  10.           
  11.      xsl:if> 
  12.       
  13.     <xsl:choose>  
  14.                
  15.         <xsl:when test="判断条件"> 
  16.          xsl:when> 
  17.         <xsl:otherwrise> 
  18.          xsl:otherwrise> 
  19.      xsl:choose> 
  20.       
  21.     <xsl:element name="元素的名称">  
  22.         <xsl:attribute name="元素属性名称">  
  23.               
  24.          xsl:attribute> 
  25.      xsl:element> 

    2.XPath的常用运算符

     通过上面的了解了基本的xsl元素,从上面可以看到我们有一些判断元素,那么我们就必须要有一些合适它的运算符进行判断,才能得出给予的条件是TRUE还是FALSE,下面就让我们了解常用的XPath运算符,如下:

     = (等于)、  !=(不等于)、 >(大于)、 <(小于)、 >=(大于等于)、 <=(小于等于)、  or(或)、 and(与)、 mod(计算除法的余数)等

   3.目前我总结的XPath常用那个函数,如下:

    (1)count(node-set)  返回 node-set 参数中的节点总数、返回值为整数;

    (2)position()  返回节点列表中当前节点的位置,即当前节点在整个节点列表中第几位的整数。

    (3)last()     返回节点列表中最后一位节点的位置

 根据上面的XSL和XPath知识,我们制作一个循环的有序列表,并且在偶数列中添加“even”类名、最后一列添加“last”类名,如下:

  1. <xsl:template match="/"> 
  2. <ul> 
  3.     <xsl:for-each select="/NewDataSet/Table"> 
  4.         <li> 
  5.             <xsl:if test="position() mod 2 =0"> 
  6.                 <xsl:attribute name="class"> even xsl:attribute> 
  7.              xsl:if> 
  8.             <xsl:if test="last()">  
  9.                 <xsl:attribute name="class"> last xsl:attribute> 
  10.              xsl:if> 
  11.             这是第<xsl:value-of select="position()"/>个li里面的内容  
  12.          li> 
  13.      xsl:for-each>   
  14. ul> 
  15. xsl:template> 

上面的模板转换的HTML代码结果将会如下所示(假如循环5次):

  1. <ul> 
  2.     <li>这是第1个li里面的内容 li> 
  3.     <li class=" even">这是第2个li里面的内容 li> 
  4.     <li>这是第3个li里面的内容 li> 
  5.     <li class=" even">这是第4个li里面的内容 li> 
  6.     <li class=" last">这是第5个li里面的内容 li> 
  7. ul> 

    虽然上都是一些基本的XSL和XPath知识,但还是希这方面内容总结能够对大家有所帮助!上面的代码都是手工输入的,由于时间不是很充分,没有测试!若是出现错误,希望大家谅解并从中指出不足之处!

 

×

用户登录