1、模板的使用
工作中会遇到一些编码表的情况,就是数据库中存储的是数值,但显示的是一些实在意义的汉字。
这种情况我们可以定义一个存储数据的xsl文件,我定义了一个codeTab.xsl

然后把这个引用到Archive.xsl文件中,就是要显示真实数据的文件中
我们用学历举例:
Xsl实践总结(二)<xsl:include href="codeTab.xsl"/>
Xsl实践总结(二)
<xsl:variable name="oppEducation">
Xsl实践总结(二)  
<xsl:call-template name="GetDegree">
Xsl实践总结(二)   
<xsl:with-param name="Degree" select="Archives/Education"/>
Xsl实践总结(二)  
</xsl:call-template>
Xsl实践总结(二) 
</xsl:variable>
http://www.cnblogs.com/goody9807
codeTab.xsl
Xsl实践总结(二)<xsl:template name="GetDegree">
Xsl实践总结(二)        
<xsl:param name="Degree"/>
Xsl实践总结(二)        
<xsl:variable name="DegreeMapper">
Xsl实践总结(二)            
<Item>
Xsl实践总结(二)                
<Name>高中及以下</Name>
Xsl实践总结(二)                
<Value>1</Value>
Xsl实践总结(二)            
</Item>
Xsl实践总结(二)            
<Item>
Xsl实践总结(二)                
<Name>大学</Name>
Xsl实践总结(二)                
<Value>2</Value>
Xsl实践总结(二)            
</Item>
Xsl实践总结(二)            
<Item>
Xsl实践总结(二)                
<Name>硕士</Name>
Xsl实践总结(二)                
<Value>3</Value>
Xsl实践总结(二)            
</Item>
Xsl实践总结(二)            
<Item>
Xsl实践总结(二)                
<Name>博士</Name>
Xsl实践总结(二)                
<Value>4</Value>
Xsl实践总结(二)            
</Item>
Xsl实践总结(二)            
<Item>
Xsl实践总结(二)                
<Name>博士后</Name>
Xsl实践总结(二)                
<Value>5</Value>
Xsl实践总结(二)            
</Item>
Xsl实践总结(二)        
</xsl:variable>
Xsl实践总结(二)                
<xsl:value-of select="exslt:node-set($DegreeMapper)/Item[Value=$Degree]/Name"/>
 </xsl:template>

注意:这里用到了扩展的xslt,所以需要在上面定义xmlns:exslt="http://exslt.org/common" 

Xsl实践总结(二)<xsl:stylesheet version="1.0" xmlns:BitHelper="BitHelper" xmlns:math="http://exslt.org/math" xmlns:exslt="http://exslt.org/common" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


最后在实际用到的地方
Xsl实践总结(二)<td>学历:<xsl:value-of select="$oppEducation"/></td>
http://www.cnblogs.com/goody9807

2、xsl的中日期的格式转化

在页首定义的地方需要引用date的名称空间
Xsl实践总结(二)<xsl:stylesheet version="1.0" xmlns:date="http://exslt.org/dates-and-times" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

在出现日期的地方可以通过掩码的方式转化为你想要的日期格式

Xsl实践总结(二)<td>出生日期:<xsl:value-of select="date:format-date(Archives/Birthday,'yyyy年MM月dd日')"/></td>

3、xsl中用到一些exslt的Math名称空间下的方法

Xsl实践总结(二)<xsl:variable name="PowerNumbers">
Xsl实践总结(二)            
<xsl:for-each select="exslt:node-set($MatchIncomeMapper)/Item/Value">
Xsl实践总结(二)                
<Value>
Xsl实践总结(二)                    
<xsl:value-of select="math:power(2,number(.)-1)"/>
Xsl实践总结(二)                
</Value>
Xsl实践总结(二)            
</xsl:for-each>
Xsl实践总结(二)        
</xsl:variable>


具体的exslt的一些说明可以参考:
http://www.exslt.org/

4、如何在xsl拼接字符串
Xsl实践总结(二)    <xsl:for-each select="exslt:node-set($MatchIncomeMapper)/Item[BitHelper:isSelected(number($MatchIncome),Value)]">
Xsl实践总结(二)                    
<xsl:if test="position()&gt;1">,</xsl:if>
Xsl实践总结(二)                    
<xsl:value-of select="Name"/>
Xsl实践总结(二)                
</xsl:for-each>

position方法是xsl内置的方法,意思是取得每次循环中的位置,上面的循环可以达到拼接字符串的效果
就是比如说你有多个学历:
大学,博士,硕士

5、在xsl中引用Java类中的方法
首先我定义一个BitHelper的类

Xsl实践总结(二)import java.util.*;
}

http://www.cnblogs.com/goody9807

Xsl实践总结(二)<xsl:variable name="RandomNumber" select="BitHelper:RandomNumber(1,count($DestLoveTypeSet))"/>

注意要在页面首行引用名称空间
Xsl实践总结(二)<xsl:stylesheet version="1.0" xmlns:BitHelper="BitHelper" xmlns:exslt="http://exslt.org/common" xmlns:random="http://exslt.org/random" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

希望了解这方面知识的朋友多交流!

相关文章:Xsl实践总结(一)

相关文章:

  • 2021-12-07
  • 2021-09-16
  • 2021-10-01
  • 2022-01-05
  • 2021-04-17
  • 2021-10-23
  • 2021-11-30
  • 2021-04-19
猜你喜欢
  • 2022-01-23
  • 2021-07-05
  • 2021-11-09
  • 2022-02-18
  • 2021-06-17
  • 2021-07-14
  • 2021-12-03
相关资源
相似解决方案