Latest web development tutorials

XSLT <xsl: choose> elemento

<Xsl: choose> elemento é utilizado em conjunto <xsl: when> e <xsl: otherwise> para expressar vários testes condicionais.


<Xsl: choose> elemento

gramática

<xsl:choose>
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>


Lugar onde os critérios de selecção

Para inserir o arquivo XML para múltiplas condições de ensaio, adicionar ao arquivo XSL <xsl: choose>, <xsl: when> e <xsl: otherwise> elemento:

Exemplos

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price &gt; 10">

<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>

<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>

</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

tente »

O código acima será maior do que o preço do CD 10 colunas adicionar uma cor-de-rosa de fundo para "Artista".


outro exemplo

Esta é outra contém dois <xsl: when> elemento exemplo:

Exemplos

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price &gt; 10">

<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:when test="price &gt; 9">

<td bgcolor="#cccccc">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>

<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>

</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

tente »

O código acima é maior do que 10 a coluna "artista" para adicionar uma cor de fundo rosa no preço do CD, e mais de 9 e menor que o preço do CD é igual a 10 coluna para "Artista" para adicionar uma cor de fundo cinza.