curso de xml - rogerioaraujo.files.wordpress.com · rogério araújo série desenvolvimento de...

52
Rogério Araújo Série Desenvolvimento de Sistemas Conceito básicos, XML Schema, Namespaces, DOM/SAX, XPath, XSLT, XLink e XPointer Curso de Curso de XML XML

Upload: tranhanh

Post on 12-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Rogério Araújo

Série Desenvolvimento de Sistemas

Conceito básicos, XML Schema, Namespaces,DOM/SAX, XPath, XSLT, XLink e XPointer

Curso deCurso de

XMLXML

Rogério Araújo

Série Desenvolvimento de Sistemas

Conceitos básicos, XML Schema, Namespaces,DOM/SAX, XPath, XSLT, XLink e XPointer

Curso de

XML

Curso de XML

O AutorEu descobri que sempre tenho escolhas. E muitas vezes, trata-se apenas de uma escolha de atitude.

Judith M. Knowlton

Nasci em Brasília/DF, porém, ainda pequeno, meus pais se mudaram para Teresina/PI, onde cresci com muito sol na moleira. Passei no concurso do Ministério Público da União (MPU) e fui, em janeiro de 2005, lotado inicialmente na Procuradoria da República do Estado Pará em Belém/PA. Atualmente, estou lotado na Procuradoria da República Federal (PGR), em Brasília/DF.

Sou especialista em Governança em TI pela Unieuro (www.unieuro.edu.br) e em Desenvolvimento de Sistemas Baseados em Software Livre pela UNAMA (Universidade da Amazônia) (www.unama.br), graduado no curso de Bacharelado em Ciência da Computação pela UESPI (Universidade Estadual do Piauí) (www.uespi.br) e conclui o Curso Técnico de Processamento de Dados pela ETEPI (Escola Técnica Estadual do Piauí). No ramo de certificações, possuo a COBIT 4.1 Foundation Certified e a SCJA (Sun Certified Associate for J2SE).

Mantenho o blog http://rogerioaraujo.wordpress.com. Escrevo posts sobre dicas e assuntos para os concursos de TI e sou autor de artigos no site do professor Walter Cunha (www.waltercunha.com). Tento ajudar a comunidade com meus textos, me esforçando para focar muito mais no informalismo e na descontração das palavras do que naquela coisa rebusca, o famoso repimboca da parafuseta!

Abraços e vamos nessa!

Rogério Araújo rogerioaraujo.wordpress.com - twitter: @rgildoaraujo 1

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

1

XMLXMLConceitosConceitosbásicosbásicos

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

2

TópicosTópicos● Antes de tudo, precisamos saber que...● Introdução● XML x HTML● Exemplo de um documento XML● Como podemos usar o XML● A árvore XML● Regras para sintaxe de documentos XML● Notas importantes sobre a sintaxe XML● Elementos XML● Exemplo de um documento XML

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

3

TópicosTópicos● Regras de nomeação de elementos● Elementos x Atributos● Validação de XML● Validadores XML● Alguma dúvida? Podemos prosseguir?● Marco - Questões!!!● Referência

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

4

Antes de tudo, precisamos saber que...Antes de tudo, precisamos saber que...● XML é uma ótima solução para compartilhar dados● Para implementar soluções em gestão de informações usando

XML, podemos usar:● DTD ou XSchema para especificar o modelo de dados e validar

as informações● As APIs DOM ou SAX para extrair dados dos documentos, gerar

documentos, ler e gravar em bancos de dados● XSLT e XPath para transformar os dados em outros formatos● XLink, XPointer e XQuery para criar vínculos lógicos entre os

documentos e localizar seus componentes● XSL-FO ou XHTML para formatar os dados para impressão ou

visualização na tela (PDF, Word ou Web)● SVG para gerar informações em forma de gráfico vetorial

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

5

IntroduçãoIntrodução● Significa Extensible Markup Language● É uma linguagem de marcação parecida com HTML● Foi projetado para transportar dados, não para exibir dados● As tags XML NÃO são predefinidas

● Podemos definir nossas próprias tags● Foi projetado para ser auto-descritivo● É independente de software e hardware para transporte de

informações● Um documento XML não faz nada: é preciso escrever um

software para enviá-lo, recebê-lo ou exibi-lo

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

6

XML x HTMLXML x HTML● XML não é um substituto do HTML● XML e HTML foram projetadas com objetivos diferentes

● XML foi projetado para o transporte e armazenamento de dados, com foco no que são os dados

● HTML foi projetado para exibir dados, com foco em como os dados aparecem

● HTML foca a exibição de informações, enquanto o XML, como transportar informações

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

7

XML x HTMLXML x HTML

<veiculo tipo="carro"><marca>Kia</marca><modelo>Cerato</modelo><motor>2.0</motor>

</veiculo>

<h1>Kia</h1><h2>Cerato</h2><p>Motor <b>2.0</b></p>

O HTML mostra O HTML mostra COMOCOMO apresentar apresentar

O XML mostraO XML mostraO QUEO QUE apresentar apresentar

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

8

Exemplo de um documento XMLExemplo de um documento XML<veiculo tipo="moto">

<marca>Yamaha</marca>

<modelo>YZF-R1</modelo>

<motor>1000 cc</motor>

</veiculo>

<garagem quantidade="3"/>

</meus_veiculos>

<?xml version="1.0" encoding="ISO-8859-1"?>

<meus_veiculos>

<veiculo tipo="carro">

<marca>Kia</marca>

<modelo>Cerato</modelo>

<motor>2.0</motor>

</veiculo>

<veiculo tipo="carro">

<marca>Hynduai</marca>

<modelo>ix35</modelo>

<motor>2.0</motor>

</veiculo>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

13

Marco - Questões!!!Marco - Questões!!![FCC 2011 TRT 8ª Região – Analista Judiciário – Tecnologia da Informação – Questão 54] Sobre as tags HTML e XML, é correto afirmar:● [A] Tags HTML XML são case sensitive, isto é, fazem distinção

entre letras maiúsculas e minúsculas. ● [B] Tags XML HTML não são case sensitive, isto é, não fazem

distinção entre letras maiúsculas e minúsculas. ● [C] As tags XML HTML são pré-definidas pelo W3C, devendo o

autor utilizá-las quando da elaboração do documento.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

14

Marco - Questões!!!Marco - Questões!!![FCC 2011 TRT 8ª Região – Analista Judiciário – Tecnologia da Informação – Questão 54] Sobre as tags HTML e XML, é correto afirmar:● [D] As tags HTML não são pré-definidas, podendo o autor do

documento criá-las livremente no momento da elaboração de seu documento.

● [E] A forma de fazer comentários em um documento HTML e em um documento XML são idênticas.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

15

Marco - Questões!!!Marco - Questões!!![FCC 2011 TRT 8ª Região – Analista Judiciário – Tecnologia da Informação – Questão 54] Sobre as tags HTML e XML, é correto afirmar:● [D] As tags HTML XML não são pré-definidas, podendo o

autor do documento criá-las livremente no momento da elaboração de seu documento.

● [E] A forma de fazer comentários em um documento HTML e em um documento XML são idênticas.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

16

Marco - Questões!!!Marco - Questões!!![ESAF 2005 STN – Questão 23] Um conjunto de informações XML é independente do formato real de um documento. É correto afirmar que todos os documentos XML possuem uma estrutura de árvore, onde ● [A] os atributos que não são nós de folha poderão ou não

possuir nós filhos. ● [B] os elementos são nós de folha, não irão possuir nós filhos,

possuindo apenas nós pai. ● [C] os atributos são nós de folha e poderão ou não possuir nós

filhos. ● [D] os nós de atributo de um elemento formam uma lista não-

ordenada, não sendo possível fazer afirmações sobre a ordem em que os atributos de um elemento ocorrem.

● [E] todos os nós dessa árvore são constituídos de atributos.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

17

Marco - Questões!!!Marco - Questões!!![ESAF 2005 STN – Questão 23] Um conjunto de informações XML é independente do formato real de um documento. É correto afirmar que todos os documentos XML possuem uma estrutura de árvore, onde ● [A] os atributos que não são nós de folha poderão ou não

possuir nós filhos (atributos nunca são nós de folha).● [B] os elementos são nós de folha, não irão poderão possuir nós

filhos, possuindo apenas nós pai. ● [C] os atributos são nós de folha e poderão ou não possuir nós

filhos (atributos nunca são nós de folha). ● [D] os nós de atributo de um elemento formam uma lista não-

ordenada, não sendo possível fazer afirmações sobre a ordem em que os atributos de um elemento ocorrem.

● [E] todos os nós dessa árvore são constituídos de atributos.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

18

Marco - Questões!!!Marco - Questões!!![CESPE 2011 TRE/ES – Cargo 15]

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

19

Marco - Questões!!!Marco - Questões!!![CESPE 2011 TRE/ES – Cargo 15] Considerando a estrutura XML acima, armazenada no arquivo Funcionario.xml, julgue os próximos itens.● [70] No prólogo de um arquivo XML, existe o atributo

standalone, o qual, com valor padrão yes, é de escrita obrigatória, o que indica que o documento não pode ser analisado no lado servidor.

● [71] Com essa estrutura, ao se abrir o arquivo Funcionario.xml em um navegador, será mostrado um erro de processamento de recurso.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

20

[CESPE 2011 TRE/ES – Cargo 15] Considerando a estrutura XML acima, armazenada no arquivo Funcionario.xml, julgue os próximos itens.● [70] No prólogo de um arquivo XML, existe o atributo

standalone, o qual, com valor padrão yes no, é de escrita obrigatória opcional, o que indica que o documento não pode ser analisado no lado servidor especifica se outros arquivos são necessários para renderizar o documento.● Gabarito: ERRADO.

● [71] Com essa estrutura, ao se abrir o arquivo Funcionario.xml em um navegador, será mostrado um erro de processamento de recurso.● Gabarito: CERTO.● Não existe a tag de fechamento para <ramal>.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

21

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [84] Em XML, as tags definem elementos de dados e o texto

fornece o dado real representado no documento. ● [85] A sintaxe básica para um elemento XML pode ser

corretamente representada pela instrução a seguir.● <nome_do_elemento>Texto</nome_do_elemento>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

22

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [84] Em XML, as tags definem elementos de dados e o texto

fornece o dado real representado no documento.● Gabarito: CERTO.

● [85] A sintaxe básica para um elemento XML pode ser corretamente representada pela instrução a seguir.● <nome_do_elemento>Texto</nome_do_elemento>● Gabarito: CERTO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

23

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [86] Um documento XML pode conter definições para o

elemento raiz e para os elementos filhos, podendo também conter elementos vazios.

● [87] A instrução a seguir está sintaticamente correta e permite o uso de algarismos romanos para codificação de números.● <?xml version="1.0" encoding="ISO-8859-1"?>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

24

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [86] Um documento XML pode conter definições para o

elemento raiz e para os elementos filhos, podendo também conter elementos vazios.● Gabarito: CERTO.

● [87] A instrução a seguir está sintaticamente correta e permite o uso de algarismos romanos para codificação de números.● <?xml version="1.0" encoding="ISO-8859-1ISO-8859-7"?>● Gabarito: ERRADO. ● http://www.w3schools.com/TAGS/ref_charactersets.asp

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

25

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [88] As marcações XML não fazem distinção entre letras

minúsculas e maiúsculas.● [89] Um documento XML sempre deve ter um elemento

principal, também conhecido como root tag.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

26

Marco - Questões!!!Marco - Questões!!![CESPE 2010 TRE/BA – Cargo 3] Acerca do XML, julgue os itens a seguir.● [88] As marcações XML não fazem distinção entre letras

minúsculas e maiúsculas.● Gabarito: ERRADO.

● [89] Um documento XML sempre deve ter um elemento principal, também conhecido como root tag.● Gabarito: CERTO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

27

[CESPE 2010 INMETRO – Cargo 26 – Questão 40] A respeito de arquitetura distribuída, assinale a opção correta.● [E] O XML é um formato para a criação de documentos com

dados organizados de forma hierárquica. Ele é frequentemente utilizado devido a sua portabilidade, já que independe das plataformas de hardware ou de software. Um banco de dados pode, por meio de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode então ler esses mesmos dados.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

28

[CESPE 2010 INMETRO – Cargo 26 – Questão 40] A respeito de arquitetura distribuída, assinale a opção correta.● [E] O XML é um formato para a criação de documentos com

dados organizados de forma hierárquica. Ele é frequentemente utilizado devido a sua portabilidade, já que independe das plataformas de hardware ou de software. Um banco de dados pode, por meio de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode então ler esses mesmos dados.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

29

[CESPE 2010 INMETRO – Cargo 12 – Questão 43] A XML é uma tecnologia para criar linguagens de marcação, a fim de descrever, de forma estruturada, dados de vários tipos. Com base nessa tecnologia, assinale a opção correta.● [A] Um documento XML é considerado bem-formado se ele

estiver sintaticamente correto. A sintaxe da XML requer pelo menos dois elementos como nó raiz, uma marca de abertura e de finalização para cada elemento, as marcas corretamente alinhadas e os valores de atributos entre aspas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

30

[CESPE 2010 INMETRO – Cargo 12 – Questão 43] A XML é uma tecnologia para criar linguagens de marcação, a fim de descrever, de forma estruturada, dados de vários tipos. Com base nessa tecnologia, assinale a opção correta.● [A] Um documento XML é considerado bem-formado se ele

estiver sintaticamente correto. A sintaxe da XML requer pelo menos dois um elementos como nó raiz, uma marca de abertura e de finalização para cada elemento, as marcas corretamente alinhadas e os valores de atributos entre aspas duplas.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

31

[CESPE 2010 EMBASA – Cargo 48] Acerca do XML, julgue os itens seguintes.● [67] Uma tag em XML começa com o símbolo < e termina com

o símbolo >. Pode ser de três tipos: tag de início, como em <section>; de fim, como, por exemplo, em </section>; ou de elementos vazios, como, por exemplo, <line-break/>.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

32

[CESPE 2010 EMBASA – Cargo 48] Acerca do XML, julgue os itens seguintes.● [67] Uma tag em XML começa com o símbolo < e termina com

o símbolo >. Pode ser de três tipos: tag de início, como em <section>; de fim, como, por exemplo, em </section>; ou de elementos vazios, como, por exemplo, <line-break/>.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

33

[CESPE 2010 BASA – Cargo 16]

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

34

[CESPE 2010 BASA – Cargo 16] Com base na estrutura do documento XML apresentado acima, julgue os próximos itens.● [103] As tags <autor>, <titulo>, <ano>, <preco>,

<lancamento> e <oferta> são atributos da entidade <livro>.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

35

[CESPE 2010 BASA – Cargo 16] Com base na estrutura do documento XML apresentado acima, julgue os próximos itens.● [103] As tags <autor>, <titulo>, <ano>, <preco>,

<lancamento> e <oferta> são atributos elementos filho da entidade <livro>.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

36

[CESPE 2010 UNIPAMPA – Cargo 49] Julgue os itens, a respeito de tecnologias web.● [103] O trecho de documento XML a seguir está

sintaticamente correto.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

37

[CESPE 2010 UNIPAMPA – Cargo 49] Julgue os itens, a respeito de tecnologias web.● [103] O trecho de documento XML a seguir não está

sintaticamente correto.

● Gabarito: ERRADO.● Os valores de atributos não estão entre aspas duplas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

38

[CESPE 2010 UNIPAMPA – Cargo 2] Julgue os próximos itens, a respeito de tecnologias Web.● [111] Quando um documento XML tem sintaxe correta,

considera-se que ele seja bem formado. Para ser válido, o documento XML precisa, além ser bem formado, seguir obrigatoriamente as regras de uma DTD (Document Type Definition) especificada.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

39

[CESPE 2010 UNIPAMPA – Cargo 2] Julgue os próximos itens, a respeito de tecnologias Web.● [111] Quando um documento XML tem sintaxe correta,

considera-se que ele seja bem formado. Para ser válido, o documento XML precisa, além ser bem formado, seguir obrigatoriamente as regras de uma DTD (Document Type Definition) especificada.● Gabarito: CERTO.● Um XML “válido” é um documento:

– “Bem formado”– Que também está de acordo com as regras de um:

● Document Type Definition (DTD) ou● XML Schema

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

40

[CESPE 2009 TRE/PR – Cargo 1] Quanto ao ambiente de desenvolvimento de aplicações para a Internet, julgue os itens.● [67] Os validadores XML verificam se os documentos escritos

em XML estão corretos.● [68] Um validador XML não indicará erro, se receber o trecho

de código a seguir para verificar.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

41

[CESPE 2009 TRE/PR – Cargo 1] Quanto ao ambiente de desenvolvimento de aplicações para a Internet, julgue os itens.● [67] Os validadores XML verificam se os documentos escritos

em XML estão corretos.● Gabarito: CERTO.

● [68] Um validador XML não indicará erro, se receber o trecho de código a seguir para verificar.● Gabarito: ERRADO, mas era para ser CERTO.● Utilizando os seguintes validadores, o trecho não apresenta

erros:– http://validator.w3.org/ – http://w3schools.com/xml/xml_validator.asp – http://www.validome.org/xml/

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

42

[CESPE 2008 TST] Considerando os sistemas de numeração e a representação da informação para sistemas de informática e de comunicação, julgue os itens a seguir.● [51] Em XML (extensible markup language), a definição dos

dados pode utilizar referências a outros tipos de dados previamente definidos.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

43

[CESPE 2008 TST] Considerando os sistemas de numeração e a representação da informação para sistemas de informática e de comunicação, julgue os itens a seguir.● [51] Em XML (extensible markup language), a definição dos

dados pode utilizar referências a outros tipos de dados previamente definidos.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

44

[CESPE 2008 TJ/CE]

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

45

[CESPE 2008 TJ/CE] Apresenta-se acima o conteúdo de um documento XML usado no framework hibernate. Julgue os seguintes itens relativos às informações apresentadas e aos conceitos de desenvolvimento de aplicações e bancos de dados.● [80] O documento declara apenas três elementos XML, sendo:

um vazio; outro que não declara atributos; e outro que possui mais de um atributo declarado.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

46

[CESPE 2008 TJ/CE] Apresenta-se acima o conteúdo de um documento XML usado no framework hibernate. Julgue os seguintes itens relativos às informações apresentadas e aos conceitos de desenvolvimento de aplicações e bancos de dados.● [80] O documento declara apenas três quatro elementos XML,

sendo: o elemento raiz, um vazio; outro que não declara atributos; e outro que possui mais de um atributo declarado.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

47

[CESPE 2008 SERPRO – Cargo 17] No referente à formatação de dados, julgue os seguintes itens.● [105] Em cada documento XML pode haver elementos e

atributos; os atributos fornecem informações que descrevem elementos; os elementos são identificados por tags; os nomes de tags estão inclusos entre sinais de menor e de maior; os elementos complexos são construídos hierarquicamente a partir de outros elementos; nomes de tags são definidos de modo a descrever o significado dos elementos de dados.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

48

[CESPE 2008 SERPRO – Cargo 17] No referente à formatação de dados, julgue os seguintes itens.● [105] Em cada documento XML pode haver elementos e

atributos; os atributos fornecem informações que descrevem elementos; os elementos são identificados por tags; os nomes de tags estão inclusos entre sinais de menor e de maior; os elementos complexos são construídos hierarquicamente a partir de outros elementos; nomes de tags são definidos de modo a descrever o significado dos elementos de dados.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

49

[CESPE 2008 IPEA – Cargo 3] Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.● [115] O modelo XML (extended markup language) usa

estruturas de árvores hierárquicas, combina conceitos de banco de dados com os de modelos de representação de documentos.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

50

[CESPE 2008 IPEA – Cargo 3] Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.● [115] O modelo XML (extended markup language) usa

estruturas de árvores hierárquicas, combina conceitos de banco de dados com os de modelos de representação de documentos.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

51

[CESPE 2008 IPEA – Cargo 3] Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.● [115] O modelo XML (extended markup language) usa

estruturas de árvores hierárquicas, combina conceitos de banco de dados com os de modelos de representação de documentos.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

52

[CESPE 2004 SGA/DF] Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.● [52] A XML (extensible markup language) é uma linguagem

que objetiva descrever o significado dos elementos de dados de um documento,de modo que uma pessoa ou processo computacional que leia tal documento possa interpretar os rótulos (tags) XML presentes nesse documento e fazer associações semânticas a partir desses rótulos.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

53

[CESPE 2004 SGA/DF] Com o desenvolvimento das tecnologias da informação foi possível realizar a comunicação multi-plataformas aumentando a complexidade do controle dos dados operacionais. Relativos a arquitetura e tecnologias de sistemas de informação, julgue os itens a seguir.● [52] A XML (extensible markup language) é uma linguagem

que objetiva descrever o significado dos elementos de dados de um documento,de modo que uma pessoa ou processo computacional que leia tal documento possa interpretar os rótulos (tags) XML presentes nesse documento e fazer associações semânticas a partir desses rótulos.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

54

[CESPE 2004 ANVISA] A respeito da sintaxe e da semântica da XML (extensible markup language), julgue os itens subsequentes.● [65] Um documento XML normalmente começa com uma

declaração XML, tal como <?xml version = “1.0” standalone=“yes” encoding=“UTF-8”?>.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

55

[CESPE 2004 ANVISA] A respeito da sintaxe e da semântica da XML (extensible markup language), julgue os itens subseqüentes.● [65] Um documento XML normalmente começa com uma

declaração XML, tal como <?xml version = “1.0” standalone=“yes” encoding=“UTF-8”?>.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

56

[CESGRANRIO 2009 BNDES – Analista de Sistemas – Desenvolvimento – Questão 66] Considere as afirmativas a seguir sobre tecnologias de desenvolvimento para aplicações na Internet.● II. XML é uma metalinguagem capaz de descrever linguagens

de marcação, utilizada também como elemento de integração entre sistemas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

69

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] <xs:pattern value="[0-9][0-9][0-9]"/> é o mesmo

que <xs:pattern value="[0-9]{3}"/>.● [RGA 2011] <xs:enumeration

value="Cerato"/><xs:enumeration value="ix35"/> é diferente de <xs:pattern value="Cerato|ix35"/>.

● [RGA 2011] <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

70

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] <xs:pattern value="[0-9][0-9][0-9]"/> é o mesmo

que <xs:pattern value="[0-9]{3}"/>.● Gabarito: CERTO.

● [RGA 2011] <xs:enumeration value="Cerato"/><xs:enumeration value="ix35"/> é diferente de o mesmo que <xs:pattern value="Cerato|ix35"/>● Gabarito: ERRADO.

● [RGA 2011] <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>.● Aceitam-se três letras maiúsculas ou minúsculas de “a” a “z”.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

71

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] <xs:pattern value="[abc]"/>.● [RGA 2011] Com <xs:pattern value="([a-z])*"/>, aceitam-se

uma ou mais ocorrências de letras minúsculas de “a” a “z” e com <xs:pattern value="([a-z][A-Z])+"/>, aceitam-se zero ou mais ocorrências de letras minúsculas de “a” a “z”.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

72

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] <xs:pattern value="[abc]"/>.

● Aceita-se um ÚNICO valor: a, b ou c.● [RGA 2011] Com <xs:pattern value="([a-z])*"/>, aceitam-se

uma zero ou mais ocorrências de letras minúsculas de “a” a “z” e com <xs:pattern value="([a-z][A-Z])+"/>, aceitam-se zero uma ou mais ocorrências de letras minúsculas de “a” a “z” pares de letras (uma minúscula seguida de maiúscula).● Gabarito: ERRADO.● *: zero ou mais ocorrências.● +: uma ou mais ocorrências.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

73

ReferênciasReferências● XML Schema Tutorial da W3 Schools:

http://w3schools.com/schema/default.asp● X100 - XML: uma introdução prática – Helder Rocha:

http://www.argonavis.com.br/cursos/xml/x100/index.html ● XML Schema e namespaces:

http://www.lia.ufc.br/~eti2005/menu/modulos/XML/XML_Schema_e_Namespaces.pdf

● O'Reilly XML Schema: http://docstore.mik.ua/orelly/xml/schema/index.htm

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

1

XML SchemaXML SchemaParte IIParte II

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

2

TópicosTópicos● Indicadores● Indicadores de Ordem● Indicadores de Ocorrência● Exemplo de um XML Schema● Exemplo de um documento XML● Indicadores de Grupo● Grupo de elementos● Grupo de atributos● Alguma dúvida? Podemos prosseguir?● Elemento <any> e <anyAttribute>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

3

TópicosTópicos● Exemplo do uso do <any>● Exemplo do uso do <anyAttribute>● Substituição de elementos● Exemplo do uso do substitutionGroup● Hierarquia de tipos● Alguma dúvida? Podemos prosseguir?● Marco – Questões!!!● Referências

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

4

IndicadoresIndicadores● São utilizados para controlar como os elementos filhos devem

ser usados nos documentos XML● Há sete indicadores:

● Indicadores de Ordem:– All– Choice– Sequence

● Indicadores de Ocorrência:– maxOccurs– minOccurs

● Indicadores de grupo:– Group– attributeGroup

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

5

Indicadores de OrdemIndicadores de Ordem<sequence> especifica que os elementos filhos devem aparecer em uma ordem específica:

<xs:element name="pessoa">

<xs:complexType>

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<choice> especifica que um ou outro elemento filho pode ocorrer:

<xs:element name="pessoa">

<xs:complexType>

<xs:choice>

<xs:element name="servidor" type="servidor"/>

<xs:element name="membro" type="membro"/>

</xs:choice>

</xs:complexType>

</xs:element>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

6

Indicadores de OrdemIndicadores de Ordem<all> especifica que os elementos filhos pode aparecer em qualquer ordem e que cada elemento deve ocorrer apenas uma vez:

<xs:element name="pessoa">

<xs:complexType>

<xs:all>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

</xs:all>

</xs:complexType>

</xs:element>

Usando o indicador <all>, podemosespecificar o indicador <minOccurs>

em 0 ou 1 e <maxOccurs>apenas em 1

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

7

Indicadores de OcorrênciaIndicadores de Ocorrência<maxOccurs> especifica o número máximo de vezes que um elemento pode ocorrer:

<xs:element name="pessoa">

<xs:complexType>

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="dependente" type="xs:string" maxOccurs="10"/>

</xs:sequence>

</xs:complexType>

</xs:element>

O exemplo indica que o elemento“dependente” pode ocorre no

mínimo uma vez(o valor padrão para minOccurs é 1)

e no máximo dez vezesem um elemento "pessoa"

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

8

Indicadores de OcorrênciaIndicadores de Ocorrência<minOccurs> especifica o número mínimo de vezes que um elemento pode ocorrer:

<xs:element name="pessoa">

<xs:complexType>

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="dependente" type="xs:string" maxOccurs="10" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:element>

O exemplo mostra que o elemento“dependente” pode ocorrer nenhuma

Vez e um máximo de dez em umelemento “pessoa”

Para permitir que um elemento pareçaum número ilimitado de vezes, use

a instrução maxOccurs=“unbounded”(o valor padrão para maxOccurs é 1)

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

9

Exemplo de um XML SchemaExemplo de um XML Schema <xs:element name="dependente" type="xs:string"

minOccurs="0" maxOccurs="5"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

elementFormDefault="qualified">

<xs:element name="pessoas">

<xs:complexType>

<xs:sequence>

<xs:element name="pessoa" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

10

Exemplo de um documento XMLExemplo de um documento XML<pessoa>

<nome>Roberto Gomes</nome>

<dependente>Helena</dependente>

<dependente>José</dependente>

<dependente>João</dependente>

<dependente>Carlos</dependente>

</pessoa>

<pessoa>

<nome>Francisco Sousa</nome>

</pessoa>

</pessoas>

<?xml version="1.0" encoding="ISO-8859-1"?>

<pessoas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation= "familia.xsd">

<pessoa>

<nome>Maria da Silva</nome>

<dependente>Carolina</dependente>

</pessoa>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

11

Indicadores de GrupoIndicadores de Grupo● Grupos de elementos

● Usamos esse indicador para montar um grupo de elementos reutilizáveis na definição de vários tipos complexos para elementos

● Utilizamos os indicadores de ordem (all, choice, ou sequence) dentro da declaração de um grupo

● Grupos de atributos● Mesma finalidade dos grupos de elementos, porém com foco em

grupos de atributos● Não é preciso o uso dos indicadores de ordem

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

12

Grupo de elementosGrupo de elementos<xs:complexType name="infoPessoa">

<xs:sequence>

<xs:group ref="grupoPessoa"/>

<xs:element name="pais" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:group name="grupoPessoa">

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

<xs:element name="dataNascimento" type="xs:date"/>

</xs:sequence>

</xs:group>

<xs:element name="pessoa" type="infoPessoa"/>

Muito parecido com o usodo <extension> (próximo slide)

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

13

Como definir elementos complexosComo definir elementos complexos<!-- Definição do elemento -->

<xs:element name="servidorFederal" type="infoCompletoPessoa"/>

<!-- informações básicas -->

<xs:complexType name="infoPessoa">

<xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<!-- informações completas -->

<xs:complexType name="infoCompletoPessoa">

<xs:complexContent>

<xs:extension base="infoPessoa">

<xs:sequence>

<xs:element name="endereco" type="xs:string"/>

<xs:element name="cidade" type="xs:string"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>Podemos criar um tipo complexo

a partir de outro já existente

<extension>Permite estender

um tipo

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

14

Grupo de atributosGrupo de atributos<xs:element name="pessoa">

<xs:complexType>

<xs:attributeGroup ref="grupoAtributosPessoa"/>

</xs:complexType>

</xs:element>

<xs:attributeGroup name="grupoAtributosPessoa">

<xs:attribute name="nome" type="xs:string"/>

<xs:attribute name="sobrenome" type="xs:string"/>

<xs:attribute name="dataNascimento" type="xs:date"/>

</xs:attributeGroup>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

15

Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

16

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] Usando o indicador <all>, podemos especificar o

indicador <minOccurs> em 1 e <maxOccurs> apenas em 0 ou 1.

● [RGA 2011] O valor padrão minOccurs e maxOccurs é 1.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

17

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] Usando o indicador <all>, podemos especificar o

indicador <minOccurs> em 0 ou 1 e <maxOccurs> apenas em 0 ou 1.● Gabarito: ERRADO.

● [RGA 2011] O valor padrão tanto para minOccurs quanto para maxOccurs é 1.● Gabarito: CERTO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

18

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] Para permitir que um elemento pareça um número

ilimitado de vezes, use a instrução maxOccurs=“[...]”.● [RGA 2011] No indicador de grupo de elementos, não é

preciso o uso dos indicadores de ordem. Já no indicador de grupo de atributos, utilizamos os indicadores de ordem.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

19

Marco - Questões!!!Marco - Questões!!!● [RGA 2011] Para permitir que um elemento pareça um número

ilimitado de vezes, use a instrução maxOccurs=“unbounded”.● [RGA 2011] No indicador de grupo de elementos, não é

preciso o uso dos utilizamos os indicadores de ordem. Já no indicador de grupo de atributos, utilizamos os não é preciso o uso dos indicadores de ordem.● Gabarito: ERRADO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

20

Elemento <any> e <anyAttribute>Elemento <any> e <anyAttribute>● São usados para fazer documentos extensíveis● Permitem aos documentos conterem elementos adicionais que

não estão declarados no esquema XML

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

21

Exemplo do uso do <any>Exemplo do uso do <any> <xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

<xs:any minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Criando o esquema pessoas.xsd:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.empresa.com.br" xmlns="http://www.empresa.com.br" elementFormDefault="qualified">

<xs:element name="pessoas">

<xs:complexType>

<xs:sequence>

<xs:element name="pessoa" maxOccurs="unbounded">

<xs:complexType>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

22

Exemplo do uso do <any>Exemplo do uso do <any> </xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Criando o esquema dependentes.xsd:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.empresa.com.br" xmlns="http://www.empresa.com.br" elementFormDefault="qualified">

<xs:element name="dependente">

<xs:complexType>

<xs:sequence>

<xs:element name="nome" type="xs:string"

maxOccurs="unbounded"/>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

23

Exemplo do uso do <any>Exemplo do uso do <any></pessoa>

<pessoa>

<nome>Roberto</nome>

<sobrenome>Gome</sobrenome>

</pessoa>

</pessoas>

<?xml version="1.0" encoding="ISO-8859-1"?>

<pessoas xmlns="http://www.empresa.com.br"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.empresa.com.br pessoas.xsd dependentes.xsd">

<pessoa>

<nome>Maria</nome>

<sobrenome>Silva</sobrenome>

<dependente>

<nome>Carolina</nome>

</dependente>

O documento XML utilizacomponentes de dois esquemas

diferentes: “pessoas.xsd”e “dependentes.xsd”

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

24

Exemplo do uso do <anyAttribute>Exemplo do uso do <anyAttribute> <xs:sequence>

<xs:element name="nome" type="xs:string"/>

<xs:element name="sobrenome" type="xs:string"/>

<xs:anyAttribute/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Criando o esquema pessoas.xsd:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.empresa.com.br" xmlns="http://www.empresa.com.br" elementFormDefault="qualified">

<xs:element name="pessoas">

<xs:complexType>

<xs:sequence>

<xs:element name="pessoa" maxOccurs="unbounded">

<xs:complexType>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

25

Exemplo do uso do <anyAttribute>Exemplo do uso do <anyAttribute> </xs:simpleType>

</xs:attribute>

</xs:element>

</xs:schema>

Criando o esquema atributoSexo.xsd:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.empresa.com.br" xmlns="http://www.empresa.com.br" elementFormDefault="qualified">

<xs:attribute name="sexo">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:pattern value="masculino|feminino"/>

</xs:restriction>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

26

Exemplo do uso do <anyAttribute>Exemplo do uso do <anyAttribute><pessoa sexto="masculino">

<nome>Roberto</nome>

<sobrenome>Gome</sobrenome>

</pessoa>

</pessoas>

<?xml version="1.0" encoding="ISO-8859-1"?>

<pessoas xmlns="http://www.empresa.com.br"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.empresa.com.br pessoas.xsd atributoSexo.xsd">

<pessoa sexto="feminino">

<nome>Maria</nome>

<sobrenome>Silva</sobrenome>

</pessoa> O documento XML utilizacomponentes de dois esquemas

diferentes: “pessoas.xsd”e “atributoSexo.xsd”

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

27

Substituição de elementosSubstituição de elementos● Um exemplo para substituição de elementos é quando

utilizamos um XML Schema para validar documentos XML de vários idiomas

● Cada idioma terá seu conjunto de palavras para definir seu documento XML de mesmo contexto, porém o XML Schema pode ser o mesmo para validar todos eles

● Para resolver este problema, nós podemos definir um substitutionGroup no esquema XML

● Para evitar que um elemento seja substituído, basta ativar o atributo “block” com o valor “substitution”:● <xs:element name="name" type="xs:string"

block="substitution"/>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

28

Exemplo do uso do substitutionGroupExemplo do uso do substitutionGroup<xs:element name="modelo" type="xs:string"/> <!-- Elemento chave -->

<xs:element name="samhail" substitutionGroup="modelo"/> <!-- Irlandês -->

<xs:element name="model" substitutionGroup="modelo"/> <!-- Croata -->

<xs:complexType name="infoVeiculo">

<xs:sequence>

<xs:element ref="modelo"/>

</xs:sequence>

</xs:complexType>

<xs:element name="veiculo" type="infoVeiculo"/> <!-- Elemento chave -->

<xs:element name="feithicle" substitutionGroup="veiculo"/> <!-- Irlandês -->

<xs:element name="vozila" substitutionGroup="veiculo"/> <!-- Croata -->

Primeiro, declaramos oelemento chave para depois

declararmos outros elementosque o substituirão

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

29

Exemplo do uso do substitutionGroupExemplo do uso do substitutionGroup<veiculo>

<modelo>Cerato</modelo>

</veiculo>

<!-- Irlandês -->

<feithicle>

<samhail>Cerato</samhail>

</feithicle>

<!-- Croata -->

<vozila>

<model>Cerato</model>

</vozila>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

30

Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

31

ReferênciasReferências● XML Schema Tutorial da W3 Schools:

http://w3schools.com/schema/default.asp● X100 - XML: uma introdução prática – Helder Rocha:

http://www.argonavis.com.br/cursos/xml/x100/index.html ● XML Schema e namespaces:

http://www.lia.ufc.br/~eti2005/menu/modulos/XML/XML_Schema_e_Namespaces.pdf

● O'Reilly XML Schema: http://docstore.mik.ua/orelly/xml/schema/index.htm

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

1

XML SchemaXML SchemaQuestões deQuestões de

concursosconcursos

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

2

[FGV 2009 MEC – Arquiteto de Sistema – Questão 74 – Item III - Adaptado] Com relação às tecnologias relacionadas a XML (eXtensible Markup Language), leia os trechos a seguir.● XSD é uma linguagem baseada no formato XML para definição

de regras de validação em documentos XML. Esta linguagem é uma alternativa ao DTD, cuja sintaxe não é baseada no formato XML.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

3

[FGV 2009 MEC – Arquiteto de Sistema – Questão 74 – Item III - Adaptado] Com relação às tecnologias relacionadas a XML (eXtensible Markup Language), leia os trechos a seguir.● XSD é uma linguagem baseada no formato XML para definição

de regras de validação em documentos XML. Esta linguagem é uma alternativa ao DTD, cuja sintaxe não é baseada no formato XML. ● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

4

[FGV 2008 Senado Federal – Analista de Sistemas – Questão 45]

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

29

Marco - Questões!!!Marco - Questões!!![CESGRANRIO 2008 Petrobrás - Técnico em Informática] Ao ler e processar arquivos XML, é interessante considerar o desempenho em duas dimensões: tempo e memória. Examine, a seguir, as afirmativas sobre os padrões de consumo de memória, tanto no SAX quanto no DOM.● I. O consumo de memória do SAX é uma constante,

independente do tamanho do documento XML.● II. O consumo de memória de uma implementação DOM

depende do tamanho do documento XML.● III. SAX sempre consome mais memória do que DOM.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

30

Marco - Questões!!!Marco - Questões!!![CESGRANRIO 2008 Petrobrás - Técnico em Informática] Ao ler e processar arquivos XML, é interessante considerar o desempenho em duas dimensões: tempo e memória. Examine, a seguir, as afirmativas sobre os padrões de consumo de memória, tanto no SAX quanto no DOM.● I. O consumo de memória do SAX é uma constante,

independente do tamanho do documento XML.● II. O consumo de memória de uma implementação DOM

depende do tamanho do documento XML.● III. SAX sempre consome mais menos memória do que DOM.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

31

Marco - Questões!!!Marco - Questões!!![CESGRANRIO 2008 Petrobrás - Técnico em Informática] Ao ler e processar arquivos XML, é interessante considerar o desempenho em duas dimensões: tempo e memória. Examine, a seguir, as afirmativas sobre os padrões de consumo de memória, tanto no SAX quanto no DOM.Está(ão) correta(s) a(s) afirmativa(s)● [A] I, apenas.● [B] I e II, apenas.● [C] I e III, apenas.● [D] II e III, apenas.● [E] I, II e III.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

32

Marco - Questões!!!Marco - Questões!!![CESPE 2009 INMETRO – Cargo 5] Julgue os itens seguintes a respeito das tecnologias de bancos de dados e aplicações web.● [75] Na linguagem XML, todo atributo é parte de um

elemento, todo elemento é raiz ou filho de uma raiz, a construção de uma árvore pode empregar o modelo DOM, uma transformação pode ser direcionada por um documento XSLT, e quando se deseja consumir pouca memória no processamento de XML pode-se empregar um parser do tipo SAX.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

33

Marco - Questões!!!Marco - Questões!!![CESPE 2009 INMETRO – Cargo 5] Julgue os itens seguintes a respeito das tecnologias de bancos de dados e aplicações web.● [75] Na linguagem XML, todo atributo é parte de um

elemento, todo elemento é raiz ou filho de uma raiz, a construção de uma árvore pode empregar o modelo DOM, uma transformação pode ser direcionada por um documento XSLT, e quando se deseja consumir pouca memória no processamento de XML pode-se empregar um parser do tipo SAX.● Gabarito: CERTO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

34

Marco - Questões!!!Marco - Questões!!![CESPE 2009 INMETRO – Cargo 10] Em relação a formatação de dados, HTML e XML, julgue os itens a seguir.● [113] Arquivos XML permitem o processamento automatizado

de seus dados por meio de tecnologias como DOM e SAX. Os arquivos HTML, por sua vez, só podem ser processados automaticamente por meio da tecnologia SAX.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

35

Marco - Questões!!!Marco - Questões!!![CESPE 2009 INMETRO – Cargo 10] Em relação a formatação de dados, HTML e XML, julgue os itens a seguir.● [113] Arquivos XML permitem o processamento automatizado

de seus dados por meio de tecnologias como DOM e SAX. Os arquivos HTML, por sua vez, só podem ser processados automaticamente por meio da tecnologia SAX e DOM.● Gabarito: ERRADO.

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

36

ReferênciasReferências● XML DOM Tutorial da W3 Schools:

http://w3schools.com/dom/default.asp● X100 - XML: uma introdução prática – Helder Rocha:

http://www.argonavis.com.br/cursos/xml/x100/index.html● APIs Java para XML:

http://www.inf.ufrgs.br/gppd/disc/inf01008/trabalhos/sem01-1/t2/apis_xml_java/

● SAX Project: http://sax.sourceforge.net/

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

1

XPathXPath

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

2

TópicosTópicos● Introdução● Exemplo de um documento XML● Exemplo de XPath● Terminologia Xpath● Relacionamentos dos nós● Selecionando nós● Exemplo de um documento XML● Exemplos de seleções de nós● Predicados● Exemplos de predicados

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

3

TópicosTópicos● Selecionando nós desconhecidos● Exemplos de seleção de nós desconhecidos● Selecionando alguns caminhos● Eixos XPath● Caminhos de localização● Uso dos eixos● Exemplos de formação de etapas● Operadores● Alguma dúvida? Podemos prosseguir?● Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

4

IntroduçãoIntrodução● É uma linguagem de expressão para selecionar nós ou

conjuntos de nós através da especificação de seus caminhos de localização no documento XML

● Usa expressões de caminho para selecionar os nós ou conjuntos de nós em um documento XML

● A sintaxe do XPath foi inspirada, em parte, pelos sistemas de arquivos de um sistema operacional

● Contém uma biblioteca de funções padrão● É o elemento principal em XSLT● Serve para navegar pelos nós e localizar dados● É uma recomendação da W3C

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

5

Exemplo de um documento XMLExemplo de um documento XML<preco>85000</preco>

</veiculo>

<veiculo tipo="moto">

<marca>Yamaha</marca>

<modelo>YZF-R1</modelo>

<motor>1000 cc</motor>

<preco>25000</preco>

</veiculo>

<garagem quantidade="3"/>

</meus_veiculos>

<?xml version="1.0" encoding="ISO-8859-1"?>

<meus_veiculos>

<veiculo tipo="carro">

<marca>Kia</marca>

<modelo>Cerato</modelo>

<motor>2.0</motor>

<preco>50000</preco>

</veiculo>

<veiculo tipo="carro">

<marca>Hynduai</marca>

<modelo>ix35</modelo>

<motor>2.0</motor>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

6

Exemplo de XPathExemplo de XPath● A expressão XPath abaixo seleciona o elemento raiz

meus_veiculos:● /meus_veiculos

● A expressão XPath abaixo seleciona todos os elementos veiculo do elemento meus_veiculos:● /meus_veiculos/veiculo

● A expressão XPath abaixo seleciona todos os elementos modelo de todos os elementos veiculo do elemento meus_veiculos:● /meus_veiculos/veiculo/modelo

● Se o caminho começa com uma barra ( / ) ele representa um caminho absoluto para um elemento

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

7

Terminologia XPathTerminologia XPath● Em XPath, existem sete (7) tipos de nós:

● Elemento● Atributo● Texto● Namespace● Instrução de processamento● Comentário● Nós do documento

● Documentos XML são tratados como árvores de nós● O elemento mais alto da árvore é chamado o elemento raiz

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

8

Terminologia XPathTerminologia XPath● Valores atômicos

● São nós sem:– Filhos ou– Pais

● Exemplos– Kia– carro

● Item● São valores:

– Atômicos ou– Nós

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

9

Relacionamentos dos nósRelacionamentos dos nós● Pais: cada elemento e atributo tem um pai● Crianças: nós do elemento pode ter zero, um ou mais filhos● Irmãos: nós que temos o mesmo pai● Antepassados: pais de um nó, o pai do pai, etc● Descendentes: filhos de um nó, filhos dos filhos, etc

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

10

Selecionando nósSelecionando nós

ExpressãoExpressão DescriçãoDescrição

Nome do nó Seleciona todos os nós filhos com o nome citado

/ Seleciona a partir do nó raiz

// Seleciona os nós no documento a partir do nó atual que correspondam a seleção, não importando onde eles estão

. Seleciona o nó atual

.. Seleciona o pai do nó atual

@ Seleciona os atributos

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

11

Exemplo de um documento XMLExemplo de um documento XML<preco>85000</preco>

</veiculo>

<veiculo tipo="moto">

<marca>Yamaha</marca>

<modelo>YZF-R1</modelo>

<motor>1000 cc</motor>

<preco>25000</preco>

</veiculo>

<garagem quantidade="3"/>

</meus_veiculos>

<?xml version="1.0" encoding="ISO-8859-1"?>

<meus_veiculos>

<veiculo tipo="carro">

<marca>Kia</marca>

<modelo>Cerato</modelo>

<motor>2.0</motor>

<preco>50000</preco>

</veiculo>

<veiculo tipo="carro">

<marca>Hynduai</marca>

<modelo>ix35</modelo>

<motor>2.0</motor>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

12

Exemplos de seleções de nósExemplos de seleções de nós

ExpressãoExpressão DescriçãoDescrição

veiculo Seleciona todos os nós filhos do elemento veiculo

/meus_veiculos Seleciona a raiz meus_veiculos

meus_veiculos/veiculo Seleciona todos os elementos veiculo que são filhos de meus_veiculos

//veiculo Seleciona todos os elementos veiculo, não importando onde eles estão

meus_veiculos//marcaSeleciona todos os elementos marca que são descendente do elemento meus_veiculos, não importa onde eles estão

sob esse elemento

//@tipo Seleciona todos os atributos tipo, não importando onde eles estão

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

13

PredicadosPredicados● São usados para encontrar um nó:

● Específico ou● Que contém um valor específico

● São sempre incorporados entre colchetes

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

14

Exemplos de predicadosExemplos de predicados

ExpressãoExpressão DescriçãoDescrição

/meus_veiculos/veiculo[1]Seleciona o primeiro elemento veiculo filho

de meus_veiculosNo IE5, o primeiro está na posição [0], mas

de acordo com o padrão W3C é [1]

/meus_veiculos/veiculo[last()] Seleciona o último elemento veiculo filho de meus_veiculos

/meus_veiculos/veiculo[last() - 1] Seleciona o penúltimo elemento veiculo filho de meus_veiculos

/meus_veiculos/veiculo[position() < 3] Seleciona os dois primeiros elementos veiculo filho de meus_veiculos

//veiculo[@tipo]Seleciona todos os elementos veiculo com atributo tipo, não importando onde eles

estão

//veiculo[@tipo="carro"]Seleciona todos os elementos veiculo com

atributo tipo com valor carro, não importando onde eles estão

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

15

Exemplos de predicadosExemplos de predicados

ExpressãoExpressão DescriçãoDescrição

/meus_veiculos/veiculo[preco>65000]Seleciona os elementos veiculo filho

de meus_veiculos com valor do elemento preco superior a 65.000

/meus_veiculos/veiculo[preco>65000]/modeloSeleciona os elementos modelo dos

elementos veiculo filho de meus_veiculos com valor do

elemento preco superior a 65.000

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

16

Selecionando nós desconhecidosSelecionando nós desconhecidos● Curingas XPath (wildcards) podem ser usados para selecionar

elementos XML desconhecidos

CuringaCuringa DescriçãoDescrição

* Corresponde a qualquer nó

@* Corresponde a qualquer atributo de nó

node() Corresponde a qualquer nó de qualquer tipo

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

17

Exemplos de seleção de nós desconhecidosExemplos de seleção de nós desconhecidos

ExpressãoExpressão DescriçãoDescrição

/meus_veiculos/* Seleciona todos os elementos filhos do elemento meus_veiculos

//* Seleciona todos os elementos do documento

//veiculo[@*] Seleciona todos os elementos veiculo que possuem algum atributo

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

18

Selecionando alguns caminhosSelecionando alguns caminhos● Com o uso do operador | nas expressões, podemos selecionar

alguns caminhos

ExpressãoExpressão DescriçãoDescrição

//veiculo/marca | //veiculo/modelo Seleciona todos os elementos marca E modelo de todos os elementos veiculo

//marca | //modelo Seleciona todos os elementos marca E modelo do documento

/meus_veiculos/veiculo/marca | //precoSeleciona todos os elementos marca do elemento veiculo de meus_veiculos E

todos os elementos de preco do documento

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

19

Eixos XPathEixos XPath● Definem um conjunto de nós relativo ao nó atual● Armazenam algumas informações sobre o nó atual ou outros

dentro do documento, dependendo do eixo a ser utilizado● Por exemplo, um eixo chamado informação “child” contém

informações sobre os filhos do nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

20

Eixos XPathEixos XPath

EixoEixo DescriçãoDescrição

ancestor Seleciona todos os ancestrais (pais, avós, etc) do nó atual

ancestor-or-self Seleciona o nó atual mais todos os seus ancestrais

attribute Seleciona todos os atributos do nó atual

child Seleciona todos os elementos filhos do nó atual

descendant Seleciona todos os descendentes (filhos, netos, etc) do nó atual

descendant-or-self Seleciona o nó atual mais todos os seus descendentes

following Seleciona tudo no documento depois da tag de fechamento do nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

21

Eixos XPathEixos XPath

EixoEixo DescriçãoDescrição

following-sibling Seleciona todos os irmãos depois do nó atual

namespace Seleciona todos os nós do namespace do nó atual

parent Seleciona o pai do nó atual

preceding Seleciona tudo no documento que está antes da tag de abertura do nó atual

preceding-sibling Seleciona todos os irmãos antes do nó atual

self Seleciona o nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

22

Caminhos de localizaçãoCaminhos de localização● Dois tipos de caminhos:

● Absoluto (começa com uma barra “/”):– /etapa/etapa

● Relativo– etapa/etapa

● Em ambos os casos, o caminho consiste de um ou mais níveis de localização, cada um separado por uma barra

● Cada etapa é avaliado segundo os nós no conjunto do nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

23

Caminhos de localizaçãoCaminhos de localização● Uma etapa consiste de:

● Um eixo– Define a árvore de relacionamento entre os nós selecionados e o nó

atual● Um nó de teste

– Identifica um nó ou mais nós dentro de um eixo● Zero ou mais predicados

– Facilita a seleção do conjunto de nós● A sintaxe para um nível de localização é a seguinte:

● eixo::noTeste[predicado]

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

24

Uso dos eixosUso dos eixos● As etapas vistas antes da apresentação dos eixos eram

especificadas com o caminho exato ou, pelo menos, com o uso dos curingas

● Por exemplo:● /meus_veiculos/veiculo/marca

● Podemos usar os eixos para construir o caminho de modo mais simples

● Por exemplo● child::marca● Sendo o nó atual veiculo

● Mas como saber quem é o nó atual?

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

25

Uso dos eixosUso dos eixos<xsl:template match="veiculo"> <xsl:value-of select="child::marca"/></xsl:template>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

26

Exemplos de formação de etapasExemplos de formação de etapas

ExemploExemplo DescriçãoDescrição

child::veiculo Seleciona todos os elementos veiculo que são filhos do nó atual

attribute::tipo Seleciona o atributo tipo do nó atual

child::* Seleciona todos os elementos filhos do nó atual

attribute::* Seleciona todos os atributos do nó atual

child::text() Seleciona todos textos dos nós filhos do nó atual

child::node() Seleciona todos os nós filhos de qualquer tipo do nó atual

descendant::veiculo Seleciona todos os elementos veiculo descendentes do nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

27

Exemplos de formação de etapasExemplos de formação de etapas

ExemploExemplo DescriçãoDescrição

ancestor::veiculo Seleciona todos os elementos veiculo que são ancestrais do nó atual

ancestor-or-self::veiculo

Seleciona todos os elementos veiculo ancestrais do nó atual e, se o nó atual é um elemento veiculo, seleciona o nó atual

também

child::*/child::preco Seleciona todos os elementos preco netos do nó atual

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

28

OperadoresOperadores

OperadorOperador DescriçãoDescrição

I //marca | //modelo – Retorna um conjunto de nós com todos elementos marca e modelo

+ Adição

- Subtração

* Multiplicação

div Divisão (/ é usado para separar etapas)

= Igual

!= Diferente

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

29

OperadoresOperadores

OperadorOperador DescriçãoDescrição

< Menor que

> Maior que

<= Menor ou igual a

>= Maior ou igual a

or Ou

and E

mod Módulo

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

30

Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

31

● [RGA 2011] XSLT é o elemento principal do XPath.● [RGA 2011] XPath serve para navegar pelos nós e localizar

dados.● [RGA 2011] Se o caminho começa com uma barra ( / ) ele

representa um caminho relativo para um elemento.● [RGA 2011] O XPath possui alguns tipos de nós. Não estão

inclusos namespace nem instruções de processamento como tipos do XPath.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

32

● [RGA 2011] XSLT XPath é o elemento principal do XPath XSLT.● Gabarito: ERRADO.

● [RGA 2011] XPath serve para navegar pelos nós e localizar dados.● Gabarito: CERTO.

● [RGA 2011] Se o caminho começa com uma barra ( / ) ele representa um caminho relativo absoluto para um elemento.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

33

● [RGA 2011] O XPath possui alguns tipos de nós. Não estão inclusos namespace nem e instruções de processamento como tipos do Xpath.● Gabarito: ERRADO.● Em XPath, existem sete (7) tipos de nós:

– Elemento– Atributo– Texto– Namespace– Instrução de processamento– Comentário– Nós do documento

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

34

● [RGA 2011] Os predicados podem ser incorporados entre colchetes.

● [RGA 2011] Uma etapa consiste de eixo::noTeste[predicado].● [RGA 2011] Cada etapa de um caminho de localização é

avaliado segundo [...].

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

35

● [RGA 2011] Os predicados podem devem ser incorporados entre colchetes.● Gabarito: ERRADO.

● [RGA 2011] Uma etapa consiste de eixo::noTeste[predicado].● Gabarito: CERTO.

● [RGA 2011] Cada etapa de um caminho de localização é avaliado segundo os nós no conjunto do nó atual.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

36

ExpressãoExpressão DescriçãoDescrição

veiculo

/meus_veiculos

meus_veiculos/veiculo

//veiculo

meus_veiculos//marca

//@tipo

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

5

[FCC 2004 TRT 23ª Região - Questão 33] No âmbito da eXtensible Markup Language – XML existem padrões, modelos e estilos. Nesse sentido, analise a afirmativa abaixo: ● III. Para exibir documentos XML é necessário um mecanismo

que descreva como o documento será exibido. Esse mecanismo chama-se XSL - eXtensible Stylesheet Language e pode ser encarado como uma linguagem capaz de transformar XML em HTML, filtrar e ordenar dados em documentos XML e, ainda, formatar dados XML.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

6

[CESPE 2011 TJ/ES - Cargo 4] Acerca de desenvolvimento de aplicações para Web, julgue os próximos itens.● [76] XSLT é um subconjunto do XML Schema que permite

transformar documentos XML em outros formatos como PDF, HTML ou mesmo outro XML. Para tanto, o XSLT define, entre outros aspectos, a forma como os documentos XML são acessados.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

7

[CESPE 2011 TJ/ES - Cargo 4] Acerca de desenvolvimento de aplicações para Web, julgue os próximos itens.● [76] XSLT é um subconjunto do XML Schema XSL que permite

transformar documentos XML em outros formatos como PDF, HTML ou mesmo outro XML. Para tanto, o XSLT define, entre outros aspectos, a forma como os documentos XML são acessados.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

8

[CESPE 2010 TRT 21ª Região - Cargo 11] Com relação a interoperabilidade de sistemas, SOA e web services, arquitetura e-ping e padrões XML, julgue o item seguinte.● [77] Considere que haja a necessidade de publicar os dados

de trâmites de processos que se encontram armazenados em XML, no sítio do TRT, em formato HTML, e também em formato TXT, no servidor de arquivos. Para essa finalidade, uma solução adequada é utilizar o XSLT, pois essa é a opção recomendada pelo W3C para que documentos XML sejam transformados em documentos de texto ou documentos HTML, como nas condições requeridas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

9

[CESPE 2010 TRT 21ª Região - Cargo 11] Com relação a interoperabilidade de sistemas, SOA e web services, arquitetura e-ping e padrões XML, julgue o item seguinte.● [77] Considere que haja a necessidade de publicar os dados

de trâmites de processos que se encontram armazenados em XML, no sítio do TRT, em formato HTML, e também em formato TXT, no servidor de arquivos. Para essa finalidade, uma solução adequada é utilizar o XSLT, pois essa é a opção recomendada pelo W3C para que documentos XML sejam transformados em documentos de texto ou documentos HTML, como nas condições requeridas.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

10

[CESPE 2010 TRE/MT - Cargo 5 – Questão 37] A respeito de XSLT, assinale a opção correta.● [A] Uma transformação na linguagem XSLT é expressa na

forma de uma folha de estilo, cuja sintaxe utiliza XML. ● [B] XSLT é uma linguagem para transformar somente

documentos XHTML em documentos HTML.● [C] A transformação XSLT deve respeitar a estrutura da árvore

de origem, ou seja, a árvore de destino não pode ter uma estrutura diferente da árvore de origem.

● [D] Uma transformação expressa em XSLT descreve regras para transformar uma ou mais árvores de origem em uma e somente uma árvore de destino.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

11

[CESPE 2010 TRE/MT - Cargo 5 – Questão 37] A respeito de XSLT, assinale a opção correta.● [A] Uma transformação na linguagem XSLT é expressa na

forma de uma folha de estilo, cuja sintaxe utiliza XML. ● [B] XSLT é uma linguagem para transformar somente

documentos XHTML XML em documentos HTML de vários outros formatos (XML, (X)HTML, texto).

● [C] A transformação XSLT deve não precisa respeitar a estrutura da árvore de origem, ou seja, a árvore de destino não pode ter uma estrutura diferente da árvore de origem.

● [D] Uma transformação expressa em XSLT descreve regras para transformar uma ou mais árvores de origem em uma e somente uma árvore de destino.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

12

[CESPE 2010 TRE/MT - Cargo 5 – Questão 37] A respeito de XSLT, assinale a opção correta.● [E] O seguinte trecho é correto.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

13

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

14

Marco - Questões!!!Marco - Questões!!!

<xsl:template match="/">

<xsl:for-each select="biblioteca/livro">

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

15

[CESPE 2010 TRE/MT - Cargo 5 – Questão 37] A respeito de XSLT, assinale a opção correta.● [E] O seguinte trecho é incorreto.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

16

[CESPE 2010 TRE/BA - Cargo 21] Em relação à linguagem XML, julgue os próximos itens.● [51] O documento XSLT é necessário para a definição da

estrutura de um documento XML.● [52] O documento DTD permite a especificação da formatação

de saída de um XML.● [53] XML pode ser utilizado como linguagem padrão para a

integração de fonte de dados de diferentes formatos.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

17

[CESPE 2010 TRE/BA - Cargo 21] Em relação à linguagem XML, julgue os próximos itens.● [51] O documento XSLT XML Schema (ou DTD) é necessário

para a definição da estrutura de um documento XML.● Gabarito: ERRADO.

● [52] O documento DTD XSLT permite a especificação da formatação de saída de um XML.● Gabarito: ERRADO.

● [53] XML pode ser utilizado como linguagem padrão para a integração de fonte de dados de diferentes formatos.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

18

[CESPE 2010 TCU] Visando ao bom funcionamento do sistema descrito no texto, julgue os itens subsequentes, que tratam de interoperabilidade de sistemas web em Java.● [135] Considere que a equipe esteja examinando o trecho de

código de uma página XML apresentado a seguir e que um programador afirme que, se for usada para processamento de documentos XML por meio de processador XSLT (XML stylesheet transformation), essa página produzirá como saída um documento XML, que pode apresentar as tags <root> e <name>.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

19

Marco - Questões!!!Marco - Questões!!! <xsl:value-of select="name" />

</name>

</xsl:template>

</xsl:stylesheet>

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/persons">

<root>

<xsl:apply-templates select="person"/>

</root>

</xsl:template>

<xsl:template match="person">

<name username="{@username}">

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

20

[CESPE 2010 TCU] Visando ao bom funcionamento do sistema descrito no texto, julgue os itens subsequentes, que tratam de interoperabilidade de sistemas web em Java.● [135] Nessa situação, se discordar do programador,

afirmando que essa análise da página não é consistente com as especificações da tecnologia a ser utilizada, o líder da equipe estará com a razão.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

21

[CESPE 2010 TCU] Visando ao bom funcionamento do sistema descrito no texto, julgue os itens subsequentes, que tratam de interoperabilidade de sistemas web em Java.● [135] Nessa situação, se discordar do programador,

afirmando que essa análise da página não é consistente com as especificações da tecnologia a ser utilizada, o líder da equipe estará com a razão.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

22

A questão anterior teve seu gabarito modificado de ERRADO para CERTO pela seguinte justificativa:● Caso a página XML de entrada não contenha exatamente uma

tag que seja a raiz do documento então a saída não será um documento XML bem formado. Portanto, a afirmação do programador de que se um documento XML for recebido pelo processador XSLT isso irá produzir um documento XML na saída (independentemente das características mencionadas) não é compatível com a especificação da tecnologia, razão pela qual o item está CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

23

[CESPE 2010 MPU – Cargo 52] Julgue os próximos itens acerca de XML (Extensible Markup Language).● [139] Um arquivo XSLT (Extensible Stylesheet Language

Transformation) permite transformar os dados de um arquivo XML. A maneira correta de se referir a um arquivo de estilo denominado mpuestilo.xml em um arquivo XML é mostrada a seguir. ● <stylesheet type="text/xsl" href="mpuestilo.xsl">

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

24

[CESPE 2010 MPU – Cargo 52] Julgue os próximos itens acerca de XML (Extensible Markup Language).● [139] Um arquivo XSLT (Extensible Stylesheet Language

Transformation) permite transformar os dados de um arquivo XML. A maneira correta de se referir a um arquivo de estilo denominado mpuestilo.xml em um arquivo XML é mostrada a seguir. ● <?xml-stylesheet type="text/xsl" href="mpuestilo.xsl"?>● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

25

[CESPE 2010 INMETRO – Cargo 12 – Questão 43] A XML é uma tecnologia para criar linguagens de marcação, a fim de descrever, de forma estruturada, dados de vários tipos. Com base nessa tecnologia, assinale a opção correta.● [C] A XSLT permite transformar um documento XML em HTML,

texto simples ou qualquer outro documento embasado em texto.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

26

[CESPE 2010 INMETRO – Cargo 12 – Questão 43] A XML é uma tecnologia para criar linguagens de marcação, a fim de descrever, de forma estruturada, dados de vários tipos. Com base nessa tecnologia, assinale a opção correta.● [C] A XSLT permite transformar um documento XML em HTML,

texto simples ou qualquer outro documento embasado em texto.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

27

Marco - Questões!!!Marco - Questões!!! <livro isbn="9788599296554">

<autor id="095">Dan Brown</autor>

<titulo>O Símbolo Perdido</titulo>

<ano>2009</ano>

<preco>25.00</preco>

<oferta/>

</livro>

</livraria>

<?xml version="1.0"?>

<livraria>

<livro isbn="9788598078359">

<autor id="064">Stephenie Meyer</autor>

<titulo>Lua Nova</titulo>

<ano>2008</ano>

<preco>35.00</preco>

<lancamento/>

</livro>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

28

[CESPE 2010 BASA – Cargo 16] Com base na estrutura do documento XML apresentado acima, julgue os próximos itens.● [106] Para apresentar a lista de livros para o usuário, é

indicado o uso de XSLT para que o formato seja convertido para HTML, mas, nesse caso, é necessário que o navegador tenha esse suporte.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

29

[CESPE 2010 BASA – Cargo 16] Com base na estrutura do documento XML apresentado acima, julgue os próximos itens.● [106] Para apresentar a lista de livros para o usuário, é

indicado o uso de XSLT para que o formato seja convertido para HTML, mas, nesse caso, é necessário que o navegador tenha esse suporte.● Gabarito: ERRADO.● Se o browser suporta XSLT, este pode ser usado para

transformar o documento em XHTML no seu browser● Como nem todos os browsers suportam XSLT, uma solução é

transformar os documentos XML no servidor

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

30

[CESPE 2010 ANEEL] Relativo às tecnologias, padrões e serviços web, julgue os itens a seguir.● [82] O processamento de um documento XSLT suporta como

entrada um documento XML, mas não os produz como saída.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

31

[CESPE 2010 ANEEL] Relativo às tecnologias, padrões e serviços web, julgue os itens a seguir.● [82] O processamento de um documento XSLT suporta como

entrada um documento XML, mas não os produz como saída.● Gabarito: ERRADO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

32

[CESPE 2009 TRE/PR – Cargo 1] Quanto ao ambiente de desenvolvimento de aplicações para a Internet, julgue o item.● [69] As folhas de estilos XSLT permitem transformar

documentos XML para documentos HTML.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

33

[CESPE 2009 TRE/PR – Cargo 1] Quanto ao ambiente de desenvolvimento de aplicações para a Internet, julgue o item.● [69] As folhas de estilos XSLT permitem transformar

documentos XML para documentos HTML.● Gabarito: CERTO.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

34

Marco - Questões!!!Marco - Questões!!! <xsl:for-each select="filmes/dados">

<tr>

<td><xsl:value-of select="titulo"/></td>

<td><xsl:value-of

select="atorprincipal"/></td>

</tr>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>

<body>

<h2>Meus Filmes</h2>

<table border="1">

<tr bgcolor="#9acd32">

<th>Título</th>

<th>Ator Principal</th>

</tr>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

35

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [A] O código, escrito em XSLT, necessita de um arquivo CSS

que contenha, no mínimo, um javascript que modifique a tabela com as tags titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

36

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [A] O código, escrito em XSLT, necessita de um arquivo CSS

que contenha, no mínimo, um javascript que modifique a tabela com as tags titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

37

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [B] Para funcionar corretamente, esse código, escrito em XML,

necessita de um arquivo XSTL que contenha, no mínimo, as tags filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal em CSS para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

38

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [B] Para funcionar corretamente, esse código, escrito em XML

XSTL, necessita de um arquivo XSTL XML que contenha, no mínimo, as tags filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal em CSS para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

39

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [C] Para funcionar corretamente, esse código, escrito em

HTML, necessita de um arquivo XML que contenha, no mínimo, as tags XSLT filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal em CSS para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

40

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [C] Para funcionar corretamente, esse código, escrito em

HTML XSLT, necessita de um arquivo XML que contenha, no mínimo, as tags XSLT XML filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal em CSS para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

41

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [D] Para funcionar corretamente, esse código, escrito em

XSLT, necessita de um arquivo XML que contenha, no mínimo, as tags XML filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

42

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [D] Para funcionar corretamente, esse código, escrito em

XSLT, necessita de um arquivo XML que contenha, no mínimo, as tags XML filmes e dados. Por sua vez, na tag de dados, devem existir tags de titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

43

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [E] O código, escrito em XSLT/javascript, necessita, para

funcionar corretamente, de um arquivo HTML que contenha, no mínimo, as linhas filmes e dados. Por sua vez, na linha de dados, devem existir variáveis com o nome titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

44

[CESPE 2009 TRE/MA – Cargo 6 – Questão 35] Considerando o trecho de código acima apresentado, assinale a opção correta.● [E] O código, escrito em XSLT/javascript, necessita, para

funcionar corretamente, de um arquivo HTML XML que contenha, no mínimo, as linhas filmes e dados. Por sua vez, na linha de dados, devem existir variáveis tags com o nome titulo e atorprincipal para gerar uma tabela de saída informando o conteúdo das tags processadas.

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

45

Marco - Questões!!!Marco - Questões!!! </entradas>

<pratos>

<prato_principal>

<nome>Peixe frito completo</nome>

<preco>R$40,00</preco>

</prato_principal>

<prato_principal>

<nome>Bife acebolado</nome>

<preco>R$25,00</preco>

</prato_principal>

</pratos>

</menu>

<?xml version=”1.0" encoding=”UTF-8"?>

<menu>

<restaurante>A Boa Cozinha</restaurante>

<entradas>

<entrada>

<nome>Bolinho de Bacalhau</nome>

<preco>R$10,00</preco>

</entrada>

<entrada>

<nome>Carpaccio</nome>

<preco>R$15,00</preco>

</entrada>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

46

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

47

[CESGRANRIO 2008 Termoaçu – Questão 25] Dos XSLT abaixo, o que faz a transformação corretamente dos pratos principais é:● [A]

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

48

[CESGRANRIO 2008 Termoaçu – Questão 25] Dos XSLT abaixo, o que faz a transformação corretamente dos pratos principais é:● [A]

Marco - Questões!!!Marco - Questões!!!

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

5

Sintaxe do XLinkSintaxe do XLink● Em HTML, um link é definido pela tag <a>● No XML, como não há uma predefinição de tags, dificilmente

um browser saberá que tag pode significar um link dentro de um documento XML

● A solução para os links em documentos XML é inserir um marcador nos elementos que devem atuar como hiperlinks

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

6

Exemplo de um documento XMLExemplo de um documento XML<?xml version="1.0"?>

<sitesWeb xmlns:xlink="http://www.w3.org/1999/xlink">

<siteWeb xlink:type="simple" xlink:href="http://www.empresa.com.br/">Empresa</siteWeb>

<siteWeb xlink:type="simple" xlink:href="http://rogerioaraujo.wordpress.com/">Rogério Araújo</siteWeb>

</sitesWeb>

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

7

Sintaxe XLinkSintaxe XLink● Para ter acesso ao atributos e características do XLinkque

devemos declarar o seu namespace no topo do documento XML● "http://www.w3.org/1999/xlink"

● O xlink:type="simple" cria uma ligação simples

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

8

Sintaxe XPointerSintaxe XPointer● Em HTML, podemos fazer referência a um ponto específico de

uma página usando # e o nome da âncora criada na página referenciada:● www.exemplo.com.br/pagina.html#titulo

● Às vezes é bem útil apontarmos para informações mais específicas, por exemplo como o nome do segundo cliente ou endereço do terceiro fornecedor● Com o uso do XPointer, isso é possível

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

9

Sintaxe XPointerSintaxe XPointerSintaxe XPointerSintaxe XPointer● Se estamos referenciando um XML, podemos acrescentar uma

parte XPointer após a URL citada no atributo xlink:href para apontar para uma informação específica no documento● href="http://www.exemplo.com.br/MeusVeiculos.xml#marca('Ki

a').child(1,item)" – Recuperar o primeiro item de uma lista de veículos da marca Kia

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

10

Referência para XLinkReferência para XLink

AtributoAtributo ValorValor Descrição

xlink:actuateonLoad

onRequestothernone

Define quando o recurso referenciado é lido e apresentado

xlink:href URL URL para o link

xlink:show

embednew

replaceothernone

Onde abrir o linkReplace é o valor padrão

xlink:type

simpleextendedlocator

arcresource

titlenone

Tipo do link

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

11

Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?

rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - [email protected]

12

ReferênciasReferências● XLink and XPointer Tutorial da W3 Schools:

http://w3schools.com/xlink/default.asp● X100 - XML: uma introdução prática – Helder Rocha:

http://www.argonavis.com.br/cursos/xml/x100/index.html

http://rogerioaraujo.wordpress.com