### XSLT 轻松入门第三章：XSLT 的元素语法

3.5 xsl:choose, xsl:when 和 xsl:otherwise

xsl:if 语法没有else的属性。如果我们要进行多项选择，那么就要使用xsl:choose / xsl:when / xsl:otherwise系列流程控制语法了。具体的使用请看下面的XSL文件例子：

<xsl:template match="PEOPLE">
<xsl:choose>
<xsl:when test="@name = 'ajie'">
<B><xsl:value-of select="@name"/></B>
</xsl:when>
<xsl:when test="@name">
<I><xsl:value-of select="@name"/></I>
</xsl:when>
<xsl:otherwise>
No name available
</xsl:otherwise>
<xsl:choose>
</xsl:template>

说明：首先在PEOPLE节点下寻找<name>属性值为ajie的元素，如果找到，将ajie用粗体输出；如果没有发现值为ajie的<name>元素，则将所有的<name>元素的值都用斜体输出；如果没有发现任何<name>元素，则显示"No
name available"。

3.6 xsl:sort

在XSLT中可以对XML源文档的元素进行重新排序，排序的语法就是xsl:sort。举例：下面的代码就是将文档元素按name排序。

<xsl:template match="PEOPLE">
<xsl:apply-templates select="PERSON">
<xsl:sort select="@name"/>
</xsl:apply-templates>
</xsl:template>

以上是XSLT的元素的主要语法，还有很多其他的语法，例如：import, include, element, attribute, number, param等等语法，在这里就不一一解释。我们的目的是让您对XSLT的语法有基本的概念，理解XSLT作为一种转换语言的强大功能。