<xsl: choose>
<xsl: quando teste ="Expressão booleana">
<xsl: quando teste ="Expressão booleana">
<xsl:otherwise>
</xsl: choose>
Cada elemento <xsl: when> possui uma condição de teste. A condição de teste é uma expressão booleana, a qual é uma expressão XPath que é convertida em um valor booleano. O conteúdo do primeiro elemento <xsl: when>, cuja condição de teste é verdadeira, é a saída em uma árvore de resultados.
Da mesma forma, o elemento <xsl: choose> pode ter um elemento <xsl:otherwise> opcional cujo conteúdo será a saída somente se nenhuma condição de teste de qualquer elemento <xsl: when> for verdadeira. Se nenhum elemento <xsl:otherwise> existir e nenhuma das condições de teste em qualquer um dos elementos filho <xsl: when> for verdadeira, então o elemento <xsl: choose> não produzirá qualquer saída.
Veja a seguir um exemplo de um elemento <xsl: choose>:
<xsl: choose>
<xsl: when test = "number [ . > 2000]">um número grande</xsl:when>
<xsl:otherwise>Um número pequeno</xsl:otherwise>
</xsl:choose>
Se o elemento numérico no arquivo XML de destino contiver um valor numérico maior que 2.000, a cadeia "Um número grande" será inserida na árvore de resultados. Em qualquer outro caso, "Um número pequeno" será inserido.
As instruções a seguir foram criadas para a perspectiva Recurso (Resource), mas também funcionarão em muitas outras perspectivas.
Para criar um elemento <xsl: choose>, siga estas etapas: