ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM

Tamanho: px
Começar a partir da página:

Download "ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM"

Transcrição

1 Tatianne Domingues de Faria Bini Dias RA sem ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM A PLATAFORMA JAVA Jaguariúna 2006

2 Tatianne Domingues de Faria Bini Dias RA sem ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM A PLATAFORMA JAVA Monografia apresentada à disciplina Trabalho de Graduação III, do curso de Ciência da Computação da Faculdade de Jaguariúna, sob orientação do Prof. Ms. Peter Jandl Júnior, como exigência parcial para conclusão do curso de graduação. Jaguariúna

3 DIAS, Tatianne Domingues de Faria Bini Dias. Estudo da Linguagem XML e sua integração com a Plataforma Java Monografia (Bacharelado em Ciência da Computação) Curso de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna. 2

4 Dedico este trabalho a Deus, que foi meu baluarte nas horas difíceis, tenho certeza que graças a Ele tenho a oportunidade de hoje estar aqui finalizando este curso. 3

5 Agradecimentos Gostaria de agradecer a Deus que me faz acordar a cada dia e ter forçar para enfrentar o novo amanhã. Agradeço ao professor, orientador, amigo e coordenador Peter Jandl Junior, pela atenção e confiança depositada e aos professores do curso de Ciência da Computação da FAJ pelo curso proporcionado e tudo que foi somado na minha vida através do ensino de cada matéria. Gostaria de agradecer aos meus pais e irmão que sempre me ajudaram com suas palavras de encorajamento e suas orações. Agradeço também meus amigos que estiveram comigo sempre me dando forças para continuar a caminhada, e aos meus amigos que me acompanharam esses 4 anos. 4

6 DIAS, Tatianne Domingues de Faria Bini Dias. Estudo da Linguagem XML e sua integração com a Plataforma Java Monografia (Bacharelado em Ciência da Computação) Curso de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna. RESUMO ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM A PLATAFORMA JAVA Nesta monografia, será considerada a questão-problema de como aplicar XML no desenvolvimento de aplicações através da Plataforma Java, ou seja, um estudo da área de desenvolvimento de sistemas. A pesquisa foi desenvolvida de forma bibliográfica com enfoque na linguagem XML, sua estruturação e aplicação como linguagem e também nas APIs Java destinadas a manipulação de dados do XML. Analisando as duas tecnologias envolvidas é possível verificar que o Java que se tornou a linguagem, a plataforma e a arquitetura para computação na rede, além de ser a linguagem de programação preferida pelas empresas brasileiras. De outro lado o aparecimento do XML que é uma tecnologia de ponta, que devido a sua grande versatilidade, marca uma mudança importante no gerenciamento de dados e vem se destacando na implementação de sistemas. Palavras-chave: XML, JAVA, APIS. 5

7 ABSTRACT RESEARCH OF THE XML LANGUAGE AND ITS INTERACTION WITH THE JAVA PLATFORM In this monograph, will be considered the problem-question how to apply XML into an application development using JAVA Platform, that is, an study of the systems development. The research was developed using a bibliographic form with focus at the XML language, its structure and application as a language and also at the JAVA APIs designated to XML data manipulation. Analyzing both involved technologies, its possible to verify that Java, witch became the language, the platform and the architecture for the network computing, besides being the preferred programming language of the Brazilian enterprises. In the other hand, the appearance of the XML, witch is a latest used technology, due to its huge versatility, marks an important change to the data management and became an outstanding system implementation. Keywords: XML, JAVA, APIS. 6

8 LISTA DE SIGLAS Java Me: Java 2 Platform Micro Edition Java Se: Java 2 Platform Standard Edition Java EE: Java 2 Platform, Enterprise Edition XML: extensible Markup Language SAX: Simple API for XML DOM: Document Object Model API: Application Programming Interface DTS: Definition Type Scheme DTD: Definition Type Document SGM: General Markup Language 7

9 SUMÁRIO 1. INTRODUÇÃO Introdução Objetivos Motivações Estrutura do trabalho XML DTD e DTS História do XML Características do XML Regras do XML Benefícios de Utilização do XML DEFINIÇÕES E NOTAÇÕES BÁSICAS DO XML Tags de Inicio e de Fim Atributos nas Tags Sensibilidade ao caixa Aninhamento Comentários em XML Características de documentos bem estruturados SINTAXE E BLOCOS DE CONSTRUÇÃO DTD Bloco de Construção DTD Seções CDATA Declaração de elementos APIS JAVA PARA XML API DOM Classes DOM Descrição das Classes DOM Exemplo de utilização DOM Utilização do DOM em Java Localizando Nodos Filhos Navegando entre irmãos Acessando Atributos por nome Modificando um DOM API SAX Interface Sax Eventos disparados pelo parser SAX Exemplo de SAX Utilização do SAX em Java Localizando Parse Errors CONSTRUÇÃO DO PROTÓTIPO Caso de Uso Desenvolvimento As APIS no protótipo Os testes do protótipo Ambiente de Desenvolvimento CONCLUSÕES Conclusão Melhoramentos REFERÊNCIAS BIBLIOGRÁFICAS

10 1. INTRODUÇÃO 1.1. Introdução Neste trabalho de graduação, será considerada a questão-problema de como aplicar XML(eXtensible Markup Language) no desenvolvimento de aplicações através da Plataforma Java. O Java é uma verdadeira plataforma, com soluções para dispositivos pequenos e portáteis dados pelo Java ME (Java 2 Platform Micro Edition) e Java Card, aplicações desktop Java SE (Java 2 Platform Standard Edition) e para desenvolvimento de software empresarial J2EE (Java 2 Platform, Enterprise Edition) (JANDL, 2002). Como disse Scott McNealy, "O Java tornou-se a linguagem, a plataforma e a arquitetura para computação na rede (SUN, 2005 A). No futuro bem próximo o mundo todo estará hiperconectado em rede e somente uma tecnologia foi criada desde o começo para lidar com as necessidades da computação de maneira segura e independente do dispositivo utilizado - o Java (SUN, 2005 C). Java é a linguagem de programação preferida pelas empresas brasileiras, segundo revela a pesquisa Desenvolvimento de Sistemas das Grandes Corporações, realizada pelo Grupo Impacta Tecnologia junto às duas mil maiores companhias do Brasil de diversos segmentos (IMPACTA, 2005). De outro lado o aparecimento do XML marca uma mudança importante no gerenciamento de dados. Baseadas nas redes de computadores globais, as estruturas de dados simples do passado estão dando lugar a estruturas complexas, definidas por esquemas. O XML é uma tecnologia de ponta, que devido a sua grande versatilidade vem se destacando na implementação de sistemas (FARIA, 2005). Essa pesquisa se torna viável, devido ao grande interesse em estudar Java, pois é uma tecnologia promissora para o desenvolvimento de software e é essencial para o ingresso no mercado de trabalho atual, além de disso o Java se torna um bom caminho para o aprendizado de orientação a objeto Objetivos Os objetivos deste trabalho foram estudar a linguagem XML, sua estruturação e aplicação como linguagem neutra, portátil, extensível e dinâmica. Estudar as APIs (Application Programming Interface) Java, DOM (Document Object Model) e SAX (Simple API for XML), destinada a manipulação do XML e aplica-lás através da construção de um protótipo envolvendo as duas tecnologias (Java e XML). 9

11 1.3. Motivações Os interesses desse projeto foram acadêmicos, sendo que o principal foi estudar o XML, uma tecnologia de ponta que vem se destacando na implementação de sistemas. Outro interesse foi estudar a linguagem Java que segundo pesquisas é a tecnologia preferida das empresas, além disso, o Java se torna um bom caminho para o aprendizado de orientação a objeto Estrutura do trabalho 1º Capítulo Introdução É apresentado o objetivo, motivações e descreve as várias etapas da realização do projeto. 2º Capítulo XML Descreve o que é o XML, sua história, características, regras e benefícios de se utilizar a linguagem XML. 3 Capítulo Definições de notações básicas do XML Define a estruturação formatação de um documento XML. 4 Capítulo Sintaxe e bloco de construção DTD Relata as regras de sintaxe do XML e o conjunto de regras estabelecidas por um DTD (Document Type Definition). 5 Capítulo APIS Java para XML Descrição das APIs DOM e SAX e como utilizá-las na manipulação de dados em XML. 6º Capítulo Construção do Protótipo É feita uma descrição do algoritmo e do seu modo de funcionamento, bem como uma exemplificação da sua utilização. 7 Capítulo Conclusões Neste capítulo são feitas a considerações finais sobre o projeto e ainda referenciados possíveis melhoramentos a aplicação. 10

12 2. XML O XML (extensible Markup Language) é uma linguagem de marcação que armazena todo o tipo de dado, utilizando caracteres UNICODE 1, que armazena qualquer tipo de caracter ou símbolo. Essa capacidade de armazenar vários tipos de dados é chamada de Self-describe data ou dados autodescritivos, que faz a representação de informações em qualquer idioma (LIGHT, 1999). O XML é um formato de texto simples, muito flexível derivado do SGML (Standard General Markup Language) ISO 8879, é um padrão de formatação de dados de forma que os dados fiquem organizados. Todas as informações contidas no XML estão dentro de tags, que são marcações de inicio e fim onde estão os elementos, as tags são demarcadas pelos símbolos < e > e na final por uma barra \. Através do XML podemos criar outras linguagens para especificar cada um dos usos de XML, são as sublinguagens. Sublinguagens são linguagens que servem para definir outras linguagens, ou seja, são metalinguagens. Existem duas metalinguagens obtidas apartir do XML, o DTD (Definition Type Document) e o DTS (Definition Type Scheme) (FARIA, 2005) DTD e DTS O DTS e o DTD são regras do XML que ajudam a validar os dados quando a aplicação que os recebe não possui internamente uma descrição do dado que está recebendo (WIKIPEDIA, 2006). O DTS, Definition Type Scheme estabelece um conjunto de regras que definem a composição do documento a partir de uma gramática formal. Sua estrutura é a de base hierárquica e granular, detalhando quais elementos podem ser usados e onde eles podem ser aplicados. O DTD, Definition Type Document, também estabelece o tipo de relacionamento que um elemento possui com outros, indicando todas as partes, obrigatórias e opcionais, que o documento XML deve seguir ao ser criado (CRIAR WEB, 2006). 1 Unicode é um esquema de codificação de caracteres com 16 bits, incluindo não apenas os alfabetos gregos e romanos, mas também símbolos matemáticos, pontuação especial e conjuntos de caracteres não romanos 11

13 2.2. História do XML O XML provém de uma linguagem que a IBM criou por volta dos anos 70. Essa linguagem chama-se GML (General Markup Language) e surgiu pela necessidade que a IBM possuía de armazenar grandes quantidades de informação diversificadas. O GML chamou a atenção da ISO (International Organization for Standardization) que por volta do ano 1986 começou a trabalhar para normalizar a linguagem e criou a SGML, que não era mais que o GML, porém, padrão (Standard em inglês). SGML é uma linguagem muito rica, capaz de adaptar-se a grandes variedades de problemas (W3C, 2006). Estimulado pela insatisfação com os formatos existentes (padronizados ou não), um grupo de empresas e organizações que se autodenominou World Wide Web Consortium 2 (W3C) começou a trabalhar em meados da década de 1990 em uma linguagem de marcação que combinasse a flexibilidade da SGML com a simplicidade da HTML (Hyper Text Markup Language). O princípio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. O mesmo W3C em 98 começou e continua até hoje o desenvolvimento do XML Características do XML O XML se concentra na estrutura da informação e não em sua aparência, essa é a principal característica o conteúdo separado, criou-se as seguintes características (PITTS- MOULTIS, 2000): extensível, interpolar, universal, simples, transportável, flexível, portabil. Extensível: Utilizado em todos dos campos do conhecimento. O programador cria livremente as tags da forma que lhe pareça mais útil. Existe uma grande liberdade na escolha da estrutura dos dados, o que facilita a troca dos mesmos. O Exemplo 1 mostra as diversas formas de representar uma data. date> 5 janeiro 2000 </date> <date> <ano> 2000 </ano> <mes> 01 </mes> <dia> 05 </dia> </date> <date format='iso-8601'> </date> Exemplo 1: Formas variadas de representar datas. 2 World Wide Web Consortium (W3C), foi criado em 1994 para levar a Web para o seu potencial máximo, através do desenvolvimento de protocolos comuns e fóruns abertos que promovem sua evolução e asseguram a sua interoperabilidade. O W3C desenvolve tecnologias, denominadas Web Standards (ou Padrões Web) para a criação e a interpretação dos conteúdos para Web 12

14 Interpolaridade: Os dados são vistos como documentos XML e não como arquivos em formatos específicos. Um simples editor de texto pode tratar de todos os dados de uma determinada organização. A interpolaridade assegura que o documento será formal e preciso do ponto de vista dos dados até a maneira como salvá-los. Com XML é possível padronizar os dados, de forma que eles possam ser recuperados das mais diferentes fontes sem que haja grandes problemas. Universal: Os dados são idênticos tanto para enviar, receber e processar as informações. Simples: Os dados são escritos de maneira que seja fácil de ler e editar. Transportável: É possível implantar, programar e aplicar aos distintos sistemas. Flexível: É possível representar qualquer tipo de informação. Portabilidade: projetado para ser usado com qualquer linguagem de programação e em qualquer sistema operacional. De acordo com esses objetivos criou-se uma linguagem neutra, portátil, extensível e dinâmica que: Separa conteúdo de formatação; É legível tanto para humanos quanto para máquinas; Possibilita a criação de tags sem limitações; Faz comunicação entre distintos bancos de dados; É simples; Com XML, automaticamente os dados estão disponíveis para mais pessoas por uma simples razão: XML é independente de hardware, software e aplicação Regras do XML A padronização de formatos é a principal regra no XML. Uma outra regra está ligada aos erros que podem acontrecer na hora da execução. O XML interrompe o processo se encontra um erro de marcação, ele exibirá uma mensagem de erro. Esse modo rigoroso de trar erros é conhecido como tratamento de erros draconianos. DTS. As regras podem variar quanto a sua classificação: Regras específicas DTS e Sem Quando o documento contiver validação o processador fará a verificação de acordo com as regras específicas DTS, se o documento não tiver validação o processdor fará a verificação apenas com as regras do XML. A seguir algumas regras XML: 1. Um documento XML deve conter um ou mais elementos. 2. O nome de um elemento deve ser igual na marcação (tag) inicial e na final. 3. O XML é case-sensitive, há diferença entre letras maiúsculas e letras minúsculas. 13

15 4. O único elemento que não pode fazer parte do conteúdo de nenhum outro elemento é o elemento raiz. 5. Os elementos que estão dentro da tag inicial e final devem estar alinhados. Se a marcação inicial está dentro de um elemento a final deve estar também dentro do mesmo elemento. 6. O nome dos elementos pode conter letras, dígitos, hífens ou underscores. 7. Os nomes dos elementos que começam com xml, XML ou outra combinação dessa string são reservados por padrão. 8. O elemento pode conter vários atributos ou nenhum. 9. Os caracteres permitidos são os mesmos dos nomes de elementos. 10. O nome do atributo é seu valor são separados por um sinal de igual( = ). 11. O valor dado ao atributo deve estar entre apóstrofes '...' ou aspas duplas "...". 12. Caracteres < e & não podem ser usados no texto como são usados nas marcações. Se esses caracteres são necessários utiliza-se < ao invés de < e & ao invés de &. 13. É possível colocar comentários em qualquer lugar do documento fora de uma marcação. 14. Seções CDATA são usadas para preservar blocos de texto com caracteres que seriam interpretados como marcação. As seções CDATA começam com a string "<![CDATA[" e terminam com a string "]]>". A seqüência ']]>' não pode ocorrer dentro da seção CDATA. 15. Os documentos XML podem começar com uma declaração XML para especificar a versão do XML que está sendo usada e o conjunto de caracteres que serão utilizados Benefícios de Utilização do XML O objetivo de utilizar XML é trazer flexibilidade. Dentre os benefícios para desenvolvedores e usuários temos: buscas mais eficientes, integração de dados de fontes diferentes, computação e manipulação local, múltiplas formas de visualizar os dados, atualizações granulares dos documentos, escalabilidade, fácil compreensão. O XML pode ser usado por uma infinidade de trabalhos e aponta amplas vantagens, como (CRIAR, 2006): Comunicação de dados, migração de dados, busca mais eficiente, computação e manipulação local, múltiplas formas de visualizar os dados, atualização granular dos documentos, escalabilidade e fácil compreensão. Comunicação de dados: Se a informação se transfere em XML, qualquer aplicação pode escrever um documento de texto plano com os dados que está manejando no formato XML e outra aplicação pode receber esta informação e trabalhar com ela. Um 14

16 desenvolvedor corrige com mais facilmente as aplicações, de forma que um simples editor de textos pode ser usado para corrigir um erro em um arquivo XML. Migração de Dados: Se for preciso mover os dados de uma base de dados à outra seria muito simples se as duas trabalhassem em formato XML. Então um banco de dados pode, através de uma aplicação escrever em um arquivo XML e um outro banco distinto pode ler estes mesmos dados. Buscas mais eficientes: Os dados em XML podem ser unicamente "etiquetados", o que permite que, por exemplo, uma busca por livros seja feita em função do nome do autor. Sem o XML é necessário para a aplicação de procura saber como é esquematizado e construído cada banco de dados que armazena os dados de interesse, o que é impossível. O XML permitiria definir livros por autor, título, assunto, etc., o que facilitaria enormemente a busca. Computação e manipulação local: Os dados XML recebidos por um cliente são analisados e podem ser editados e manipulados de acordo com o interesse do usuário. Ao contrário de somente visualizar os dados, os usuários podem manipulá-los de várias formas. Os recursos disponíveis do Document Object Model (DOM) permitem que os dados sejam manipulados via scripts ou outra linguagem de programação. A separação da interface visual dos dados propriamente ditos permite a criação de aplicações mais poderosas, simples e flexíveis. Múltiplas formas de visualizar os dados: Os dados recebidos por um usuário podem ser visualizados de diferentes formas uma vez que o XML define somente os dados e não o visual. A interpretação visual poderia ser dada de várias maneiras diferentes, de acordo com as aplicações. Atualizações granulares dos documentos: Os dados podem ser atualizados de forma granular evitando que uma pequena modificação no conjunto de dados implique na busca do documento inteiro novamente. Escalabilidade: Devido ao fato dos documentos XML separarem completamente os dados da forma com a qual são visualizados, autores de aplicações de visualização de dados podem torná-las muito poderosas e interativas, permitindo ao usuário visualizar os dados da forma que lhe agrade. Fácil Compressão: A compressão de documentos XML é fácil devido à natureza repetitiva das tags usadas para definir a estrutura dos dados. 15

17 3. DEFINIÇÕES E NOTAÇÕES BÁSICAS DO XML Um documento XML é um texto (em formato Unicode) com tags de marcação (markup tags) e outras informações. O documento XML é considerado bem formatado quando segue algumas regras básicas. Tais regras são mais simples do que nos documentos HTML e permitem que os dados sejam lidos e expostos sem nenhuma descrição externa ou conhecimento do sentido dos dados XML Tags de Inicio e de Fim Os elementos são formados por duas tags, uma indicando o inicio e a outra o fim. As tags de inicio e fim, devem ter o mesmo nome. Toda tag de início é identificada pelo caracter < seguido do nome e do caracter >. A tag de fim é diferenciada pelo caracter / que será colocado após > (FARIA, 2005). <aluno> -tag de inicio </aluno> - tag de finalização Toda tag deve ser fechada na ordem correta que ela foi aberta Atributos nas Tags Pode-se colocar atributos dentro da tag inicial. O valor do atributo deve ser especificado entre aspas simples ou duplas (FARIA, 2005). <aluno status="matriculado"> Tatianne Dias </aluno> Exemplo 2: Atributos dentro das Tags. No Exemplo 2 o status é o nome do atributo e matriculado é o seu valor. Antes de se especificar atributos nas tags é preciso observar algumas regras: Atributos não podem conter elementos filhos; Atributos não são expansíveis (para o caso de futuras mudanças); Atributos são mais difíceis de manipular; Atributos são difíceis de serem validados quando se usa DTD. Os valores dos atributos podem conter espaços, começar com caractere numérico e conter qualquer caractere de pontuação. Em resumo, pode-se dizer que elementos devem ser usados para descreverem dados e atributos são usados para representar informações secundárias. 16

18 3.3. Sensibilidade ao caixa Os documentos XML são case-sensitive, ou seja, letras maiúsculas e minúsculas são diferentes nas tags de XML, dessa forma a tag a seguir está correta, enquanto que a segunda está incorreta. (FARIA, 2005). No Exemplo 3 a primeira linha está correta, já a segunda contém um erro na tag de fim, pois o S está maiúsculo diferente da tag inicial. <assunto>xml</assunto> <assunto>xml</assunto> Exemplo 3: Sensibilidade ao caixa Aninhamento Deve-se ter muito cuidado com esta questão de aninhar elementos. É muito comum em um documento extenso haver algumas tags desaninhadas; em HTML isso não causa sérios problemas. Porém em XML o desaninhamento é proibido. O documento não pode conter tags desaninhadas porque se no código existir erro será muito difícil encontrá-lo. <b><i>este é um texto em negrito e itálico</b></i> <b><i>este é um texto em negrito e itálico</i></b> Exemplo 4: desaninhamento e aninhamento das tags. O primeiro fragmento de código no Exemplo 4 não funciona em XML, pois era preciso ser fechado primeiro o <i> por que ele foi aberto por ultimo. O segundo fragmento funciona corretamente, já que as tags estão aninhadas corretamente Comentários em XML Os comentários escritos em XML são interpretados apenas pelo analisador do documento e são ignorados por todos os processadores. <! comentário, posso escrever qualquer coisa --> Exemplo 5: Comentário em XML. Todos os dados entre essa marcação são ignorados pelo processador XML. O comentário não pode estar antes da instrução de processamento (declaração XML) que deve ser a primeira sentença de um documento, nem dentro de um elemento. A seqüência -- não pode aparecer em um comentário, exceto como parte dos delimitadores (Exemplo 5). 17

19 3.6. Características de documentos bem estruturados Documentos XML bem estruturados apresentam as seguintes características: Possuem casamentos das tags de início e de fim; Possuem tags de elemento apropriadamente posicionadas; Possui tags aninhadas para corrigir os erros com maior facilidade; Possuem um elemento raiz; Não possuem elementos sobrepostos. Quando algumas das características acima não são atendidas pode ocorrer sobreposição dos elementos. O Exemplo 6 é um exemplo de sobreposição. <titulo>descrição dos diversos modelos de carros <sub>da marca Ford </titulo>alexandre Manso </sub> Exemplo 6: Fragmento de um documento mal estruturado. E o Exemplo 7 mostra o erro corrigido. <titulo>descrição dos diversos modelos de carros <sub>da marca Ford</sub> <autor> Alexandre Manso</autor> </titulo> Exemplo 7: Fragmento de um documento bem estruturado. 18

20 4. SINTAXE E BLOCOS DE CONSTRUÇÃO DTD As regras de sintaxe de XML são muito simples de serem entendidas. Documentos XML usam uma sintaxe autodescritiva. Dentro de uma estrutura XML os DTDs (Document Type Definition) são opcionais porém são conhecidos e válidos. O DTD estabelece um conjunto de regras que definem uma gramática formal do documento. Sua estrutura detalha quais elementos podem ser usados e onde podem ser aplicados. O DTD indica todas as partes, obrigatórias e opcionais, que o documento XML deve seguir ao ser criado (FARIA, 2005). É preciso abordar a diferença entre um documento bem formatado e um documento válido. Um documento XML bem formado é um documento que cumpre as regras de sintaxe. Basicamente, as regras são as seguintes: Contém um elemento raiz; Todos os outros elementos são filhos do elemento raiz; Todos os elementos têm um par correspondente; Os nomes dos elementos em tags de início e de fim são os mesmos; Nomes de atributos somente são usados dentro do mesmo elemento. Um documento XML é considerado válido quando é bem formado e segui as regras definidas em um DTD. Pode-se dizer que a finalidade de um arquivo DTD é definir os possíveis elementos para a construção de um documento XML. Basicamente, ele define a estrutura do documento com uma lista de elementos disponíveis para uso. Um DTD pode ser declarado no mesmo arquivo do documento XML ou fazendo uma referência a um arquivo externo. Mas, se o que um DTD faz é definir os elementos que poderão ser utilizados no documento XML, por que então simplesmente não construir o documento XML sem um DTD? A explicação é que XML provê uma forma independente das aplicações compartilharem dados. Com DTD, desenvolvedores de diversos locais podem concordar em usar um DTD único para a troca de dados. Assim, uma aplicação pode usar o DTD para verificar se os dados recebidos de uma outra aplicação são realmente válidos, ou seja, são válidos para o DTD pré-definido entre as partes. A Figura 1 mostra o esquema de um documento XML com regras DTD. O DTD é uma metalinguagem do XML e a partir dos DTDs de softwares, disciplina e laboratório é formado o documento professor.xml, ele só é gerado porque os foram atendidas todas as regras do DTD. 19

21 Figura 1 - Esquema de um documento nas Regras DTD Bloco de Construção DTD A finalidade de um arquivo DTD é definir os possíveis elementos para a construção de um documento XML. Basicamente, ele define a estrutura do documento com uma lista de elementos disponíveis para uso. Um DTD pode ser declarado no mesmo arquivo do documento XML ou fazendo uma referência a um arquivo externo. Tabela 1 - Blocos de Construção do XML. Blocos Descrição Elementos Bloco de construção utilizado no XML, pode se referir a qualquer Tags Atributos Entidades Notação PCDATA CDATA tag criada. Elementos de marcação que possuem abertura e encerramento Fornecem informações exatas sobre os elementos, sendo inseridos em suas tags iniciais. Possuem um nome e um conteúdo. Variáveis designadas para conter textos ou documentos Armazena textos que será interpretado pelo analisador do documento Significa parsed character data. Sobre data character, ou dados de caracteres, entende-se que é o texto que está entre a tag de início e a tag de fim em um elemento XML. PCDATA é o texto que será analisado pelo parser. Também significa character data, entretanto CDATA representa o texto que NÃO será analisado pelo parser 20

