Buscar

Introdução à Linguagem de Consulta XPath

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem de Consulta XPath
Caminhos, predicados, ancestrais e funções
Prof. Walmes Zeviani
walmes@ufpr.br
Laboratório de Estatística e Geoinformação
Departamento de Estatística
Universidade Federal do Paraná
Walmes Zeviani · UFPR Linguagem de Consulta XPath 1
http://leg.ufpr.br/~walmes
mailto:walmes@ufpr.br
Introdução
Motivação
I XPath é uma linguagem de consulta para XML.
I Ela é baseada em notação de caminhos e é bastante flexível.
I Com XPath pode-se:
I Utilizar regras lógicas em atributos e conteúdo.
I Descrever caminhos baseados em relação vertical e horizontal.
I Aplicar funções numéricas e de texto.
I Existem outras formas de apontar para extração mas geralmente
são subótimas comparadas ao XPath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 2
Introdução
Objetivos
I Introduzir o básico da sintaxe XPath para consultas.
I Apresentar uso dos predicado e genealogia em consultas XPath.
I Ilustrar o uso de predicados, operadores e funções.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 3
XPath
Walmes Zeviani · UFPR Linguagem de Consulta XPath 4
Características
I É uma linguagem de consulta para endereçamento e extração de
informação em documentos XML/HTML.
I É um padrão do World Wide Web Consortium (W3C).
I Só funciona com a representação DOM do documento e descreve
caminhos pelos nós e ramos da árvore.
I Uma instrução XPath retorna o conteúdo que bate com o caminho
descrito.
I Em alguns aspectos, se assemelha a Expressões Regulares.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 5
Documentação do XPath no W3C
Documentação
1. XPath está na versão 3.1.
2. Documentação para cada versão:
https://www.w3.org/TR/xpath/all/.
3. De acordo com o código fonte, a libxml2 usa o XPath 1.0.
Tutoriais
3. https://www.w3schools.com/xml/xpath_intro.asp.
4. https://docs.marklogic.com/guide/xquery/xpath;
5. https://www.tutorialspoint.com/xpath/.
6. http://www.utools.nl/downloads/XPathReference.pdf.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 6
https://www.w3.org/TR/xpath/all/
https://github.com/GNOME/libxml2/blob/master/xpath.c
https://www.w3schools.com/xml/xpath_intro.asp
https://docs.marklogic.com/guide/xquery/xpath
https://www.tutorialspoint.com/xpath/
http://www.utools.nl/downloads/XPathReference.pdf
Cartões de referência e testadores online
Cartões de referência
1. http://ricostacruz.com/cheatsheets/xpath.html.
2. http://xpath.alephzarro.com/content/cheatsheet.html.
3. http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf.
Testadores online de XPath
1. http://xpather.com/.
2. http://codebeautify.org/Xpath-Tester.
3. http://www.webtoolkitonline.com/xml-xpath-tester.html.
4. http://www.freeformatter.com/xpath-tester.html.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 7
http://ricostacruz.com/cheatsheets/xpath.html
http://xpath.alephzarro.com/content/cheatsheet.html
http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf
http://xpather.com/
http://codebeautify.org/Xpath-Tester
http://www.webtoolkitonline.com/xml-xpath-tester.html
http://www.freeformatter.com/xpath-tester.html
Figura 1. Seleção de descentes. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 8
https://devhints.io/xpath
Figura 2. Significado dos prefixos. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 9
https://devhints.io/xpath
Figura 3. Combinação de seleção e prefixos. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 10
https://devhints.io/xpath
Figura 4. Seleção de filhos. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 11
https://devhints.io/xpath
Figura 5. Seleção de descendentes. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 12
https://devhints.io/xpath
Figura 6. Diferentes formas de caminho vertical e horizontal. Fonte:
https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 13
https://devhints.io/xpath
Figura 7. Seleção de irmãos ou caminhos horizontais. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 14
https://devhints.io/xpath
Figura 8. Outras especificações de eixos verticais e horizontais. Fonte:
https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 15
https://devhints.io/xpath
Figura 9. Seleção baseada nos atributos. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 16
https://devhints.io/xpath
Figura 10. Seleção pela posição. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 17
https://devhints.io/xpath
Figura 11. Mais seleção por posição. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 18
https://devhints.io/xpath
Figura 12. Uso de predicados nos nós. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 19
https://devhints.io/xpath
Figura 13. Operadores de comparação e lógicos. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 20
https://devhints.io/xpath
Figura 14. União de expressões e encadeamento. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 21
https://devhints.io/xpath
Figura 15. Funções aplicáveis aos nós. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 22
https://devhints.io/xpath
Figura 16. Funções de texto aplicáveis aos nós. Fonte: https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 23
https://devhints.io/xpath
Figura 17. Combinando funções e precedência de seleção. Fonte:
https://devhints.io/xpath.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 24
https://devhints.io/xpath
Exemplos de uso do XPath
Usar esse conteúdo no http://xpather.com/ para avaliar expressões
XPath.
<body>
<div type="orçamento">
<p>
Essa sobremesa custa <span class="valor">10 reais</span>
e serve <span class="quantidade">6 pessoas</span>.
</p>
</div>
<div type="sobremesa">
<ul class="ingredientes">
<li>3 ovos.</li>
<li>150 ml de leite.</li>
<li>3 colheres de manteiga.</li>
<li>Massa preparada de bolo.</li>
</ul>
<ul class="preparo">
<li>Deixe o forno preaquecer por 20 min a 180 graus.</li>
<li>Bata os ingredientes até uniformizar.</li>
<li>Unte a forma.</li>
<li>Despeje na forma.</li>
<li>Leve ao fogo por aproximadamente 1 hora.</li>
</ul>
</div>
</body>
Walmes Zeviani · UFPR Linguagem de Consulta XPath 25
http://xpather.com/
Walmes Zeviani · UFPR Linguagem de Consulta XPath 26
Walmes Zeviani · UFPR Linguagem de Consulta XPath 27
Walmes Zeviani · UFPR Linguagem de Consulta XPath 28
Walmes Zeviani · UFPR Linguagem de Consulta XPath 29
Walmes Zeviani · UFPR Linguagem de Consulta XPath 30
Walmes Zeviani · UFPR Linguagem de Consulta XPath 31
Walmes Zeviani · UFPR Linguagem de Consulta XPath 32
Walmes Zeviani · UFPR Linguagem de Consulta XPath 33
Walmes Zeviani · UFPR Linguagem de Consulta XPath 34
Walmes Zeviani · UFPR Linguagem de Consulta XPath 35
Walmes Zeviani · UFPR Linguagem de Consulta XPath 36
Resumo de recursos do XPath
I Prefixos e eixos:
I ./, /, //.
I Verticais: child::, parent::, descendant::, ancestor::, etc.
I Horizontais: following-sibling::, preceding-sibling::.
I Metacacteres: ., .., @, *.
I Predicados: [···].
I Operadores de comparação: =, !=, <, <=, >, >=.
I Operadores lógicos: and, or, not() e |.
I Funções: text(), name().
I Funções numéricas: count(), position(), last(), etc.
I Funções de texto: contains(), starts-with(), etc.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 37
Resumo
I XPath é uma linguagem flexível e poderosa para consultar
XML/HTML.
I HTML são profundos na hierarquia e requerem uso de predicados
para delimitar a consulta.
I O domínio dos recursos do XPath são fundamentais para
especificar buscas precisas, fáceis de criar e manter.
I O emprego de predicados, eixos e funções potencializa a aplicaçãodo XPath.
I O mesmo resultado pode ser conseguido com diversas expressões.
I Os predicados podem ser combinados de várias formas.
I Como expressões regulares, e necessário equilibrar especificidade
e generalidade para reduzir manutenção do código.
Walmes Zeviani · UFPR Linguagem de Consulta XPath 38
	XPath

Outros materiais