A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

21 de Outubro de 2001jcr – ped2001 XPath Processamento Estruturado de Documentos 2001 By jcr.

Apresentações semelhantes


Apresentação em tema: "21 de Outubro de 2001jcr – ped2001 XPath Processamento Estruturado de Documentos 2001 By jcr."— Transcrição da apresentação:

1 21 de Outubro de 2001jcr – ped2001 XPath Processamento Estruturado de Documentos 2001 By jcr

2 21 de Outubro de 2001jcr – ped2001 Endereçamento A sintaxe básica do XPath é muito semelhante à do endereçamento de ficheiros num sistema operativo. Se o endereço começar por /, então estaremos perante um endereço absoluto.

3 21 de Outubro de 2001jcr – ped2001 Endereçamento (exemplo1) /AAA Selecciona o elemento raíz AAA.

4 21 de Outubro de 2001jcr – ped2001 Endereçamento (exemplo2) /AAA/CCC Selecciona os elementos CCC que são filhos do elemento raíz AAA.

5 21 de Outubro de 2001jcr – ped2001 Endereçamento (exemplo3) /AAA/DDD/BBB Selecciona os elementos BBB que são filhos de elementos DDD que, por sua vez são filhos do elemento raíz AAA.

6 21 de Outubro de 2001jcr – ped2001 Descendência Se o endereço começar por //, então todos os elementos no documento que respeitarem a selecção que vem a seguir serão seleccionados.

7 21 de Outubro de 2001jcr – ped2001 Descendência (exemplo1) //BBB Selecciona todos os elementos BBB.

8 21 de Outubro de 2001jcr – ped2001 Descendência (exemplo2) //DDD/BBB Selecciona todos os elementos BBB filhos de elementos DDD.

9 21 de Outubro de 2001jcr – ped2001 * O operador * selecciona todos os elementos abrangidos pelo endereço precedente.

10 21 de Outubro de 2001jcr – ped2001 * (exemplo1) /AAA/CCC/DDD/* Selecciona todos os elementos com contexto: /AAA/CCC/DDD.

11 21 de Outubro de 2001jcr – ped2001 * (exemplo2) /*/*/*/BBB Selecciona todos os elementos BBB com 3 gerações ancestrais.

12 21 de Outubro de 2001jcr – ped2001 * (exemplo3) //* Selecciona todos os elementos.

13 21 de Outubro de 2001jcr – ped2001 Predicados Em XPath uma expressão dentro de [] designa-se por predicado. Um predicado visa especificar ainda mais um dado elemento: testanto a sua posição na árvore, o seu conteúdo,... Se a expressão fôr constituída por apenas um número selecciona o elemento pela posição no seu nível. O predicado last() testa se o elemento é o último do seu nível.

14 21 de Outubro de 2001jcr – ped2001 Predicados (exemplo1) /AAA/BBB[1] Selecciona o primeiro elemento BBB filho de AAA.

15 21 de Outubro de 2001jcr – ped2001 Predicados (exemplo2) /AAA/BBB[last()] Selecciona o último elemento BBB filho de AAA.

16 21 de Outubro de 2001jcr – ped2001 Atributos Os atributos são especificados pelo prefixo @.

17 21 de Outubro de 2001jcr – ped2001 Atributos (exemplo1) //BBB[@ident] Selecciona os elementos BBB que têm o atributo ident especificado.

18 21 de Outubro de 2001jcr – ped2001 Atributos (exemplo2) //BBB[@nome] Selecciona os elementos BBB que têm o atributo nome especificado.

19 21 de Outubro de 2001jcr – ped2001 Atributos (exemplo3) //BBB[@*] Selecciona os elementos BBB que têm um atributo especificado.

20 21 de Outubro de 2001jcr – ped2001 Atributos (exemplo4) //BBB[not(@*)] Selecciona os elementos BBB que não têm nenhum atributo.

21 21 de Outubro de 2001jcr – ped2001 Valores de Atributos O valor dum atributo pode ser usado como critério de selecção. A função normalize-space retira os caracteres brancos inciais e finais duma string e substitui as cadeias brancas por um espaço.

22 21 de Outubro de 2001jcr – ped2001 Valores de Atributos (exemplo1) //BBB[@ident=b1] Selecciona os elementos BBB que têm o atributo ident com valor igual a b1.

23 21 de Outubro de 2001jcr – ped2001 Valores de Atributos (exemplo2) //BBB[@nome=bbb] Selecciona os elementos BBB que têm o atributo nome com valor igual a bbb.

24 21 de Outubro de 2001jcr – ped2001 Valores de Atributos (exemplo3) //BBB[normalize-space(@nome)=bbb] Selecciona os elementos BBB que têm o atributo nome com valor igual a bbb (filtrando espaços iniciais e finais).

25 21 de Outubro de 2001jcr – ped2001 Funções: count A função count dá como resultado o número de elementos resultantes da aplicação do selector que lhe fôr passado como argumento.

26 21 de Outubro de 2001jcr – ped2001 count (exemplo1) //*[count(BBB)=2] Selecciona todos os elementos que tenham dois filhos BBB.

27 21 de Outubro de 2001jcr – ped2001 count (exemplo2) //*[count(*)=2] Selecciona todos os elementos que tenham dois filhos.

28 21 de Outubro de 2001jcr – ped2001 count (exemplo3) //*[count(*)=3] Selecciona todos os elementos que tenham três filhos.

29 21 de Outubro de 2001jcr – ped2001 Funções: name A função name retorna o nome do elemento seleccionado. A função starts-with recebe dois argumentos do tipo string e retorna verdadeiro se o primeiro argumento inicia com o segundo. A função contains recebe dois argumentos do tipo string e retorna verdadeiro se o primeiro argumento contém o segundo.

30 21 de Outubro de 2001jcr – ped2001 name (exemplo1) //*[name()= BBB] Selecciona todos os elementos que tenham nome igual a BBB.

31 21 de Outubro de 2001jcr – ped2001 name (exemplo2) //*[starts-with(name(), B)] Selecciona todos os elementos que tenham nome iniciado por B.

32 21 de Outubro de 2001jcr – ped2001 name (exemplo3) //*[contains(name(),C)] Selecciona todos os elementos cujo nome contém a letra C.

33 21 de Outubro de 2001jcr – ped2001 Funções: string-length A função string-length retorna o número de caracteres na string argumento. Para os operadores relacionais é necessário usar as seguintes substituições: –< para < –> para >

34 21 de Outubro de 2001jcr – ped2001 string-length (exemplo1) //*[string-length(name())=3] Selecciona todos os elementos que tenham o nome constituído por 3 caracteres.

35 21 de Outubro de 2001jcr – ped2001 string-length (exemplo2) //*[string-length(name()) < 3] Selecciona todos os elementos que tenham o nome constituído por menos de 3 caracteres.

36 21 de Outubro de 2001jcr – ped2001 string-length (exemplo3) //*[string-length(name()) > 3] Selecciona todos os elementos que tenham o nome constituído por mais de 3 caracteres.

37 21 de Outubro de 2001jcr – ped2001 Combinação de endereços Vários selectores poderão ser combinados com o operador | com o significado de serem alternativos.

38 21 de Outubro de 2001jcr – ped2001 Combinação de end. (exemplo1) //BBB | //CCC Selecciona todos os elementos BBB e CCC.

39 21 de Outubro de 2001jcr – ped2001 Combinação de end. (exemplo2) //BBB | /AAA/EEE Selecciona todos os elementos BBB e os elementos EEE filhos de AAA.

40 21 de Outubro de 2001jcr – ped2001 Combinação de end. (exemplo3) //BBB | /AAA/EEE | /AAA | //DDD/CCC O número de combinações é ilimitado.

41 21 de Outubro de 2001jcr – ped2001 Axis: travessia da árvore O operador :: permite indicar o tipo de travessia que se faz à árvore documental. Por omissão, é utilizado o axis child (child::) o que leva a uma travessia dos filhos e por aí adiante. Os outros tipos de axis são: 1.descendant 2.parent 3.ancestor 4.following-sibling 5.preceding-sibling 6.following 7.preceding 8.descendant-or-self 9.ancestor-or-self

42 21 de Outubro de 2001jcr – ped2001 child:: (exemplo1) /AAA Selecciona os elementos AAA filhos da raíz. /child::AAA

43 21 de Outubro de 2001jcr – ped2001 child:: (exemplo2) /AAA/BBB Selecciona os elementos BBB filhos de AAA. /child::AAA/child::BBB

44 21 de Outubro de 2001jcr – ped2001 child:: (exemplo3) /AAA/BBB O operador pode ser colocado em evidência. /child::AAA/BBB

45 21 de Outubro de 2001jcr – ped2001 descendant:: (exemplo1) Selecciona os descendentes da raíz, logo todos os nodos. /descendant::*

46 21 de Outubro de 2001jcr – ped2001 descendant:: (exemplo2) Selecciona os descendentes de AAA/BBB. /AAA/BBB/descendant::*

47 21 de Outubro de 2001jcr – ped2001 descendant:: (exemplo3) Selecciona os nodos que têm CCC como ancestral. //CCC/descendant::*

48 21 de Outubro de 2001jcr – ped2001 descendant:: (exemplo4) Selecciona os nodos DDD que têm CCC como ancestral. //CCC/descendant::*/DDD

49 21 de Outubro de 2001jcr – ped2001 parent:: (exemplo1) Selecciona os elementos pai de nodos DDD. //DDD/parent::*

50 21 de Outubro de 2001jcr – ped2001 ancestor:: (exemplo1) Selecciona os ancestrais de...EEE. /AAA/BBB/DDD/CCC/EEE/ancestor*

51 21 de Outubro de 2001jcr – ped2001 ancestor:: (exemplo2) Selecciona os ancestrais de FFF. //FFF/ancestor*

52 21 de Outubro de 2001jcr – ped2001 following-sibling:: (exemplo1) Selecciona os irmãos à direita do nodo BBB. /AAA/BBB/following-sibling::*

53 21 de Outubro de 2001jcr – ped2001 following-sibling:: (exemplo2) //CCC/following-sibling::*

54 21 de Outubro de 2001jcr – ped2001 preceding-sibling:: (exemplo1) Selecciona os irmãos à esquerda do nodo XXX. /AAA/XXX/preceding-sibling::*

55 21 de Outubro de 2001jcr – ped2001 preceding-sibling:: (exemplo2) //CCC/preceding-sibling::*

56 21 de Outubro de 2001jcr – ped2001 following:: (exemplo1) /AAA/XXX/following::*

57 21 de Outubro de 2001jcr – ped2001 following:: (exemplo2) //ZZZ/following::*

58 21 de Outubro de 2001jcr – ped2001 preceding:: (exemplo1) /AAA/XXX/preceding::*

59 21 de Outubro de 2001jcr – ped2001 preceding:: (exemplo2) //GGG/preceding::*

60 21 de Outubro de 2001jcr – ped2001 descendant-or-self:: (exemplo1) /AAA/XXX/descendant-or-self::*

61 21 de Outubro de 2001jcr – ped2001 descendant-or-self :: (exemplo2) //CCC/descendant-or-self::*

62 21 de Outubro de 2001jcr – ped2001 ancestor-or-self:: (exemplo1) /AAA/XXX/DDD/EEE/ancestor-or-self::*

63 21 de Outubro de 2001jcr – ped2001 ancestor-or-self :: (exemplo2) //GGG/ancestor-or-self::*

64 21 de Outubro de 2001jcr – ped2001 Exercício Pegando na árvore do poema e centrando a referência na primeira quadra: quadra[1], calcule os seguintes conjuntos de nodos: –quadra[1]/ancestor* –quadra[1]/descendant* –quadra[1]/preceding* –quadra[1]/following* –quadra[1]/self*


Carregar ppt "21 de Outubro de 2001jcr – ped2001 XPath Processamento Estruturado de Documentos 2001 By jcr."

Apresentações semelhantes


Anúncios Google