1。xml文件中处理指令:
<?xml-stylesheet type="text/xsl" href="FitnessCenter.xsl"?>
2。xslt根元素
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
3。输出到属性:
3.1快速用法:
无效:<Body bgcolor="<xsl:value-of select='/FitnessCenter/Member/FavoriteColor'/>">
有效:<Body bgcolor="{/FitnessCenter/Member/FavoriteColor}">
3.2 用<xsl:attribute输出属性:
<TR>
<xsl:attribute name="bgcolor">yellow</xsl:attribute>
4。一般输出:
<xsl:value-of select="/FitnessCenter/Member/Phone[@type='home']"/>
5。迭代(<xsl:for-each):
<xsl:for-each select="/FitnessCenter/Member/Phone">
<!--用XPath取得一个XML nodeList-->
<TR>
<TD><xsl:value-of select="@type"/></TD>
<TD><xsl:value-of select="."/></TD>
</TR>
</xsl:for-each>
5.1 XPath用法
<xsl:for-each select="/FitnessCenter/Member[position() != last())]">
<!-- 除最后一个元素外都处理 -->
</xsl:for-each>
<xsl:for-each select="/FitnessCenter/Member[position() >1]">
<!-- 除第一个元素外都处理 -->
</xsl:for-each>
<xsl:for-each select="/FitnessCenter//Name">
<!-- 取所有以FitnessCenter为辅元素的Name元素 -->
</xsl:for-each>
5.2叠代中的序号
<xsl:for-each select="/FitnessCenter/Member">
<xsl:number value="position()" format="A"/>
<xsl:text>. </xsl:text>
<xsl:value-of select="Name"/>
<BR/>
</xsl:for-each>
其中:format(格式)可取一下值:
format=“1” generates the sequence: 1, 2, 3, …
format=“01” generates: 01, 02, 03, …
format=“A” generates: A, B, C, …
format=“a” generates: a, b, c, …
format=“I” generates: I, II, III, …
format=“i” generates: i, ii, iii, ...
5.3迭代中的排序(<xsl:sort)
<xsl:for-each select="/FitnessCenter/Member">
<xsl:sort select="Name" order="ascending"/>
<xsl:value-of select="Name"/>
<BR/>
</xsl:for-each>
6。分枝
6.1简单:
<xsl:for-each select="/FitnessCenter/Member[position() > 1]">
Our special offer to platinum members today is ...
<BR/>
</xsl:if>
6.2复杂:
<xsl:choose>
<xsl:when test='something>
[action]
</xsl:when>
<xsl:when test='something'>
[action]
</xsl:when>
<xsl:otherwise>
[action]
</xsl:otherwise>
</xsl:choose>
7。变量(<xsl:variable)
7.1简单:
<xsl:variable name="pi" select="'3.142857142857'"/>
7.2复杂:
<xsl:variable name="names">
<xsl:value-of select="/FitnessCenter/Member[1]/Name"/>
<xsl:for-each select="/FitnessCenter/Member[position() > 1]">
<xsl:text>/</xsl:text>
<xsl:value-of select="Name"/>
</xsl:for-each>
</xsl:variable>

文章来源:http://spaces.msn.com/members/jewer91/Blog/cns!1p6udCMYMrSYD0M1VOX6N3VQ!128.entry
浙公网安备 33010602011771号