1 / 17

Consultado Documentos XML com XPATH

Consultado Documentos XML com XPATH. Vânia Maria Ponte Vidal vvidal@lia.ufc.br . XPATH. É linguagem para referenciar partes de um documento XML. Define uma biblioteca de funções padrões para trabalhar com strings, números e booleanos.

camila
Download Presentation

Consultado Documentos XML com XPATH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Consultado Documentos XML com XPATH Vânia Maria Ponte Vidal vvidal@lia.ufc.br

  2. XPATH • É linguagem para referenciar partes de um documento XML. • Define uma biblioteca de funções padrões para trabalhar com strings, números e booleanos. • Foi projetada para ser usada por XSLT, XPointer e outros softwares. • Sem XPath não seria possível criar documentos XSLT. • Modela um documento XML como uma árvore de nós: nó elemento, nó atributo, nó texto, etc.

  3. XPATH • XPath usa expressões de caminho para identificar nós num documento XML. • Expressões de caminho são parecidas com as expressões de caminho usadas no sistema de arquivo de um computador. • Se o caminho XPath começa com uma barra(/), significa um caminho absoluto para o elemento. • Se o caminho XPath começa com duas barras(//), significa que todos os elementos que satisfizerem o critério serão selecionados, ainda se eles estiverem em diferentes níveis na árvore.

  4. ESTUDO DE CASO I Elemento Raiz livraria <!ELEMENT livraria (livro)+> <!ELEMENT livro (titulo,editora,preço,autor+)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT editora (#PCDATA) > <!ELEMENT preco (#PCDATA) > <!ELEMENT autor (email?,nome)> <!ELEMENT email (#PCDATA) > <!ELEMENT nome (#PCDATA) > <!ATTLIST livro ISBN CDATA #REQUIRED]> livro livro autor autor @ISBN titulo editora preço nome nome email email 1234 Inside XML New Riders 100,00 Holz@cs.br stev@cs.br Steven Holzner Definição da DTD: livraria.dtd

  5. XPATH • Exemplo(1) • Obtenha todas as informações do livro cujo título é “Inside XML”. document(“liv.xml” ) / livraria / livro[titulo =“Inside XML”]

  6. XPATH • Exemplo(2) • Obtenha as informações dos autores do livro cujo título é “Inside XML”. $liv / livraria / livro [titulo =“Inside XML”] / autor $liv= document(“liv.xml” )

  7. XPATH • Exemplo(3) • Liste os livros de autoria de Steven $liv / livraria / livro [autor/nome =“steven”]

  8. XPATH • Exemplo(4) • Liste o título dos livros de autoria de Steven $liv / livraria / livro [autor/nome =“steven”]/titulo $liv / livraria / livro [autor/nome =“steven”]/titulo/text()

  9. XPATH • Exemplo(5) • Liste ISBN, título e editora dos livros cujo o autor é “Steven”

  10. XPATH • Exemplo(6) • Liste o isbn dos livros de autoria de Steven $liv / livraria / livro [autor/nome =“steven”]/@isbn Nomes de atributos são precedidos com @ $liv / livraria / livro [autor/nome =“steven”]/@* Obtém todos os atributos do elemento no contexto corrente

  11. catalogo <cd pais=“Brasil”> <titulo> Milagreiro <artista> Djavan <preco> 15,00 <cd pais=“Brasil”> <titulo> O mito <artista> Elis Regina <preco> 20,00 <cd pais=“Brasil”> <titulo> Realce Gilberto Gil <artista> <preco> 15,00 Estudo de Caso II <catalogo> <cd pais =“Brasil”> <titulo>Milagreiro</titulo> <artista>Djavan</artista> <preco>15,00</preco> </cd> <cd pais =“Brasil”> <titulo>O mito</titulo> <artista>Elis Regina</artista> <preco>20,00</preco> </cd> <cd pais =“Brasil”> <titulo>Realce</titulo> <artista>Gilberto Gil</artista> <preco>15,00</preco> </cd> </catalogo>

  12. Xpath • Selecionar todos os elementos filhos de todos os elementos cd do elemento catalogo . $catalogo / catalogo / cd / * Curingas podem ser usados para selecionar elementos XML desconhecidos.

  13. catalogo <cd pais=“Brasil”> <titulo> Milagreiro <artista> Djavan <preco> 15,00 <cd pais=“Brasil”> <titulo> O mito <artista> Elis Regina <preco> 20,00 <cd pais=“Brasil”> <titulo> Realce Gilberto Gil <artista> <preco> 15,00 • Selecionar todos os elementos preço que são elementos netos do elemento catalogo: • $catalogo /catalogo/*/preço • Selecionar todos os elementos preco que têm dois ancestrais: • $catalogo /*/*/preco

  14. catalogo <cd pais=“Brasil”> <titulo> Milagreiro <artista> Djavan <preco> 15,00 ... <cd pais=“Brasil”> <titulo> Realce <artista> Gilberto Gil <preco> 15,00 Xpath • Obtenha o primeiro elemento cd filho do elemento catálogo: • $catalogo /catalogo/cd[1] • Obtenha o último elemento cd filho do elemento catálogo: • $catalogo/catalogo/cd[last()]

  15. catalogo <cd pais=“Brasil”> <titulo> Milagreiro <artista> Djavan <preco> 15,00 <cd pais=“Brasil”> <titulo> O mito <artista> Elis Regina <preco> 20,00 <cd pais=“Brasil”> <titulo> Realce Gilberto Gil <artista> <preco> 15,00 $cat /catalogo/cd[preco] • Selecionar todos os elementos cd filho do elemento catálogo que têm um elemento preco: • Selecionar todos os elementos cd filho do elemento catálogo que têm um elemento preco com o valor de 15,00: $cat /catalogo/cd[preco=15,00] • Selecionar todos os elementos preco dos elementos cd cujo elemento preco com valor de 15,00: /catalogo/cd[preco=15,00]/preco

  16. catalogo <cd pais=“Brasil”> <titulo> Milagreiro <artista> Djavan <preco> 15,00 <cd pais=“Brasil”> <titulo> O mito <artista> Elis Regina <preco> 20,00 <cd pais=“Brasil”> <titulo> Realce Gilberto Gil <artista> <preco> 15,00 • Selecionar todos os atributos pais: $cat//@país • Selecionar todos os elementos cd que tem um atributo pais: $cat //cd[@país] • Selecionar todos os elementos cd que tem algum atributo: $cat //cd[@*]

  17. XPATH • Pode-se selecionar pai, filhos e irmãos, usando as expressões: • parent:: - Pai do elemento contexto • child:: - filho do elemento contexto • preceding-sibling:: - irmão que precede • following-sibling:: - irmão que segue • Ancestor:: - ancestrais do elemento contexto • Descendante::- descendentes do elemento contexto.

More Related