No ambiente de busca em documentos XML do XPath, por meio d...

Próximas questões
Com base no mesmo assunto
Q2249339 Programação
No ambiente de busca em documentos XML do XPath, por meio de uma Location Path Expression, assinale a expressão que seleciona todos os nós (nodes) “<livro>” que são filhos (children) do nó corrente.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - child::livro

A questão aborda o tema XPath, que é uma linguagem de consulta utilizada para selecionar nós de um documento XML. XPath utiliza expressões de caminho para navegar na estrutura de um documento XML, o qual é composto por nós que podem representar elementos, atributos, texto, entre outros. A expressão de caminho especifica os nós a serem selecionados e como eles se relacionam uns com os outros na hierarquia do documento.

No contexto desta questão, estamos interessados em selecionar todos os nós chamados livro que são filhos diretos do nó corrente. A expressão child::livro é a maneira correta de fazer isso em XPath. A palavra-chave child:: especifica que estamos interessados nos nós filhos do contexto atual, e livro é o nome do nó que desejamos selecionar. Portanto, essa expressão selecionará todos os nós livro que são filhos diretos do nó atual.

As outras alternativas não estão corretas pois não utilizam a sintaxe adequada do XPath para selecionar os nós requisitados:

  • A - all [livro] descendant não é uma expressão válida em XPath.
  • C - children["livro"] também não é válida; em XPath, a sintaxe correta para filhos é child:: e não children.
  • D - descendant-or-self livro selecionaria o nó livro e todos os seus descendentes, não apenas os filhos diretos.
  • E - namespace [livro] children é uma expressão que não faz sentido, pois mistura conceitos de forma incorreta e a sintaxe não é reconhecida por XPath.

Portanto, para resolver essa questão, é essencial entender a estrutura dos documentos XML e como o XPath permite navegar e selecionar partes específicas dessa estrutura.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A resposta correta é (B) child::livro.

A expressão child::livro seleciona todos os nós filhos do nó corrente que têm o nome “livro”.

As outras alternativas não são corretas porque:

  • (A) all [livro] descendant seleciona todos os descendentes do nó corrente que têm o nome “livro”, incluindo os nós que estão dentro de outros nós “livro”.
  • (C) children[“livro”] seleciona todos os nós filhos do nó corrente que têm o nome “livro”, mas não inclui os nós que estão dentro de outros nós “livro”.
  • (D) descendant-or-self livro seleciona todos os descendentes ou o próprio nó corrente que têm o nome “livro”.
  • (E) namescace [livro] children seleciona todos os nós filhos do nó corrente que têm o nome “livro” e que estão no mesmo espaço de nomes do nó corrente.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo