Your SlideShare is downloading. ×
0
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introdução a eXtensible Markup Language (XML)

162

Published on

Apresentação sobre a linguagem de marcação XML

Apresentação sobre a linguagem de marcação XML

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
162
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Programa¸˜o para Web ca XML Ivo Calado Instituto Federal de Educa¸˜o, Ciˆncia e Tecnologia de Alagoas ca e 27 de Mar¸o de 2012 c1 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 2. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coRoteiro 1 Introdu¸˜o ca 2 Especifica¸˜es XML co 3 XML a fundo 4 Valida¸˜o de XMLs ca 5 Desenvolvendo aplica¸˜es com XML co2 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 3. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coO que XML?Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a3 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 4. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coO que XML?Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a3 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 5. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coO que XML?Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca3 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 6. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coO que XML?Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca Qual a rela¸˜o entre HTML, XML e XHTML? ca3 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 7. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coO que XML?Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca Qual a rela¸˜o entre HTML, XML e XHTML? ca XHTML ´ a linguagem HTML escrita sob as restri¸˜es do XML e co3 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 8. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDiferen¸a entre XML e HTML cDiferen¸a entre XML e HTML c Qual seria a diferen¸a b´sica entre XML e HTML? c a4 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 9. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDiferen¸a entre XML e HTML cDiferen¸a entre XML e HTML c Qual seria a diferen¸a b´sica entre XML e HTML? c a XML foi projetado para armazenar dados e n˜o para exibi-los! a XML n˜o ´ um substituto do HTML a e Diferentes objetivos: XML foi projetado para descrever dados e com foco no que o dado ´e HTML foi projetado para exibir dados e com foco em como a informa¸˜o ser´ apresentada ca a4 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 10. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDiferen¸a entre XML e HTML cExemplo de XML <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?> <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e>5 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 11. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPorque XML ´ importante? ePorque XML ´ importante? e Texto Plano F´cil de editar a ´ Util para armazenar pequenas quantidades de dados Possibilita o armazenamento eficiente de uma grande quantidade de dados atrav´s de um XML front end e de um e banco de dados Indentifica¸˜o dos Dados ca Descreve o tipo de informa¸˜o armazenado (Metadado) ca Pode ser usado de diferentes formas por diferentes aplica¸˜es co6 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 12. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPorque XML ´ importante? ePorque XML ´ importante? e Estilo de exibi¸˜o ca Desassocia o armazenamento da informa¸˜o do seu ca processamento7 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 13. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPorque XML ´ importante? ePorque XML ´ importante? e Estilo de exibi¸˜o ca Desassocia o armazenamento da informa¸˜o do seu ca processamento Para isso, usa-se a linguagem XSL XSL possibilita a apresenta¸˜o do conte´do armazenado no ca u XML sob diferentes estilos Reusabilidade inline Pode ser composto de diferentes entidades ´ E poss´ modularizar o documento e fazer referencia entre ıvel eles7 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 14. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPorque XML ´ importante? ePorque XML ´ importante? e Facilmente process´vel a Possui uma nota¸˜o regular e consistente ca Nota¸˜o independente de fabricante ca Formato baseado em hierarquia R´pido de acessar a F´cil de rearranjar a8 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 15. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coEspecifica¸oes XML c˜ Diversas especifica¸˜es fazem parte do padr˜o XML co a XML 1.0: define a estrutura da sintaxe de documento XML XPointer e XLink: define uma abordagem padr˜o para a representa¸˜o referˆncia entre recursos ca e XSL: Define uma abordagem padr˜o para representa¸˜o de a ca estilos a serem aplica¸˜es em documentos XML co9 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 16. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXML Building blocksElementos Delimitados por colchetes angulates (< e >) Identifica a natureza do conte´do que circunda u Formato geral: <e l e m e n t> . . . </ e l e m e n t> Elementos vazios: <e m p t y e l e m e n t />10 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 17. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXML Building blocksAtributos Pares chave-valor Em geral usa-se como metadado sobre os elementos Os valores devem estar entre aspas <e l e m e n t a t t r i b u t e=" value ">11 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 18. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLSintaxe XML Todos elementos devem ter uma tag de fechamento Tags XML s˜o case sensitive a Todo os elementos XML devem estar corretamente aninhados12 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 19. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLSintaxe XML Todos elementos devem ter uma tag de fechamento Tags XML s˜o case sensitive a Todo os elementos XML devem estar corretamente aninhados <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder <body>Don ’ t f o r g e t me t h i s weekend ! </ h e a d i n g> </ body> </ n o t e>12 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 20. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLSintaxe XML Espa¸os em branco s˜o preservados c a Coment´rios seguem a mesma estrutura do HTML a13 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 21. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLConclus˜es a partir da sintaxe o Os elementos s˜o extens´ a ıveis H´ um relacionamento entre os elementos a Os elementos tem conte´do (que podem ser inclusive outros u elementos)14 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 22. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLD´vida u Quando usar elementos e quando usar atributos?15 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 23. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coSintaxe XMLD´vida u Quando usar elementos e quando usar atributos? Metainforma¸˜o sobre os elementos devem ser armazenados como ca atributos e o dado por si s´ deve ser armazenado como elemento. o15 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 24. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPor que ´ necess´rio validar um documento XML? e a16 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 25. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPor que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura16 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 26. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPor que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura Suponha que desejamos criar a estrutura de uma entidade Pessoa, poderemos querer for¸ar que a pessoa tenha um c elemento informando o CPF e ter apenas um elemento endere¸o c16 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 27. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coPor que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura Suponha que desejamos criar a estrutura de uma entidade Pessoa, poderemos querer for¸ar que a pessoa tenha um c elemento informando o CPF e ter apenas um elemento endere¸o c Para isso usamos estruturas de valida¸˜o DTD ou ca XMLSchema16 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 28. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDTDDTD Acrˆnimo de Document Type Definition o Especifica a estrutura a ser utilizada pelo documento XML Pode ser definido tanto dentro do XML quanto em um documento externo <!DOCTYPE note [ <!ELEMENT n o t e ( to , from , h e a d i n g , body )> <!ELEMENT t o (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT h e a d i n g (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>17 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 29. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDTDDTD <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?> <!DOCTYPE n o t e SYSTEM " Note . dtd "> <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e> <!DOCTYPE r o o t −e l e m e n t SYSTEM " f i l e n a m e ">18 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 30. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaO que ´? e Trata-se de uma altertativa ao DTD Oferece uma abordagem baseada em XML Tamb´m referenciado como XSD e19 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 31. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaO que possibilita? Define os elementos e atributos que podem aparecer no documento Define a ordem, o n´mero e quais s˜o os elementos filhos de u a um certo elemento Define se um elemento pode ser vazio ou se cont´m texto e Define o tipo de dado de cada elemento e atributo Possibilita definir valores padr˜es para elementos e atributos o20 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 32. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaPorque XMlSchema s˜o sucessores dos DTDs? a S˜o mais ricos e mais poderosos que os DTDs a S˜o escritos em XML a Suportam tipos de dados21 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 33. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaExemplo XSD <? xml v e r s i o n=" 1.0 " ?> <x s : schema xmlns : x s=" http :// www . w3 . org /2001/ X M L S c h e m a " t a r g e t N a m e s p a c e=" http :// m y n a m e s p a c e /2011/ e m p r e s a " xmlns=" http :// www . w 3 s c h o o l s . com " e l e m e n t F o r m D e f a u l t=" q u a l i f i e d "> <x s : e l e m e n t name=" note "> <x s : complexType> <x s : s e q u e n c e> <x s : e l e m e n t name=" to " type=" xs : string " /> <x s : e l e m e n t name=" from " type=" xs : string " /> <x s : e l e m e n t name=" h e a d i n g " type=" xs : string " /> <x s : e l e m e n t name=" body " type=" xs : string " /> </ x s : s e q u e n c e> </ x s : complexType> </ x s : e l e m e n t> </ x s : schema>22 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 34. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaExemplo XML <? xml v e r s i o n=" 1.0 " ?> <n o t e xmlns=" http :// www . w 3 s c h o o l s . com " xmlns : x s i=" http :// www . w3 . org /2001/ XMLSchema - i n s t a n c e " x s i : s c h e m a L o c a t i o n=" http :// www . w 3 s c h o o l s . com note . xsd "> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e>23 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 35. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaO que s˜o namespaces a Prov´m um m´todo de evitar conflitos em nomes de elementos e e ´´ E util quando ´ necess´rio unir documentos de dois e a documentos XML24 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 36. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coXMLSchemaExemplo Namespace Forma de usar: xmlns:prefix=”URI” <r o o t> <h : t a b l e xmlns : h=" http :// www . w3 . org / TR / html4 / "> <h : t r> <h : td>A p p l e s</h : td> <h : td>Bananas</h : td> </h : t r> </h : t a b l e> <f : t a b l e xmlns : f=" http :// www . w 3 s c h o o l s . com / f u r n i t u r e "> <f : name>A f r i c a n C o f f e e T a b l e</ f : name> <f : width>80</ f : width> <f : l e n g t h>120</ f : l e n g t h> </ f : t a b l e> </ r o o t>25 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 37. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coDesenvolvendo aplica¸˜es com XML co Diversas APIs est˜o dispon´ a ıveis para o desenvolvimento de aplica¸˜es que fazem uso de XML co Nessas APIs ´ poss´ a cria¸˜o de uma ´rvore XML, sendo e ıvel ca a poss´ inclusive a valida¸˜o com base em DTD ou ıvel ca XMLSchema Vamos tabalhar com a API JDOM26 / 27 Ivo Calado IFALPrograma¸˜o para Web ca
  • 38. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML coTrabalhoTrabalho I Implementar mecanismo de serializa¸˜o e desserializa¸˜o de ca ca objetos. Fornecer suporte aos seguintes mecanismos Tipos primitivos Tipos complexos definidos pelo usu´rio a Arrays de tipos complexos Objetos do tipo ArrayList Implementar mecanismo de XMLSchema que valide o arquivo XML27 / 27 Ivo Calado IFALPrograma¸˜o para Web ca

×