Questão nº 50

Questão de Tecnologia da Informação · CESGRANRIO BASA 02/2021 (nº 50)

CESGRANRIO2021Técnico Científico - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Aver comentário ↓

Um projetista de sistemas está desenvolvendo um siste-
ma e precisou programar um arquivo XSLT. Neste arquivo,
ele precisou inserir um elemento para aplicar uma regra
de modelo, a partir de uma folha de estilo importada, ao
invés de uma regra equivalente, a partir da folha de estilo
principal, mas sem que este elemento apareça como o
primeiro nó filho de `<xsl: stylesheet>`.

Para este caso, o elemento que deve ser inserido para
aplicar tal regra nesse arquivo XSLT é o

Resposta comentada

Gabarito Alternativa A

Conceito-chave: XSLT tem duas formas de usar regras de outras folhas de estilo: import (prioridade menor) e include (prioridade igual). Quando você importa uma folha e quer chamar uma regra da folha importada (e não a da folha principal), usa-se <xsl:apply-imports>. Esse elemento só funciona dentro de uma regra de modelo (<xsl:template>) e serve para "delegar" o processamento à versão importada, sem precisar reescrever a regra.

  • (A) Correta: <xsl:apply-imports> é exatamente o elemento que aplica uma regra de modelo vinda de uma folha de estilo importada, priorizando-a sobre a regra equivalente da folha principal — e não precisa ser o primeiro filho de <xsl:stylesheet>.
  • (B) Incorreta: <xsl:apply-templates> aplica regras de modelo aos nós filhos do nó atual, mas sempre prioriza a regra de maior prioridade (da folha principal), não a importada — por isso não atende ao caso.
  • (C) Incorreta: <xsl:import> é o elemento usado para importar uma folha de estilo inteira, mas deve ser o primeiro filho de <xsl:stylesheet>; não é usado para aplicar uma regra específica.
  • (D) Incorreta: <xsl:include> insere o conteúdo de outra folha de estilo com a mesma prioridade da principal, mas não permite chamar uma regra importada especificamente; e também não é um elemento de aplicação de regra.
  • (E) Incorreta: <xsl:template> define uma regra de modelo, mas não a aplica; é o "molde" que será chamado por apply-templates ou apply-imports, não o elemento que faz a chamada.

Armadilha da banca (no distrator mais tentador, a letra B): O aluno confunde apply-templates (que é o mais comum e aparece em todo exemplo básico) com apply-imports. A pegadinha está no verbo "importada": quem lê rápido pensa "aplicar templates" e marca B, mas a questão exige priorizar a regra da folha importada, o que só apply-imports faz.

Fonte: CESGRANRIO BASA 02/2021 Técnico Científico - Tecnologia da Informação. Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho