java e xml
DESCRIPTION
Java e XML. Eduardo Aranha. 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”. XML. Extensible Markup Language Metalinguagem Utilizada para definir outras linguagens Não define marcadores ( tags ) - PowerPoint PPT PresentationTRANSCRIPT
Java e XML
Eduardo Aranha
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”
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)
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, ...)
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, ...
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>
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, ...
Document Type Declarations (DTD)
Arquivo XML
<?xml version=“1.0”?>
<!DOCTYPE banco SYSTEM “banco.dtd”>
<banco nome=“PB & Associados”>...
</banco>
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>
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>
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
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
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
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
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
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