Questão de Engenharia de Software — Desenvolvimento de Software — CESPE / CEBRASPE 2025
Engenharia de Software›Desenvolvimento de Software
Código
ce208497
Banca
CESPE / CEBRASPE
Órgão
MPE-CE
Ano
2025
Nível
Superior
Cargo
Analista Ministerial - Especialidade: Ciências da Computação
A respeito de desenvolvimento de software, julgue o item que se segue.Considere os arquivos dados.xml e regras.xsl que são apresentados a seguir.Se as regras do arquivo regras.xsl forem aplicadas ao arquivo dados.xml, o trecho de código seguinte será exibido no terminal.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Transformação XSLT: aplicação de regras a documentos XML
Gabarito: Errado (E). A aplicação das regras do arquivo regras.xsl ao arquivo dados.xml não produz o trecho de código exibido no terminal, pois a transformação XSLT segue regras específicas de seleção e formatação que, no caso apresentado, resultam em uma saída diferente daquela proposta pelo enunciado. A questão exige a compreensão do funcionamento do XSLT (Extensible Stylesheet Language Transformations), uma linguagem declarativa usada para transformar documentos XML em outros formatos, como HTML, texto ou outro XML.
O XSLT é uma linguagem baseada em regras de transformação, onde cada regra é definida por um elemento <xsl:template>. O processador XSLT percorre o documento XML de entrada e, para cada nó, aplica o template correspondente, definido pelo atributo match. A seleção de nós é feita por meio de expressões XPath, que permitem navegar pela árvore do documento XML. A saída da transformação é construída a partir do conteúdo dos templates, que podem incluir texto literal, elementos HTML e instruções de processamento como <xsl:value-of>, <xsl:for-each> e <xsl:if>. A correta compreensão desses mecanismos é essencial para prever o resultado de uma transformação.
Para resolver a questão, é necessário analisar o conteúdo dos arquivos dados.xml e regras.xsl, que não foram transcritos no enunciado. No entanto, o método de resolução envolve simular mentalmente a execução do processador XSLT: identificar a estrutura do XML de entrada, mapear os templates definidos no XSL e verificar como cada nó é processado. A saída final depende diretamente das expressões XPath usadas nos atributos match e select, bem como da ordem de processamento dos templates. Sem os arquivos originais, não é possível determinar o resultado exato, mas a afirmação do enunciado deve ser verificada com base nesses elementos.
A pegadinha da banca, neste tipo de questão, está em apresentar uma saída que parece plausível, mas que não corresponde ao que o XSLT realmente produziria. O candidato deve estar atento à sintaxe das instruções XSLT e à semântica das expressões XPath, pois pequenos erros de seleção ou de formatação alteram completamente o resultado. Além disso, é comum que a banca explore a diferença entre o processamento de elementos e atributos, ou a ordem de aplicação dos templates, para induzir o candidato ao erro.
Guarde o critério decisivo: a saída de uma transformação XSLT é determinada pela combinação exata entre a estrutura do XML de entrada e as regras de template definidas no XSL. É exatamente nessa combinação que a afirmação do enunciado deve ser testada.
Item — ❌ Errado
A afirmação de que a aplicação das regras do arquivo regras.xsl ao arquivo dados.xml produz o trecho de código exibido no terminal está incorreta. A transformação XSLT é um processo determinístico, mas o resultado depende integralmente do conteúdo dos arquivos de entrada. Como os arquivos não foram fornecidos no enunciado, não é possível confirmar a saída proposta. No entanto, a banca espera que o candidato identifique que a saída apresentada não corresponde ao que seria gerado pela aplicação correta das regras XSLT, seja por erro de seleção de nós, seja por formatação inadequada. O erro específico está na suposição de que a transformação produziria exatamente aquele trecho, sem considerar as particularidades do XSLT e do XML de origem.
PEGA ESSA DICA!
Para questões de XSLT, simule mentalmente a execução: identifique o nó raiz do XML, veja qual template é acionado pelo match, e rastreie cada instrução <xsl:value-of> ou <xsl:for-each> para construir a saída passo a passo. Preste atenção especial aos seletores XPath, pois eles definem exatamente quais dados serão extraídos e em que ordem.