xslt语法之---基础语法

1. XSLT常用元素:

1.1 <xsl:template>:创建模板
    Match属性的作用是使模板和XML元素相关联

<xsl:template match="\">......</xsl:template>

1.2 <xsl:value-of>:选取XML元素,并添加到已被转换的输出流中

<xsl:value-of select = "xpath"/>

1.3 <xsl:for-each>:循环
1.4 <xsl:sort>:对结果进行排序

<xsl:for-each select ="catalog/cd["article='Bob']"> 
            <xsl:sort select="article"/> 
            ..... 
</xsl:for-each>
          
   在我实际练习时,发现如果select属性中若要带参数,需要按照如下语法:
<xsl:sort select="*[name()=$param1Name]" order="{$para2Name}"/>
1.5 <xsl:if>:相当于if-then 
   
<xsl:if test="price>10"> 
        ...... 
</xsl:if>
1.6 <xsl:choose>:相当于if-then-else 
   
<xsl:choose> 
       <xsl:when test="expression"> 
           ...... 
       </xsl:when> 
       <xsl:otherwise> 
           ...... 
       </xsl:otherwise> 
</xsl:choose>

2. XSLT常用函数
2.1 current():返回当前节点
  

<xsl:value-of select="current()"/>
      等效于
<xsl:value-of select="."/>

2.2 document():访问一个外部的XML文档的节点
   

<xsl:value-of select="document('other.xml')/root/xpath"/>
      实际应用中,貌似document后面的接的Xpath中不能带参数变量,例如这样会出现解析错误:"document('other.xml')/root/$paramName/ChildNode"

2.3 element-available():测试指定的元素是否能被XSLT处理器支持
   

<xsl:when test="element-available('xsl:comment')"> 
           判断是否支持注释 
</xsl:when>

2.4 format-number():数字转换为字符串
   

<value-of select="format-number(500,'#.00')"/>

2.5 function-available():测试是否支持该函数
 

<xsl:if test="function-availabel('current')"> 
       ...... 
</xsl:if>

2.6 generate-id():返回自增独立唯一标识,类似于SQL中的identity(1,1)

2.7 key():使用由<xsl:key>指定的索引[index],从当前文档中返回一个节点组;
  

<xsl:for-each select="key('string','object')"> 
          ...... 
 </xsl:for-each>

2.8 system-property():返回通过name属性指定的系统属性值
   

<xsl:value-of select="system-property('xsl:version')"/>

2.9 unprased-entity-uri():返回未解析实体的URI.

3. JS传参数给XSLT:
JS中:

var xml = new ActiveXObject("MSXML2.DOMDocument"); 
xml.load("filename.xml"); 
var xsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); 
xsl.load("filename.xsl");      
var xslTemplate = new ActiveXObject("MSXML2.XSLTemplate"); 
xslTemplate.stylesheet = xsl; 
var xslProcessor = xslTemplate.createProcessor();   
xslProcessor.input = xml; 
xslProcessor.addParameter("ParamName", paramValue); 
xslProcessor.transform();
XSLT中:
<param name="ParamName"></param>
用$ParamName取得参数的值   

转载于:https://www.cnblogs.com/cRaZy-TyKeIo/p/3484216.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值