No ambiente de busca em documentos XML do XPath, por meio d...
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