Questão nº 61
Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 61)
Observe o seguinte recorte do documento `listacara.xsl`
```
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<th>Tipo</th>
<th>Nome</th>
</tr>
<xsl:for-each select="lista/produto">
<tr>
<td><xsl:value-of select="tipo"/></td>
<xsl:choose>
<xsl:when test="preco > 10">
<td>
<xsl:text>CARO </xsl:text>
<xsl:value-of select="nome"/>
</td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="nome"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
```
Observe o seguinte recorte do documento `lista.xml`
```
<?xml-stylesheet type="text/xsl" href="listacara.xsl"?>
<lista>
<produto>
<tipo>Comida</tipo>
<nome>Arroz</nome>
<preco>10</preco>
</produto>
<produto>
<tipo>Roupa</tipo>
<nome>Blusa</nome>
<preco>15</preco>
</produto>
</lista>
```
Ao abrir o documento `lista.xml` em um browser, o resultado será:
- A
(alternativa correta) - B

- C

- D

- E

Resposta comentada
Gabarito Alternativa A
XSLT (eXtensible Stylesheet Language Transformations) é uma linguagem que permite transformar documentos XML em outros formatos, como HTML, aplicando regras definidas em um arquivo de estilo. O processo consiste em percorrer o XML, selecionar partes dele e gerar uma nova estrutura de saída conforme as instruções do XSLT.
(A) Correta: O XSLT percorre cada `produto`. Para "Arroz", o `preco` é 10, e a condição `preco > 10` é falsa, então exibe apenas "Arroz". Para "Blusa", o `preco` é 15, e a condição `preco > 10` é verdadeira, então exibe "CARO Blusa".
(B) Incorreta: A condição `preco > 10` não é satisfeita para o "Arroz" (cujo preço é 10), então ele não deveria ser marcado como "CARO".
(C) Incorreta: A condição `preco > 10` é satisfeita para a "Blusa" (cujo preço é 15), então ela deveria ser marcada como "CARO Blusa".
(D) Incorreta: Assim como na alternativa C, a "Blusa" deveria ser marcada como "CARO".
(E) Incorreta: O "Arroz" não deveria ser marcado como "CARO" e a "Blusa" deveria ser marcada como "CARO". A armadilha aqui é não observar que a condição `preco > 10` é uma desigualdade estrita, ou seja, 10 não é maior que 10.
Fonte: FGV TCE-TO 2022 Analista Técnico - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.