Questão nº 69
Questão de Informática · FGV MPMS 2012 (nº 69)
Considere o seguinte documento XML:
<?xml version="1.0"?>
<hamburgeres>
<hamburger baixacaloria="Nao">
<nome>CowBurger</nome >
<descricao>Hamburger de carne de vaca.</descricao>
<preco>2</preco>
</hamburger>
</hamburgeres >
Considere também o seguinte código XSL:
<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>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Assinale a alternativa que descreve a saída da execução do código XSLT tendo como entrada o documento XML mostrado anteriormente.
- ASerá gerado um documento HTML. (alternativa correta)
- BNão é possível aplicar este código XSLT sobre o documento XML apresentado.
- CO documento XML apresentado não é válido.
- DEm XSL/XSLT não existe o elemento template.
- ESerá gerado um arquivo WSDL.
Resposta comentada
Gabarito Alternativa A
XSLT (eXtensible Stylesheet Language Transformations) é uma linguagem que permite transformar documentos XML em outros formatos, como HTML, texto puro ou outro XML, usando regras definidas em um arquivo de estilo.
- (A) Correta: O código XSLT contém tags HTML (
<html>,<body>,<table>, etc.) dentro do seu template principal. Mesmo que o loop<xsl:for-each select="catalog/cd">não encontre nenhum dado no XML de entrada (pois não há elementoscatalogoucd), a estrutura HTML estática definida no template será gerada, resultando em um documento HTML válido. - (B) Incorreta: Esta é a armadilha. Embora o XSLT não encontre os elementos
catalog/cdno XML de entrada, a transformação é possível. O processador XSLT aplicará o templatematch="/", gerará todo o HTML estático e simplesmente ignorará o conteúdo doxsl:for-eachporque não há nós correspondentes para iterar. A transformação ocorre e produz uma saída. - (C) Incorreta: O documento XML apresentado está bem-formado (tem a sintaxe correta, tags abertas e fechadas corretamente, etc.). A validade se refere à conformidade com um DTD ou Schema, que não é fornecido, mas o XML é sintaticamente correto e pode ser processado.
- (D) Incorreta: O elemento
<xsl:template>é um dos componentes fundamentais do XSLT, usado para definir as regras de transformação que serão aplicadas aos nós do documento XML. - (E) Incorreta: WSDL (Web Services Description Language) é um formato XML para descrever serviços web. Embora XSLT possa gerar WSDL, este código XSLT específico está claramente projetado para gerar HTML, como evidenciado pelas tags
<html>,<body>, etc.
Fonte: FGV MPMS 2012 Analista - Informática/Análise de Sistemas. Reproduzida para fins de estudo.