XQuery vs XPath
XQuery é uma linguagem de programação funcional usada para consultar um grupo de dados XML. É capaz de manipular e extrair dados de documentos XML ou bancos de dados relacionais e documentos do MS Office que suportam uma fonte de dados XML. É uma linguagem que ajuda na criação de sintaxe para novos documentos XML. O XQuery é representado na forma de um modelo de árvore com sete nós, como instruções de processamento, elementos, nós do documento, atributos, espaços para nome, nós de texto e comentários. Todos os valores são referidos como sequências. Mesmo um único valor é considerado como uma sequência de comprimento um. A sequência pode consistir em nós ou valores atômicos, como números inteiros, seqüências de caracteres ou booleanos. Possui os seguintes recursos usados para a transformação de dados XML:
Efeito colateral livre.
Independência de dados lógicos / físicos.
Fortemente digitado.
Alto nível.
Declarativo.
XPath é a linguagem XML Path usada para selecionar nós de um documento XML usando consultas. Também pode calcular valores como seqüências de caracteres, números ou tipo booleano de outro documento XML. A expressão no caso de XML é conhecida como XPath. Ele é representado como uma estrutura em árvore com a capacidade do XPath de navegar nele, selecionando nós diferentes. Foi criado para definir um modelo comum de sintaxe e comportamento para XPointer e XSLT. XPath possui os seguintes recursos:
XPath define a sintaxe para um documento XML.
Tem a capacidade de navegar pelas expressões de caminho em documentos XML.
Possui sua própria biblioteca, definindo funções padrão.
É um componente importante do XSLT.
Outras diferenças entre XPath e XQuery:
1. XPath é visto como uma expressão regular, enquanto o XQuery é como uma linguagem de programação C, w.r.t. Documentos XML.
2. XPath é um filtro para um conjunto de dados XML e é o componente transformacional do XSLT. XQuery é usado para selecionar vários nós de um documento XML com a finalidade de processar usando consultas diferentes.
3. O XQuery usa a sintaxe XPath para abordar diferentes partes de um documento XML. As junções são realizadas usando a expressão FLWOR. Essa expressão possui cinco cláusulas, a saber: WHERE, ORDER BY, FOR, LET e RETURN.
Resumo:
1. XPath ainda está em seu estágio inicial de desenvolvimento e, como tal, ainda é um componente de uma linguagem de consulta.
2. XQuery suporta XPath e modelos relacionais estendidos.
3. XQuery é uma linguagem somente leitura que não é muito fácil de formular.
4. XQuery não é um padrão e é difícil de otimizar, levando a um desempenho ruim.