模式
选择模式
<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>
测试模式
<xsl:if> 和<xsl:when>
匹配模式
<xsl:template>
模板的使用
<xsl:template match="articleinfo">
</xsl:template>
是定义模板,相当于定义函数
<xsl:apply-templates select="articleinfo"/>
是调用定义的模板
例如:
<!--文章模板-->
<xsl:template match="article">
<xsl:apply-templates select="articleinfo"/>
<xsl:apply-templates select="overview"/>
<xsl:apply-templates select="catalog"/>
</xsl:template>
<!--头模板-->
<xsl:template match="articleinfo">
</xsl:template>
<!--概述-->
<xsl:template match="overview">
</xsl:template>
............
一些语法
循环
<xsl:for-each select="sect1">
<p class="para"><xsl:value-of select="."/></p>
</xsl:for-each>
测试
<xsl:if test=".[value()!='']">
<p class="para"><xsl:value-of/></p>
</xsl:if>
最前面的. 指要操作的节点,属性等值
[] 中为过滤条件
里面为条件 value() 指值
另外还有text() index()等
test=".[.!='']" 等价于test=".[value()!='']"
test="aa/@code[.='555']" 指aa的code属性值为555 通常在不使用xsl函数的情况下都要在
[]中的最前面有个. 指[]外面的当前节点
增加属性
<xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
当取当前节点值时可以用
<xsl:value-of select="."/> 或
<xsl:value-of/>