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 Banco sem limites financeiros
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...
Document Type Declarations (DTD) Arquivo banco.dtd <!ATTLIST banco nome CDATA #REQUIRED> <!ATTLIST conta numero ID #REQUIRED saldo ( ,00 | ,00 ) #IMPLIED>
Esquema XML Exemplo de esquema
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: conta end 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 – JDOM Jason Hunter, Brett McLaughlin Outras APIs foram desenvolvidas pela IBM, Oracle e Apache Software Foundation
Referências Extensible Markup Language Brett McLaughlin. Java and XML. O´Reilly, Site sobre XML da Sun Microsystem
Referências Validation with Java and XML schema /jw-0908-validation.html Jato: The new kid on the open source block /jw-0413-jato2.html