22 O DTD deve reconhecer os blocos de construção dados na Tabela Seções CDATA Normalmente o texto que aparece entre os delimitadores < e> são considerados marcações. Exceção é feita aos textos entre delimitadores de seções CDATA, que são considerados caracteres de dado. Os delimitadores de abertura e fechamento da seção são, respectivamente, <![CDATA[ e ]]> A única seqüência de caracteres que não pode aparecer em uma seção CDATA é ]]> As seções CDATA são úteis quando se deseja que todos os caracteres de um texto sejam interpretados como caracteres e não como elementos de marcação. Exemplos são textos contendo os caracteres <, >, &, etc., comuns em trechos de código de programas. O Exemplo 8 mostra alguns caracteres no código. <![ CDATA[ Em XML a entidade < eh built- in ]]> Exemplo 8: Documento processado com CDATA. No exemplo 8 podemos visualizar um fragmento com CDATA, o resultado depois que o documento for processado será: "Em XML a entidade < eh built- in" Declaração de elementos Em um DTD a declaração de um elemento é feita da forma seguinte: <!ELEMENT nome-elemento (conteudo-elemento)> Existem derivações dessa forma de declaração de elementos, respeitando a sintaxe. Algumas formas são mostradas na Tabela 2. Tabela 2 - Declaração de Elementos em DTD. Descrição Sintaxe Exemplo <!ELEMENT nome-elemento <!ELEMENT img (EMPTY)> Elementos vazios (EMPTY)> Elementos com Dados Elementos com filhos <!ELEMENT nome-elemento (#CDATA)> ou <!ELEMENT nome-elemento (#PCDATA)> ou <!ELEMENT nome-elemento (ANY)> <!ELEMENT nome-elemento (nome-elemento-filho)> ou <!ELEMENT nome-elemento (nome-elemento-filho,nomeelemento-filho,...)> <!ELEMENT nota (#PCDATA)> <!ELEMENT mensagem (para,de,assunto,corpo)> 21

23 5. APIS JAVA PARA XML XML é um formato de texto simples, uma linguagem onde os dados são gravados em documentos. Para realizar ações com dados escritos em XML temos alguns mecanismos específicos. O W3C especificou dois mecanismos para acessar a documentos XML e trabalhar com eles. Esses mecanismos são normas que foram criadas para mostrar ao desenvolvedor como acessar os documentos. Estas normas incluem uma hierarquia de objetos que têm alguns métodos e atributos para podermos acessar as partes do documento (W3C, 2006). Estes dois mecanismos denominam-se SAX (Simple API for XML) e DOM (Document Object Model). SAX é utilizado para fazer um percurso seqüencial dos elementos do documento e DOM implica a criação de um organograma na memória que contem o documento XML, e com ele na memória pode-se fazer qualquer tipo de percurso e ações com os elementos (PITTS-MOULTIS, 2000). Um exemplo simples para ilustrar esta situação é de uma aplicação que tem como objetivo buscar os dados de determinado livro em um documento XML. Como o acesso é feito serialmente, assim que o livro desejado é encontrado, o processamento pára (o SAX permite isso) e o dado é retornado para o usuário. Podemos utilizar o SAX também para aplicações onde não é necessário retornar o documento inteiro, mas sim parte dele. Caso uma aplicação precise retornar os livros de determinado autor, o SAX percorre o documento e retorna apenas os livros solicitados. Neste exemplo, a construção de uma árvore é desnecessária, logo a utilização do DOM se torna inviável. A linguagem de programação usada para acessar a um documento XML é de escolha do programador, desde que essa possua umas APIs que cumpram as especificações de XML. Uma linguagem típica para trabalhar com o XML é o Java. A SUN se encarregou de prover a API que o W3C especificou (SUN, 2006 D). A Figura 2 mostra as principais diferenças entre DOM e SAX. 22

24 Figura 2 - Esquema DOM x SAX. Nas seções 5.1 e 5.2 será possível identificar o funcionamento dos parsers SAX e DOM. A principal diferença é que em DOM o arquivo XML é alocado na memória e as informações são passadas para a aplicação que devolve um parser ao arquivo XML. Já no SAX as informações são passadas a aplicação através de eventos (event handlers) que está dentro da aplicação, essa por sua vez devolve o parser ao XML API DOM O W3C definiu o DOM como o formato padrão para manipulação de documentos XML (W3C, 2006). O principio básico é que um documento XML é transformado em um DOM constituído de objetos que implementam interfaces. Cada parte do documento é transformado em um objeto, e as conexões entre os objetos refletem a hierarquia do documento. No modelo DOM o documento XML inteiro é armazenado na memória num formato de arvore de nodos, todos descendentes de uma raiz. Para cada procura ou manipulação realizada no documento DOM, é preciso começar pelo elemento raiz e ir subindo na hierarquia. Como todas as informações estão disponíveis na memória, é possível combinar informações (PITTS-MOULTIS, 2000). Na Figura 3 observa-se a estrutura do modelo conceitual de DOM. 23

25 Figura 3 - Modelo Conceitual DOM (PITTS-MOULTIS, 2000) Classes DOM Praticamente todas as classes do DOM herdam da classe Node. Esta classe, por sua vez, possui dois atributos, denominados name e value, que serão herdados por todas as outras classes. Além destes atributos, há um outro denominado childrennode, que representa um auto-relacionamento da classe Node. Logo, as outras classes também herdarão este atributo. Desta forma, a navegação entre as classes do DOM é realizada através do atributo childrennode. A interface Node é implementada por todas as diferentes subcategorias ilustradas na Figura 2. Esta forma de representação é muito interessante para as linguagens como Java, que são orientadas a objetos. Todos os tipos de Node possuem uma interface correspondente em Java (SUN, 2005 B). Através da figura 4 é possível observar os subtipos de nodes que encontramos no DOM. 24

26 Figura 4 - Subtipos de Node em DOM (PITTS-MOULTIS, 2000) Descrição das Classes DOM Tabela 3 - Resumo das Classes da API DOM Classe Descrição Attr Representa um atributo de um determinado elemento CdataSection CharacterData Comment Document DocumentFragment DocumentType Element Entity EntityReference NamedNodeMap Node NodeContainer Notation ProcessingInstruction Text Representa uma seção XML Cdata Representa uma string genérica no DOM Representa um comentário XML Representa um documento XML, o elemento raiz. Representa uma árvore de nós que geralmente não é uma árvore completa. Representa o DTD na árvore do documento Representa a maioria dos objetos na árvore. Representa uma entidade XML Representa uma referência à uma entidade ainda não expandida. Contém uma coleção de nós que podem ser acessados pelo nome É a classe pai de todos os nós da árvore DOM Adiciona a capacidade de ter nós filhos Representa uma notação XML Representa o processamento de uma instrução que define o comportamento do parser. Representa o dado textual do documento, coleção de caracteres de attr ou element. 25

27 Na Tabela 3 a descrição resumida das classes da API DOM. Cada classe representa uma função dentro do XML Exemplo de utilização DOM No Exemplo 9 será utilizado o parser XML da Sun: o JAXP API parser toolkit, que substitui diversos toolkits diferentes. A Sun buscou neste novo API flexibilidade, utilizandose apenas dois arquivos JAR jaxp.jar e parser.jar - que devem ser colocados no diretório de extensões padrão. Estes pacotes devem ser incluídos (PITTS-MOULTIS, 2000). import java.io.*; import java.util.*; import javax.xml.parsers.*; import org.xml.sax.*; import org.w3c.dom.*; Exemplo 9: Utilização do DOM. Pelo fato do parser fazer todo o trabalho, tudo que se deve fazer é usar um DocumentBuilderFactory para criar um DocumentBuilder e especificar o arquivo de entrada. No Exemplo 10 é possível visualizar o procedimento para se criar um DocumentBuilder. File XMLFile = new File( src ); //onde src é uma string DocumentBuilderFactory dbf = new DocumentBuilderFactory.newInstance(); DocumentBuider db = dbf.newdocumentbuilder(); Document doc = db.parse(xmlfile); Exemplo 10: Criando um DocumentBuilder. O Document é uma referência para um objeto que implementa a interface Document definida no pacote org.w3c.dom (W3C, 2006). A classe específica é fornecida pelo DocumentBuilder; mas não é preciso se preocupar com os detalhes internos porque a interface Document fornece todos os métodos necessários Utilização do DOM em Java O processo de utilização do DOM em Java consistem basicamente em três (3) etapas: 1º Criar o DocumentBuilderFactory. Este objeto criará o DocumentBuilder. 2º Criar o DocumentBuilder. O DocumentBuilder fará o parsing para criar o objeto Document. 3º Fazer o parsing do arquivo para criar o objeto Document. 26

28 import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import java.io.file; import org.w3c.dom.document; public class OrderProcessor { public static void main (String args[]) { File docfile = new File("orders.xml"); Document doc = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder(); doc = db.parse(docfile); } catch (Exception e) { System.out.print( Erro ao analisar o arquivo."); } } } Exemplo 11: Utilização do XML em Java. Os Exemplos 11 e 12 mostram como é utilizado o XML em Java. import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import java.io.file; import org.w3c.dom.document; import org.w3c.dom.element; public class OrderProcessor {... System.exit(1); } //Recupera o elemento raiz (root) Element root = doc.getdocumentelement(); System.out.println( O elemento raiz é " + root.getnodename()); } } Exemplo 12: Consulta do elemento raiz. 27

29 5.1.5 Localizando Nodos Filhos O texto de um Element pode ser armazenado no DOM em mais de um Node filho. No Exemplo 13, uma seção CDATA é utilizada para que marcação HTML seja incorporada: <Qtext> <![CDATA[Please fill in <b>all</b> Fields ]]> </Qtext> Exemplo 13: Utilizando CDATA Navegando entre irmãos Figura 5 -Navegação entre Nodes em DOM. Um objeto Element também conhece seus relacionamentos próximos no DOM. É possível localizar elementos anteriores e próximos no mesmo nível de hierarquia com o método descrito no Exemplo 14. Element prev = ae.getprevioussibling(); Element next = ae.getnextsibling(); Exemplo 14: Método para navegação em documento DOM Estes métodos retornam null quando depois de executados não acharem irmãos naquele ponto. 28

30 5.1.7 Acessando Atributos por nome Atributos pertencentes a um Element podem ser acessados por nome para recuperar o seu valor, como em: String isbnstr = booke.getattribute( isbn ); A String retornada será vazia caso não exista atributo com aquele nome. Este método funciona bem em XML quando os valores de atributos são apenas texto. Caso seu XML tenha referências de entidades nos atributos, como a seguir, onde Attr é uma extensão da interface Node: Attr isbnstr = booke.getattribute( isbn ); É possível recuperar todos os atributos relacionados com um elemento com um NamedNodeMap, como a seguir: NamedNodeMap map = booke.getattributes(); O conteúdo de um determinado atributo pode ser acessado pelo nome: Node nd = map.getnameditem( isbn ); Note que será retornado um Node do tipo Attr, ou null caso o atributo não exista. Para realmente recuperar o conteúdo do atributo faça o seguinte: String value = nd.getnodevalue(); Modificando um DOM Quando o Document está na memória, é possível modifica-lo através de diversas maneiras. O Exemplo 15 mostra como adicionar um atributo printing no tag Edition de um determinado livro. NodeList editnl = booke.getelementsbytagname( Edition ); Element edition = (Element) editnl.item( 0 ); Edition.setAttribute( printing, 3 ); Exemplo 15: Método Edition para modifica documento DOM. A interface Document especifica métodos para criar objetos Node de todos os tipos. Se for preciso adicionar um novo livro ao Document é possível também (exemplo 16). Element addbook = doc.createelement( Book ); doc.appendchild( addbook ); Exemplo 16: Método criar objeto Node. Title, Author e outros elementos podem ser criados e adicionados como filhos do objeto addbook. Existe também um método de inserir um Node filho antes de um determinado Node. Para extrair porções de um Document ou reagrupar partes de um documento, DOM fornece a interface DocumentFragment. 29

31 5.2. API SAX O padrão SAX (Simple API for XML) cresceu por que o método DOM era muito complexo e inadequado para várias aplicações. O problema era que até então, cada parser XML para Java tinha seu próprio padrão de interface. Com intenção de solucionar este problema programadores produziram os primeiros rascunhos do SAX num curto espaço de tempo. O padrão SAX é hoje aceito largamente e forma a base dos parsers do modelo DOM bem como parsers que simplesmente provem uma interface SAX. O pacote que contém todas essas interfaces é o org.xml.sax (ORG SAX, 2006). Na Figura 6 podemos ver a estruturação do SAX, onde temos um XML que tem uma DTD opcional, o SAX cria um parser handler e é através desse método que o arquivo será acessado pelo programa. Figura 6 - Modelo Conceitual SAX (PITTS-MOULTIS, 2000) Interface Sax É preciso criar um parser SAX para ler uma determinada fonte e registrar objetos implementando as várias interfaces com o parser. 30

32 Quando o parser é executado, os objetos registrados são notificados quando os eventos disparados pelo parser ocorrem. Na Tabela 4 é possível visualizar alguns eventos que definem a interface Sax: Tabela 4- Tabela de Interface SAX. Parsing Event Handler StartDocument Parsing do começo. EndDocument StartElement EndElement Characters IgnorableWhitespace Descrição Último evento disparado, o fim do documento foi alcançado. Um tag de elemento sofreu parsing. Uma lista de atributos é fornecida. O tag de final de um elemento sofreu parsing. O parser localizou um bloco de caracteres. Pode ser chamada várias vezes para um elemento. O parser localizou um bloco de espaços em branco geralmente ignorado no padrão XML. processinginstruction O parser localizou uma processing instruction que é SetDocumentLocator retornada como uma String. Esse evento retorna um objeto que implementa a interface Locator que aponta o local no documento que disparou o evento Eventos disparados pelo parser SAX Tabela 5 - Eventos disparados pelo parser SAX. Parsing Event Handler StartDocument EndDocument StartElement EndElement Characters IgnorableWhitespace processinginstruction SetDocumentLocator Parsing começou. Descrição O fim do documento foi alcançado. Este é o último evento disparado. Um tag de elemento sofreu parsing. Uma lista de atributos é fornecida. O tag de final de um elemento sofreu parsing. O parser localizou um bloco de caracteres. Pode ser chamada várias vezes para um elemento. O parser localizou um bloco de espaços em brancos geralmente ignorado no padrão XML. O parser localizou uma processing instruction que é retornada como uma String. Esse evento retorna um objeto que implementa a interface Locator que aponta o local no documento que disparou o evento. 31

33 5.2.3 Exemplo de SAX Para se programar em SAX é preciso mudar o ponto de vista em relação a programação DOM. O parser SAX passa apenas uma vez pelo documento fonte, e o programador deve fazer tudo que ele precisa nesta única passagem. Uma das vantagens do SAX é que ele requer pouca memória, e a quantidade não depende do tamanho do documento XML. O Exemplo 17 nos mostra um documento XML de notícias. <?xml version="1.0" encoding="iso "?> <!DOCTYPE moreovernews SYSTEM "moreovernews.dtd"> <moreovernews> <article id="_ "> <url>http://c.moreover.com/click/here.pl?x </url> <headline_text>cyclone Commerce Poised to Fulfill Promise of E-Signature Legislation</headline_text> <source>java Industry Connection</source> <media_type>text</media_type> <cluster>java news</cluster> <tagline> </tagline> <document_url>http://industry.java.sun.com/javanews/more/hotnews/ </document_url> <harvest_time>jul :34AM</harvest_time> <access_registration> </access_registration> <access_status> </access_status> </article> <article id="_ "> Exemplo 17: Documento XML Utilização do SAX em Java A implementação do parser SAX da Sun no pacote javax.xml.parsers é bastante flexível. Um parser é obtido via SAXParserFactory da seguinte maneira: SAXParserFactory fac = SAXParserFactory.newInstance(); SAXParser parser = fac.newsaxparser(); O parser é iniciado chamando um dos métodos parse fornecido. Estes diferem na maneira em que foi especificado o documento de entrada do parser. É possível usar um objeto InputStream, um objeto File, um URI, ou um objeto org.xml.sax.inputsource. O método parse também requer uma referência para um objeto que estende a classe HandlerInput. 32

34 import javax.xml.parsers.*; import org.xml.sax.*; import org.xml.sax.helpers.*; import java.io.*; public class SAXTesteSimples { public SAXTesteSimples() { try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newsaxparser(); DefaultHandler dh = new SAXTesteSimplesHandler(); parser.parse(new File("c:\\temp\\teste.xml"), dh); parser.getxmlreader(); } catch(parserconfigurationexception pce) { pce.printstacktrace(); } catch (SAXException saxe) { saxe.printstacktrace(); } catch (IOException ioe) { ioe.printstacktrace(); } } public static void main(string arg[]) { new SAXTesteSimples(); } public class SAXTesteSimplesHandler extends DefaultHandler { public void startelement(string uri, String localname, String name, Attributes attrs) { System.out.println(name); } 33

35 public void characters(char[] ch, int start, int length) { if (!(new String(ch, start, length).trim().equals(""))) System.out.println(new String(ch, start, length).trim()); } } } Exemplo 18: Utilização do SAX em Java Localizando Parse Errors Problemas sérios de parsing causarão a chamada do SAXParseException. O Exemplo 19 mostra como extrair informações ao máximo da exceção, transformando em uma string: } catch (SAXParseException spe) { StringBuffer sb = new StringBuffer (spe.tostring()); sb.append( \n Line number: + spe.getlinenumber()); sb.append( \n Column number: + spe.getcolumnnumber()); sb.append( \n Public ID: + spe.getpublicid()); sb.append( \n System ID + spe.getsystemid()); return sb.tostring(); } Exemplo 19: Chamada do SAXParseExpection. 34

36 6. CONSTRUÇÃO DO PROTÓTIPO O protótipo mostrará os resultados obtidos através da manipulação de dados XML na plataforma Java. Através de dois exemplos poderemos ver em qual caso é mais viável o uso do DOM e em qual caso é viável o uso do SAX. Será possível escolher se a consulta será feita em SAX ou em DOM. A Figura 7 mostra o esquema do protótipo, desde o conversor até o resultado. Figura 7 - Esquema do protótipo Será usado um programa que converterá banco de dados Firebird ou Interbase exportando o banco para um arquivo XML, para que seja possível a manipulação de dados no protótipo. O programa chama-se Fixmlexport, é da empresa TECT Software Ltda. Depois de feito o cadastro no site é possível fazer o download do programa, pois ele é um software livre. A Figura 8 mostra a tela principal do programa, depois de especificado o caminho do banco de dados e programa faz a conexão mostrando todas as tabelas. Para converter o BD é preciso especificar o caminho onde será salvo e exporta-lo, como mostra a Figura 9. 35

37 Figura 8: Programa Fixmlexport (Tela Principal). Figura 9: Programa Fixmlexport (Exportação). 36

38 6.1. Caso de Uso Figura 10 - Caso de Uso do Protótipo. O usuário pode escolher qual o arquivo ele deseja procurar e em seguida escolher qual método utilizar. E o cliente final visualiza a consulta dos dados que ele solicitou como mostra a Figura Desenvolvimento Inicialmente temos um documento, que pode ser um XML qualquer ou um arquivo convertido através do Fixmlexport. Assim que o protótipo é executado é preciiso escolher qual arquivo será processado (Figura 11). O protótipo utilizará duas APIS Java destinado à manipulação de dados em XML, SAX e DOM. Depois de escolhido o arquivo é preciso escolher entre as duas APIs, o protótipo retornará o documento escolhido processado integralmente e também o início, fim e tempo decorrido da consulta (Figura 12). Como mostra a seção 5, para cada caso é preciso escolher entre utilizar a API DOM ou a SAX. Se o arquivo for muito extenso recomenda-se que se utilize a aplicação com a API SAX, pois está não armazena na memória o documento e sua busca é feita seqüencialmente. Se o Arquivo for menor ou se houver a necessidade de busca através de árvores é recomendado que se utilize à aplicação com API Dom, já que está cria uma arvore de nodes na memória, porém essa aplicação não é recomendada se o arquivo for muito extenso, pois ocupará muita memória. 37

