consultado documentos xml com xpath
Download
Skip this Video
Download Presentation
Consultado Documentos XML com XPATH

Loading in 2 Seconds...

play fullscreen
1 / 17

Consultado Documentos XML com XPATH - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Consultado Documentos XML com XPATH' - camila


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
consultado documentos xml com xpath

Consultado Documentos XML com XPATH

Vânia Maria Ponte Vidal

vvidal@lia.ufc.br

xpath
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.
xpath3
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.
estudo de caso i
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

xpath5
XPATH
  • Exemplo(1)
    • Obtenha todas as informações do livro cujo título é “Inside XML”.

document(“liv.xml” ) / livraria / livro[titulo =“Inside XML”]

xpath6
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” )

xpath7
XPATH
  • Exemplo(3)
    • Liste os livros de autoria de Steven

$liv / livraria / livro [autor/nome =“steven”]

xpath8
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()

xpath9
XPATH
  • Exemplo(5)
    • Liste ISBN, título e editora dos livros cujo o autor é “Steven”
xpath10
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

estudo de caso ii

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>

xpath12
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.

slide13

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
xpath14

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()]
slide15

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

slide16

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[@*]

xpath17
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.
ad