XSLT学习笔记


1. 样式声明:

 



2. XSLT常用元素:

2.1 创建模板
    Match属性的作用是使模板和XML元素相关联
    e.g.:......

2.2 选取XML元素,并添加到已被转换的输出流中
    e.g.:

2.3 循环
2.4 对结果进行排序
    e.g.:
           
            .....
        

   在我实际练习时,发现如果select属性中若要带参数,需要按照如下语法:

2.5 相当于if-then
   
        ......
   

2.6 相当于if-then-else
   
      
           ......
      

      
           ......
      

   

 

3. XSLT常用函数
3.1 current():返回当前节点
    e.g.:
    等效于:

3.2 document():访问一个外部的XML文档的节点
    e.g.:
    实际应用中,貌似document后面的接的Xpath中不能带参数变量,例如这样会出现解析错误:"document('other.xml')/root/$paramName/ChildNode"

3.3 element-available():测试指定的元素是否能被XSLT处理器支持
    e.g.:
             判断是否支持注释
        

3.4 format-number():数字转换为字符串
    e.g.:

3.5 function-available():测试是否支持该函数
    e.g.:
             ......
        

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

3.7 key():使用由指定的索引[index],从当前文档中返回一个节点组;
    e.g.:
              ......
         

3.8 system-property():返回通过name属性指定的系统属性值
    e.g.:

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

 

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

None.gif var xml  =   new  ActiveXObject( " MSXML2.DOMDocument " );
None.gifxml.load(
" filename.xml " );
None.gifvar xsl 
=   new  ActiveXObject( " MSXML2.FreeThreadedDOMDocument " );
None.gifxsl.load(
" filename.xsl " );      
None.gifvar xslTemplate 
=   new  ActiveXObject( " MSXML2.XSLTemplate " );
None.gifxslTemplate.stylesheet 
=  xsl;
None.gifvar xslProcessor 
=  xslTemplate.createProcessor();   
None.gifxslProcessor.input 
=  xml;
None.gifxslProcessor.addParameter(
" ParamName " , paramValue);
None.gifxslProcessor.transform();

XSLT中:

用$ParamName取得参数的值   

转载于:https://www.cnblogs.com/happyhippy/archive/2007/07/25/831576.html

你可能感兴趣的:(XSLT学习笔记)