我是靠谱客的博主 外向秋天,最近开发中收集的这篇文章主要介绍XSL语法学习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

正规教程:http://www.w3school.com.cn/xsl/index.asp

标签手册:http://www.w3school.com.cn/xsl/xsl_w3celementref.asp

函数手册:http://www.w3school.com.cn/xsl/xsl_functions.asp


XSL头部定义:

因为XSL是标准的XML格式,所有第一行是xml的标准说明,第二行XSL的说明:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
如需访问 XSLT 的元素、属性以及特性,我们必须在文档顶端声明 XSLT 命名空间。即

version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"


XSL内容部分:

内容部分严格按照xml的规则来的,即都是由开始和结束节点构成的元素队。但必须要包含在xsl:template节点下

<xsl:template match="/">


XSL的常用语法:

<xsl:template match=“xpath”>  </xsl:template>   模板节点,所有要呈现的内容均要放在这类节点里

<xsl:value-of select="xpath" />      取值节点,获取对应xpath节点的文本值

<xsl:for-each select="xpath">  </xsl:for-each>    循环节点,循环指定xpath对应的节点

<xsl:if test="expression">  </xsl:if>     判断节点,如果条件正确则显示节点之间的内容

<xsl:choose>                  多重条件选择节点,类型case语法
  <xsl:when test="expression">
    ... 输出 ...
  </xsl:when>
  <xsl:when test="expression">
    ... 输出 ...
  </xsl:when>
  <xsl:otherwise>
    ... 输出 ....
  </xsl:otherwise>
</xsl:choose>

<xsl:sort select="nodename"/>     排序节点,按照指定的节点名升序排序

<xsl:apply-templates select="xpath"/>     应用模板,指定当前所在template节点范围下哪些子节点需要应用其对应的模板。没有select属性则表示所有子节点都应用模板;若指定则对指定的节点应用对应的模板,如果其没有对应的模板则直接显示该节点的文本内容

在XML中引用XSL文件:

<?xml-stylesheet type="text/xsl" href="你的xsl文件路径"?>


XML样例:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="你的xsl文件路径"?> 
<catalog>
	<cd>
		<title>Empire Burlesque</title>
		<artist>Bob Dylan</artist>
		<country>USA</country>
		<company>Columbia</company>
		<price>10.90</price>
		<year>1985</year>
	</cd>
	<cd>
		<title>Hide your heart</title>
		<artist>Bonnie Tyler</artist>
		<country>UK</country>
		<company>CBS Records</company>
		<price>9.90</price>
		<year>1988</year>
	</cd>
	<cd>
		<title>Greatest Hits</title>
		<artist>Dolly Parton</artist>
		<country>USA</country>
		<company>RCA</company>
		<price>9.90</price>
		<year>1982</year>
	</cd>
	<cd>
		<title>Still got the blues</title>
		<artist>Gary Moore</artist>
		<country>UK</country>
		<company>Virgin records</company>
		<price>10.20</price>
		<year>1990</year>
	</cd>
</catalog>


XSL样例:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
	  <xsl:sort select="price"/>
	  <xsl:if test="price > 5">
      <tr>
        <td><xsl:apply-templates select="title"/></td>
		      	<xsl:choose>
          <xsl:when test="price > 10">
            <td bgcolor="#ff00ff">
            <xsl:value-of select="artist"/></td>
          </xsl:when>
          <xsl:otherwise>
            <td><xsl:value-of select="artist"/></td>
          </xsl:otherwise>
        </xsl:choose>
        <td><xsl:value-of select="price"/></td>
      </tr>
	  </xsl:if>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

<xsl:template match="title">
	<span style="color:#ff0000"><xsl:value-of select="."/></span>
</xsl:template>

</xsl:stylesheet>


PS:

需要在html标签的属性里引用xml节点内容的,使用格式为{nede name}, 如下:

<img src='{screenshot}' />

最后

以上就是外向秋天为你收集整理的XSL语法学习的全部内容,希望文章能够帮你解决XSL语法学习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部