curso de xml - rogerioaraujo.files.wordpress.com · rogério araújo série desenvolvimento de...
Post on 12-Dec-2018
218 Views
Preview:
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 - rgildoarauj@gmail.com
1
XMLXMLConceitosConceitosbásicosbásicos
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
18
Marco - Questões!!!Marco - Questões!!![CESPE 2011 TRE/ES – Cargo 15]
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
33
[CESPE 2010 BASA – Cargo 16]
Marco - Questões!!!Marco - Questões!!!
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
44
[CESPE 2008 TJ/CE]
Marco - Questões!!!Marco - Questões!!!
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
1
XML SchemaXML SchemaParte IIParte II
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
15
Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
30
Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
1
XML SchemaXML SchemaQuestões deQuestões de
concursosconcursos
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
4
[FGV 2008 Senado Federal – Analista de Sistemas – Questão 45]
Marco - Questões!!!Marco - Questões!!!
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
1
XPathXPath
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
25
Uso dos eixosUso dos eixos<xsl:template match="veiculo"> <xsl:value-of select="child::marca"/></xsl:template>
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
30
Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
13
Marco - Questões!!!Marco - Questões!!!
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
14
Marco - Questões!!!Marco - Questões!!!
<xsl:template match="/">
<xsl:for-each select="biblioteca/livro">
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
46
Marco - Questões!!!Marco - Questões!!!
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
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 - rgildoarauj@gmail.com
11
Alguma dúvida? Podemos prosseguir?Alguma dúvida? Podemos prosseguir?
rogerioaraujo.wordpress.com – twitter: @rgildoaraujo - rgildoarauj@gmail.com
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
top related