39 Figura 11: Protótipo Tela para escolher o arquivo. Figura 12 - Tela com documento processado e tempo decorrido. 38

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

Sistemas de Informação: XML- Java

Sistemas de Informação: XML- Java XL 1 : XL- Java Todos os exemplos bem como o conteúdo teórico tem por base o livro: Steven Holzner, SAS Teach Yourself XL, SAS Publishing, 2004 XL Java e XL 2 Documentos XL podem ser abordados de dois

Leia mais

Manipulação de XML JAXP - DOM

Manipulação de XML JAXP - DOM UNIPÊ Centro Universitário de João Pessoa Desenvolvimento para Web - XML Manipulação de XML JAXP - DOM Prof. Eduardo Ribas ducaribas@gmail.com 1 4 JAXP DOM O que é DOM? Document Object Model API padrão

Leia mais

Java e XML Processamento de documentos XML com Java

Java e XML Processamento de documentos XML com Java Guia de Consulta Rápida Java e XML Processamento de documentos XML com Java 2 a edição Renê Rodrigues Veloso Novatec Copyright 2007 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela

Leia mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA Mário Meireles Teixeira DEINF-UFMA Motivação extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

Processamento de dados XML

Processamento de dados XML Processamento de dados XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Considerações no desenvolvimento de software para processar dados XML. Processamento de uma DTD para interpretar marcação

Leia mais

Este relatório tem por objetivo, abordar a sintaxe XML.

Este relatório tem por objetivo, abordar a sintaxe XML. Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] Dados de caracteres (uma

Leia mais

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Um documento XML possui Unidade lógica - os elementos Usuário inventa as marcas através de DTDs XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML

Leia mais

Processamento de dados XML

Processamento de dados XML Processamento de dados XML Vanessa Braganholo Vanessa Braganholo Introdução } Dois pontos básicos: } Como escrever um documento XML? } Como ler um documento XML? 2 Escrevendo um documento XML } Documentos

Leia mais

Programação por Objectos. Documentos anotados MEEC@IST XML 1/57

Programação por Objectos. Documentos anotados MEEC@IST XML 1/57 Programação por Objectos Documentos anotados MEEC@IST XML 1/57 Definição (1) A formatação de documentos é realizada segundo duas metodologias: 1. Embutir: a formatação é absorvida internamente pela ferramenta

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados Introdução Definição Validação Apresentação Processamento Banco de Dados Universo XML Prof. Enzo Seraphim Popularidade do HTML Extremamente simples Estilo próprio para formatação de documentos Ligações

Leia mais

Sintaxe XML. César Vittori cvittori@inf.ufrgs.br. Outubro de 2000. Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos

Sintaxe XML. César Vittori cvittori@inf.ufrgs.br. Outubro de 2000. Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos Sintaxe XML César Vittori cvittori@inf.ufrgs.br Outubro de 2000 Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos XML. Sintaxe XML Marcação de documentos eletrônicos XML é

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

XML (extensible Markup Language)

XML (extensible Markup Language) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

Bases de dados semi-estruturadas, XML

Bases de dados semi-estruturadas, XML Bases de dados semi-estruturadas, XML Fernando Lobo Base de Dados, Universidade do Algarve 1 / 40 Modelo de informação semi-estruturado Esquema está impĺıcito nos dados. Ao invés do modelo relacional,

Leia mais

DOM Document Object Model

DOM Document Object Model DOM Document Object Model Vanessa Braganholo Vanessa Braganholo DOM API padrão para processamento de dados XML baseado em um modelo de árvore o parser constrói na memória um objeto representando a árvore

Leia mais

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. Em XML, os tags não são pré-definidos. Temos de definir os nossos tags. XML utiliza um Document

Leia mais

Comunicado Técnico. Adaptação da Ferramenta Digester para Tratamento de Atributos em Tags de Documentos XML. Padrão XML

Comunicado Técnico. Adaptação da Ferramenta Digester para Tratamento de Atributos em Tags de Documentos XML. Padrão XML Comunicado Técnico 63 Novembro, 2004 Campinas, SP ISSN 1677-8464 Adaptação da Ferramenta Digester para Tratamento de Atributos em Tags de Documentos XML Sérgio Aparecido Braga da Cruz¹ Carla Geovana do

Leia mais

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Aula 2 Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Conceitos O software controla os computadores(freqüentemente conhecido

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

Guia de Consulta Rápida XML. Otávio C. Décio. Novatec Editora

Guia de Consulta Rápida XML. Otávio C. Décio. Novatec Editora Guia de Consulta Rápida XML Otávio C. Décio Novatec Editora Guia de Consulta Rápida XML de Otávio C. Décio Copyright@2000 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610

Leia mais

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

Introdução à Tecnologia Web

Introdução à Tecnologia Web Introdução à Tecnologia Web JavaScript Sintaxe da Linguagem: Delimitadores e etc Profª MSc. Elizabete Munzlinger JavaScript Sintaxe da Linguagem Índice 1 SINTAXE DA LINGUAGEM... 2 1.1 Delimitadores de

Leia mais

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL Deinf/Dine4 Versão 1.3 20/05/2013 Histórico de Revisão Data Versão Descrição Autor 06/11/2007 1.0 Elaboração da primeira versão

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza ROTEIRO Introdução ao DTD Elementos Atributos Entidades Validando um documento XML DTD (DOCUMENT

Leia mais

Apostila de XHTML Curso de Internet Professor Rinaldo Demétrio

Apostila de XHTML Curso de Internet Professor Rinaldo Demétrio Conteúdo XHTML - Por quê?... 2 Porque XHTML?... 2 Diferenças Entre XHTML e HTML... 3 Como Preparar-se para a XHTML... 3 As Diferenças Mais Importantes:... 3 Os Elementos Devem Estar Devidamente Aninhados...

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...

Leia mais

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011 XML Básico Murillo Vasconcelos Henriques B. Castro 17 de maio de 2011 O QUE É? Sigla para extensible Markable Language É uma linguagem de marcação, assim como HTML Desenvolvida para ser auto explicativa

Leia mais

O que é XML? A Linguagem de Marcação Extensível (Extensible Markup Language - XML) é:

O que é XML? A Linguagem de Marcação Extensível (Extensible Markup Language - XML) é: 1.264 Aula 13 XML O que é XML? A Linguagem de Marcação Extensível (Extensible Markup Language - XML) é: Uma recomendação proposta pelo World Wide Web Consortium (W3C) Um formato de arquivo Documentos eletrônicos

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

XML: uma introdução prática X100. Helder da Rocha (helder@argonavis.com.br)

XML: uma introdução prática X100. Helder da Rocha (helder@argonavis.com.br) XML: uma introdução prática X100 Helder da Rocha (helder@argonavis.com.br) Atualizado em setembro de 2001 1 Programação com XML Há duas maneiras populares para manipular (interpretar, gerar, extrair dados

Leia mais

Introdução a conceitos e a prática de programação

Introdução a conceitos e a prática de programação Instituto de Informática - UFG Disciplina: Introdução à Computação Introdução a conceitos e a prática de programação Autores: Marcelo Akira e Anderson Soares Fevereiro de 2011 Alguns direitos autorais

Leia mais

L A C Laboratory for Advanced Collaboration

L A C Laboratory for Advanced Collaboration Publicação de Dados Governamentais no Padrão Linked Data 2.1 Conceitos Básicos Karin Breitman José Viterbo Edgard Marx Percy Salas L A C Laboratory for Advanced Collaboration Objetivo deste módulo 1.Discutir

Leia mais

Manual Framework Daruma para ECF

Manual Framework Daruma para ECF Manual Framework Daruma para ECF DESENVOLVENDO SOLUÇÕES Autor: Leandro Doc. Vrs. 01 Revisão: Laila Maria Aprovado em: Março de 2015. Nota de copyright Copyright 2015 Teorema Informática, Guarapuava. Todos

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes

Desenvolvimento Web Introdução a XHTML. Prof. Bruno Gomes Desenvolvimento Web Introdução a XHTML Prof. Bruno Gomes 2014 Introdução HTML e XHTML Estrutura básica do documento DTDs Validação do documento Exercícios HTML e XHTML HTML (Hipertext Markup Language)

Leia mais

Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML

Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML Palmas 2004 Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Arquitetura da Informática e Automação MBA Gestão em Tecnologia 1 da Informaçao 2 Figura: Tela do IBM Mainframe Fonte: Arquivo próprio

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

Guia de Consulta Rápida XHTML. Juliano Niederauer. Novatec Editora. www.novateceditora.com.br

Guia de Consulta Rápida XHTML. Juliano Niederauer. Novatec Editora. www.novateceditora.com.br Guia de Consulta Rápida XHTML Juliano Niederauer Novatec Editora www.novateceditora.com.br Guia de Consulta Rápida XHTML de Juliano Niederauer Copyright 2002 da Novatec Editora Ltda. Todos os direitos

Leia mais

Primeiro programa em Java (compilação e execução)

Primeiro programa em Java (compilação e execução) Universidade Federal do ABC Disciplina: Linguagens de Programação (BC-0501) Assunto: Primeiro programa em Java (compilação e execução) Primeiro programa em Java (compilação e execução) Introdução Este

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes

Apresentação. Rio de Janeiro, 19 de fevereiro de 2002 Waldemar Celes Apresentação A disciplina de Estruturas de Dados (ED) está sendo ministrada em sua nova versão desde o segundo semestre de 1998. Trata-se da segunda disciplina de informática oferecida no curso de Engenharia

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

XML extensible Markup Language. Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br

XML extensible Markup Language. Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br XML extensible Markup Language Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br XML Projetada para transportar e armazenar dados (estruturados) Importante conhecer e fácil de entender Exemplo de documento

Leia mais

ESTUDO TÉCNICO N.º 14/2012

ESTUDO TÉCNICO N.º 14/2012 ESTUDO TÉCNICO N.º 14/2012 MANUAL DE INSTRUÇÕES PARA UTILIZAÇÃO DO ARQUIVO EM FORMATO XML PARA IMPORTAÇÃO DOS DADOS DO REGISTRO MENSAL DE ATENDIMENTOS DOS CRAS MINISTÉRIO DO DESENVOLVIMENTO SOCIAL E COMBATE

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Java Linguagem de programação

Java Linguagem de programação NASA INFORMÁTICA Pág. 1 O ambiente Java Como foi comentado anteriormente, o Java é uma linguagem independente de plataforma. Tal característica torna-se possível com o uso de um formato intermediário,

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

Leia mais

Documentação Usando o Javadoc

Documentação Usando o Javadoc Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Introdução ao Derby. Version 10.2 Derby Document build: December 11, 2006, 7:16:07 AM (PST)

Introdução ao Derby. Version 10.2 Derby Document build: December 11, 2006, 7:16:07 AM (PST) Introdução ao Derby Version 10.2 Derby Document build: December 11, 2006, 7:16:07 AM (PST) Contents Direitos autorais reservados... 3 Introdução ao Derby...4 Opções de implementação...4 Requisitos do

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Linguagem de Estruturação e Apresentação de Conteúdos

Linguagem de Estruturação e Apresentação de Conteúdos UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA MINISTERIO DA EDUCAÇÃO Câmpus Santa Helena Curso de Bacharelado em Ciência da Computação Linguagem de Estruturação e Apresentação de Conteúdos Prof. Me. Arlete

Leia mais

XML. Introdução Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )

XML. Introdução Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) XML Introdução Ferramentas para Internet Marx Gomes Van der Linden ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) Objetivos Apresentar a linguagem de marcação XML bem como

Leia mais

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Ricardo Alexandre G. C. Martins, José Carlos Ramalho, and Pedro Rangel Henriques \{ram,jcr,prh\}@di.uminho.pt Departamento de Informática

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

XML APIs. Aplicações Baseadas em XML

XML APIs. Aplicações Baseadas em XML XML APIs Material parcialmente extraído de: Alan Robinson em http://industry.ebi.ac.uk/~alan/xmlworkshop/presentations/ Dickson K.W. Chiu em http://www.cse.cuhk.edu.hk/~kwchiu/csc3530/ Curso de Mestrado/Doutorado

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com No início A Web é criada em 1989, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Leia mais

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão 4. 8-10 Fevereiro XATA 06

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão 4. 8-10 Fevereiro XATA 06 Tutorial Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento de Sistemas de Informação Universidade do Minho Conteúdo Vantagens

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL

WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL 232 - Encontro Anual de Tecnologia da Informação WXDC: Uma Ferramenta para Imposição e Validação de Restrições de Integridade baseadas na Linguagem XDCL Stevan D. Costa1, Alexandre T. Lazzaretti1, Anubis

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes

Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Modelagem e Implementação de Aquário de Peixes- por Jorge Fernandes - Página 1 Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Jorge Fernandes Natal, Agosto de

Leia mais

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java.

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. Exceções em Java Miguel Jonathan DCC/IM/UFRJ (rev. abril de 2011) Resumo dos conceitos e regras gerais do uso de exceções em Java O uso de exceções permite separar a detecção da ocorrência de uma situação

Leia mais

Padrões de Codificação Java

Padrões de Codificação Java Padrões de Codificação Java João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 1.0 Última Atualização: Março / 2005 1 Objetivos Apresentar os padrões de codificação Java da SUN 2 Introdução Um padrão

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

1 Representação de texto

1 Representação de texto O texto é uma das principais formas de comunicação assíncrona entre seres humanos. São exemplo os livros, os jornais, as revistas, etc. Mais recentemente, podemos dar como exemplo as mensagens SMS (Short

Leia mais

Kerio Exchange Migration Tool

Kerio Exchange Migration Tool Kerio Exchange Migration Tool Versão: 7.3 2012 Kerio Technologies, Inc. Todos os direitos reservados. 1 Introdução Documento fornece orientações para a migração de contas de usuário e as pastas públicas

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO Internet Internet é o conjunto de diversas redes de computadores que se comunicam entre si Internet não é sinônimo de WWW (World Wide

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais