Java e XML
description
Transcript of Java e XML
![Page 1: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/1.jpg)
Java e XML
Eduardo Aranha
![Page 2: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/2.jpg)
Slogans de Java e de XML
Java– “Portabilidade de Código”
XML– “Portabilidade de Dados”
Java e XML– “Portabilidade de Código e de Dados”
![Page 3: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/3.jpg)
XML
Extensible Markup Language Metalinguagem
– Utilizada para definir outras linguagens– Não define marcadores (tags)– Não define gramática– Conformidade com uma estrutura geral (uso de
marcadores, sua ordem, única raiz, etc)
![Page 4: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/4.jpg)
XML
Método para colocar dados estruturados em arquivos textos
Em formato texto, mas apenas para facilitar a depuração
Família de tecnologias (Xlink, Xpath, XLS, Namespace, ...)
![Page 5: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/5.jpg)
XML
Uso – Protocolo de Comunicação
Ex: Entre Applet e Servlet, Business-to-Business, RPC, ...
– Camada de Apresentação (XSL, XSLT) Definição de objetos de transformação de dados para
apresentação Ex: Apresentar o dado em HTML, PDF, PS, ...
– Configuração Ex: EJB, Servlet 2.2, Shopping do Radix, Engenho de
Teste, ...
![Page 6: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/6.jpg)
XML
Exemplo simples de arquivo XML
<?xml version=“1.0”?>
<banco nome=“PB & Associados”>
Banco sem limites financeiros
<conta numero=“100” saldo=“10.000.000,00” />
<conta numero=“50” saldo=“9.000.000,00” />
</banco>
![Page 7: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/7.jpg)
Especificando o Formato do Arquivo
Determina se um documento é válido Document Type Declarations (DTD)
– Determina a estrutura do documento
Esquema XML– Determina a estrutura do documento e restrições
para os textos contidos nele– Sintax XML, datatypes, hierarquia, regras, suporte a
namespace, ...
![Page 8: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/8.jpg)
Document Type Declarations (DTD)
Arquivo XML
<?xml version=“1.0”?>
<!DOCTYPE banco SYSTEM “banco.dtd”>
<banco nome=“PB & Associados”>...
</banco>
![Page 9: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/9.jpg)
Document Type Declarations (DTD)
Arquivo banco.dtd
<?xml version="1.0"?>
<!ELEMENT banco (conta*)> <!ELEMENT conta EMPTY> <!ATTLIST banco
nome CDATA #REQUIRED><!ATTLIST conta
numero ID #REQUIREDsaldo (9.000.000,00 | 10.000.000,00 ) #IMPLIED>
![Page 10: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/10.jpg)
Esquema XML
Exemplo de esquema
<?xml version="1.0"?>
<schema> <attribute name="shoeSize"> <simpleType baseType="integer">
<minExclusive value="0" /> <maxInclusive value="20" />
</simpleType> </attribute>
</schema>
![Page 11: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/11.jpg)
Formas de Acesso
DOM– Document Object Model– API baseado em árvores– Utilizado para manipulação dos dados– Lê todo o documento para depois gerar uma árvore– pacote org.w3c.dom
![Page 12: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/12.jpg)
Formas de Acesso
SAX– API Baseado em eventos
start document start element: banco characters: Banco sem limites financeiros start element: contaend element: conta ...end element: banco end document
![Page 13: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/13.jpg)
Formas de Acesso
SAX– Simple API for XML– Não cria uma representação em forma de árvore– Durante a leitura do documento já vai gerando os
eventos– pacote org.xml.sax
![Page 14: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/14.jpg)
Java e XML
Algumas APIs– JAXP (Java API for XML Parsing)
Da Sun Microsystem, um dia deve ser incorporada no kit Java
– JDOMJason Hunter, Brett McLaughlin
Outras APIs foram desenvolvidas pela IBM, Oracle e Apache Software Foundation
![Page 15: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/15.jpg)
Referências
Extensible Markup Language
http://www.w3c.org/XML Brett McLaughlin. Java and XML. O´Reilly,
2000. Site sobre XML da Sun Microsystem
http://java.sun.com/xml
![Page 16: Java e XML](https://reader036.fdocumentos.com/reader036/viewer/2022083010/56815380550346895dc18472/html5/thumbnails/16.jpg)
Referências
Validation with Java and XML schema
http://www.javaworld.com/javaworld/jw-09-2000/jw-0908-validation.html
Jato: The new kid on the open source block
http://www.javaworld.com/javaworld/jw-04-2001/jw-0413-jato2.html