美文网首页
XSL 语言(2)

XSL 语言(2)

作者: ColdRomantic | 来源:发表于2017-01-18 15:56 被阅读28次

    上一篇主要入门了 XSL,这一课来进一步学习XSL。

    1 语法

    (1) <xsl:if> 元素

    语法:

    <xsl:if test="expression">
      ...
      ...如果条件成立则输出...
      ...
    </xsl:if>
    

    如需添加有条件的测试,请在 XSL 文件中的 <xsl:for-each> 元素内部添加 <xsl:if> 元素。(下面的代码仅仅会输出价格等于 10 的 CD 的 title 和 artist 元素) 注:小于等于 可以组合起来使用。

          <xsl:for-each select="catalog/cd">
          <xsl:if test="price = 10">
            <tr>
              <td><xsl:value-of select="title"/></td>
              <td><xsl:value-of select="artist"/></td>
            </tr>
          </xsl:if>
          </xsl:for-each>
    
    (2) <xsl:choose> 元素

    <xsl:choose> 元素用于结合 <xsl:when> 和 <xsl:otherwise> 来表达多重条件测试。可以理解成C语言里面的条件分支case when。
    语法

    <xsl:choose>
      <xsl:when test="expression1">
        ... 输出 ...
      </xsl:when>
      <xsl:when test="expression2">
        ... 输出 ...
      </xsl:when>
      <xsl:otherwise>
        ... 输出 ....
      </xsl:otherwise>
    </xsl:choose>
    
    (3) <xsl:apply-templates> 元素

    <xsl:apply-templates > 元素可把一个模板应用于当前的元素或者当前元素的子节点。

    <xsl:apply-templates select="//fix/header/group" mode="fieldmode"/>
    <xsl:template mode="fieldmode" match="group">
    

    补充

    xsl中 text() 与 . 的区别在于:text()是目前节点位置下的文本节点,而. 是取目前节点位置下所有层次的文本节点

    相关文章

      网友评论

          本文标题:XSL 语言(2)

          本文链接:https://www.haomeiwen.com/subject/whqbbttx.html