XML APIs. Aplicações Baseadas em XML
|
|
- Oswaldo Duarte Barata
- 8 Há anos
- Visualizações:
Transcrição
1 XML APIs Material parcialmente extraído de: Alan Robinson em Dickson K.W. Chiu em Curso de Mestrado/Doutorado DCC/NCE UFRJ Agenda Introdução Níveis de especificação DOM Navegando e editando uma árvore DOM Tipos de Nó DOM Criando uma árvore DOM Exercícios 1
2 Introdução Objetivo W3C: prover uma interface de programação padrão para aplicações que manipulam XML. Portabilidade: projetado para ser usado com qualquer linguagem de programação e em qualquer sistema operacional. Funcionalidade: criar um documento XML navegar na estrutura de um documento XML adicionar, modificar ou remover elementos nesta estrutura XML API Dois tipos: tree-based e event-based Tree-based API (eg., DOM) transforma um documento XML em um estrutura em árvore na memória => uso extensivo da memória. Event-based API (eg., SAX) identifica eventos ao efetuar a análise do documento (parsing) e notifica a aplicação, como por exemplo para informar que um tag foi aberto sem o /tag correspondente. 2
3 DOM vs. SAX XML document DOM XML parser parse Application DOM get information XML document SAX parse XML parser Application Event handlers information DOM (W3C) a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. Application DOM API XML parser XML document 3
4 Árvore DOM Document Node <bibliografia> <livro id= 123 >DOM em 1h!</livro> </bibliografia> Element Node NodeList <bibliografia> id= 123 DOM em 1h! Attr Node Text CharacterData Node Named NodeMap NodeList NodeList Element Node <livro> Interfaces DOM Figure as from The XML Companion - Neil Bradley Node DocumentFragment Document Text CDATASection CharacterData Attr Comment Element DocumentType Notation NodeList NamedNodeMap Entity EntityReference DocumentType ProcessingInstruction 4
5 Node Interface Objeto básico do DOM Vários objetos herdam desta interface 3 tipos de métodos Básicos name, type, value Navegação parents, siblings, children, ancestors, descendants Manipulação Edit, delete, re-arrange child nodes Métodos básicos short getnodetype(); String getnodename(); String getnodevalue(); void setnodevalue(string value); if (mynode.getnodetype() == Node.ELEMENT_NODE) { //process node 5
6 Métodos de navegação Somente os seguintes tipos de nó podem ter filhos: Document, DocumentFragment, Element Verificando a presença de nós filhos if (mynode.haschildnodes()) { //process children of mynode Métodos de Navegação Encontrando filhos,pais e irmãos Node getfirstchild(); Node getlastchild(); Node getnextsibling(); Node getprevioussibling(); Node getparentnode(); NodeList getchildnodes(); 6
7 Navegando pelos nós Figure as from The XML Companion - Neil Bradley getparentnode() parent A B C D getnextsibling() E F getprevioussibling() getlastchild() getchildnodes() getfirstchild() Node mynode = parent.getfirstchild(); mynode = mynode.getnextsibling(); if (mynode.haschildren()) { NodeList children = mynode.getchildnodes(); Navegando pelos nós É possível também recuperar uma lista de nós com mesmo tag através do método getelementsbytagname() do objeto Document NodeList resultado = mydoc.getelementsbytagname( book ); for (I=0; I<resultado.length();I++) {... 7
8 Métodos de Manipulação Filhos de um nó em uma árvore DOM podem ser adicionados, removidos, substituidos, copiados, movidos, etc. Node removechild(node old) Node insertbefore(node new, Node ref) Node appendchild(node new) Node replacechild(node new, Node old) Node clonenode(boolean deep); Manipulando nós Figure as from The XML Companion - Neil Bradley Ref Old New New insertbefore replacechild Deep = 'false' clonenode Deep = 'true' 8
9 Document::Node Interface Raiz da árvore DOM: representa todo o documento XML Métodos básicos //Information from DOCTYPE - See 'DocumentType' DocumentType getdocumenttype(); //Information about capabilities of DOM implementation DOMImplementation getimplementation(); //Returns reference to root node element Element getdocumentelement(); //Searches for all occurrences of 'tagname' in nodes NodeList getelementsbyname(string tagname); Document::Node Interface (2) Métodos para criação de outros tipos de nó Element createelement(string tagname); Text createtextnode(string data); Comment createcomment(string data); CDATASection createcdatasection(string data); ProcessingInstruction createprocessinginstruction (String target, String data); Attr createattribute(string name); 9
10 Element::Node Interface Métodos básicos String gettagname(); NodeList getelementsbytagname(); void normalize(); Métodos para manipulação de atributos String getattribute(string name); void setattribute(string name, String value) ; void removeattribute(string name) ; Attr getattributenode(string name); void setattributenode(attr new); void removeattributenode(attr old) ; Para obter a lista de atributos é preciso usar o método NamedNodeMap getattributes() Attr::Node Interface Interface para tratar atributos //Get name of attribute String getname(); //Get value of attribute String getvalue(); //Change value of attribute void setvalue(string value); //if 'true' - attribute defined in element, else in DTD boolean getspecified(); 10
11 Attr::Node Interface (2) É possível criar objetos Attr através dos métodos de criação de nós da interface Document //Create the empty Attribute node Attr newattr = mydoc.createattribute("status"); //Set the value of the attribute newattr.setvalue("secret"); //Attach the attribute to an element myelement.setattributenode(newattr); Text::Node Interface Representa o conteúdo textual dos nós Element Usualmente aparece como filho destes nós Sempre são nós folha Único método próprio (não herdado) Text splittext(int offset) Também pode ser criado a partir de método na interface Document O método normalize() em um objeto Nó, concatena os objetos Text das folhas a partir deste nó, sem deixar dois textos adjacentes. 11
12 Comment::Text Interface Representa Comentários Todos os caracteres entre '<!--' e '-->' Também pode ser criado a partir de método na interface Document Comment newcomment = mydoc.createcomment(" my comment "); ProcessingInstruction::Node Interface Representa as declarações de instruções de processamento Name of node is target application name Value of node is target application command //Get the content of the processing instruction String getdata() //Set the content of the processing instruction void setdata(string data) //The target of this processing instruction String gettarget(); Pode ser criado a partir do objeto Document ProcessingInstruction newpi = mydoc.createprocessinginstruction("acme", "page-break"); 12
13 NodeList Interface Representa uma coleção ordenada de objetos Node Métodos //Find number of Nodes in NodeList int getlength(); //Return the i-th Node Node item(int index); Percorrendo os nós filho de um elemento Node child; NodeList children = elemento.getchildnodes()' for (int i = 0; i < children.getlength(); i++) { child = children.item(i); if (child.getnodetype() == Node.ELEMENT_NODE) { System.out.println(child.getNodeName()); NamedNodeMap Interface Coleção não ordenada de objetos Node E.g. Attribute, Entity and Notation Acesso depende de nome único NamedNodeMap myattributes = myelement.getattributes(); NamedNodeMap myentities = mydocument.getentities(); NamedNodeMap mynotations = mydocument.getnotations(); int getlength(); Node item(int index); Node getnameditem(string name); Node setnameditem(node node) ; Node removenameditem(string name) ; 13
14 DOMImplementation Interface É possível verificar as funcionalidades da implementação DOM através do método: hasfeature(string feature, String version); if (theparser.hasfeature("xml", "1.0") { //XML is supported Utilização do DOM (Java) Processo em 3 passos Criar o DocumentBuilderFactory. Este objeto criará o DocumentBuilder. Criar o DocumentBuilder. O DocumentBuilder fará o parsing para criar o objeto Document. Fazer o parsing do arquivo para criar o objeto Document. 14
15 Exemplo de aplicação básica 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 Básico 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()); 15
16 Exemplo Básico import org.w3c.dom.nodelist; //Recupera o elemento raiz(root) Element root = doc.getdocumentelement(); System.out.println( O elemento raiz é "+root.getnodename()); //Recupera os filhos (children) NodeList children = root.getchildnodes(); System.out.println( Existem "+children.getlength()+" nós neste documento."); Exemplo Básico import org.w3c.dom.node; //recuperando o nome e valor dos filhos (children) for (Node child = root.getfirstchild(); child!= null; child = child.getnextsibling()) { System.out.println(child.getNodeName()+" = "+child.getnodevalue()); 16
17 Exemplo Básico public class OrderProcessor { private static void stepthrough (Node start) { System.out.println(start.getNodeName()+" = "+start.getnodevalue()); for (Node child = start.getfirstchild(); child!= null;child = child.getnextsibling()) { //Recuperando os filhos recursivamente stepthrough(child); public static void main (String args[]) { File docfile = new File("orders.xml"); System.out.println( Existem "+children.getlength() +" nós neste documento."); stepthrough(root); Manipulando Atributos import org.w3c.dom.namednodemap; private static void stepthroughall (Node start) { System.out.println(start.getNodeName()+" = "+start.getnodevalue()); if (start.getnodetype() == start.element_node) { NamedNodeMap startattr = start.getattributes(); for (int i = 0; i < startattr.getlength(); i++) { Node attr = startattr.item(i); System.out.println(" Atributo: "+ attr.getnodename() +" = "+attr.getnodevalue()); for (Node child = start.getfirstchild(); child!= null; child = child.getnextsibling()) { stepthroughall(child); 17
18 SAX SAX 2.0 (Maio 2000) SAX = Simple API for XML Suporta namespaces e a consulta/edição de propriedades do parser Domínio público (XML-DEV mailing list) Usa um modelo baseado em eventos Notificações (eventos) ocorrem à medida em que o documento é analizado ( parsed ) 18
19 Event-Based API Considere o documento <doc> <para>hello, world!</para> </doc> Umainterface baseadaem eventosgerauma lista de eventos como a que se segue: start document start element: doc start element: para characters: Hello, world! end element: para end element: doc end document Métodos invocados pelo SAX parser Método setdocumentlocator startdocument enddocument startelement endelement characters ignorablewhitespace processinginstruction Descrição Invocado no início do parsing. Invocado quando o parser encontra o início de um documento XML Invocado quando o parser encontra o fim de um documento XML Invocado quando a tag de inicio de um elemento é encontrada Invocado quando a tag de fim de um elemento é encontrada. Invocado quando text characters são encontrados. Invocado quando whitespace que pode ser ignorado é encontrado. Invocado quando um PI é encontrada. 19
20 Como SAX funciona? Processamento em SAX envolve os seguintes passos 1. Criar um event handler 2. Criar o SAX parser 3. Associar o event handler ao parser criado 4. Fazer o parsing do documento, enviando cada evento ao event handler. Exemplo: Uma pesquisa de opinião <?xml version="1.0"?> <surveys> <response username="bob"> <question subject="appearance">a</question> <question subject="communication">b</question> <question subject="ship">a</question> <question subject="inside">d</question> <question subject="implant">b</question> </response> <response username="sue"> <question subject="appearance">c</question> <question subject="communication">a</question> <question subject="ship">a</question> <question subject="inside">d</question> <question subject="implant">a</question> </response> <response username="carol"> <question subject="appearance">a</question> <question subject="communication">c</question> <question subject="ship">a</question> <question subject="inside">d</question> <question subject="implant">c</question> </response> </surveys> 20
21 Criando um event handler import org.xml.sax.helpers.defaulthandler; public class SurveyReader extends DefaultHandler { public SurveyReader() { System.out.println("Object Created."); public void showevent(string name) { System.out.println("Hello, "+name+"!"); public static void main (String args[]) { SurveyReader reader = new SurveyReader(); reader.showevent( Nick"); import org.xml.sax.helpers.defaulthandler; import javax.xml.parsers.saxparser; import javax.xml.parsers.saxparserfactory; import org.xml.sax.xmlreader; public class SurveyReader extends DefaultHandler { Criando o Parser SAX public SurveyReader() { public static void main (String args[]) { XMLReader xmlreader = null; try { SAXParserFactory spfactory = SAXParserFactory.newInstance(); SAXParser saxparser = spfactory.newsaxparser(); xmlreader = saxparser.getxmlreader(); catch (Exception e) { System.err.println(e); System.exit(1); 21
22 Associando o event handler ao parser xmlreader = saxparser.getxmlreader(); xmlreader.setcontenthandler(new SurveyReader()); catch (Exception e) { Executando o parser do documento import org.xml.sax.inputsource; xmlreader = saxparser.getxmlreader(); xmlreader.setcontenthandler(new SurveyReader()); InputSource source = new InputSource("surveys.xml"); xmlreader.parse(source); catch (Exception e) { 22
23 Criando um ErrorHandler import org.xml.sax.saxparseexception; public class SurveyReader extends DefaultHandler { public SurveyReader() { public void error (SAXParseException e) { System.out.println("Error parsing the file: "+e.getmessage()); public void warning (SAXParseException e) { System.out.println("Problem parsing the file: "+e.getmessage()); public void fatalerror (SAXParseException e) { System.out.println("Error parsing the file: "+e.getmessage()); System.out.println("Cannot continue."); System.exit(1); public static void main (String args[]) { Associando o ErrorHandler xmlreader.setcontenthandler(new SurveyReader()); xmlreader.seterrorhandler(new SurveyReader()); InputSource source = new InputSource("surveys.xml"); 23
24 Eventos: startdocument() import org.xml.sax.saxexception; public class SurveyReader extends DefaultHandler { public void fatalerror (SAXParseException e) { System.out.println("Error parsing " + "the file: "+e.getmessage()); System.out.println("Cannot continue."); System.exit(1); public void startdocument() throws SAXException { System.out.println("Tallying survey results"); public static void main (String args[]) { Eventos: startelement() import org.xml.sax.attributes; public class SurveyReader extends DefaultHandler { public void startdocument() throws SAXException { System.out.println("Tallying survey results"); public void startelement( String namespaceuri, String localname, String qname, Attributes atts) throws SAXException { System.out.print("Start element: "); System.out.println(localName); public static void main (String args[]) { 24
25 startelement(): recuperando atributos public void startelement( String namespaceuri, String localname, String qname, Attributes atts) throws SAXException { System.out.print("Start element: "); System.out.println(localName); for (int att = 0; att < atts.getlength(); att++) { String attname = atts.getlocalname(att); System.out.println(" " + attname + ": " + atts.getvalue(attname)); Obtendo Dados: characters() // ch inclui o documento inteiro public void characters(char[] ch, int start, int length) throws SAXException { if (thiselement == "question") { printindent(4); System.out.print(thisQuestion + ": "); System.out.println(new String(ch, start, length)); 25
26 Obtendo Dados: characters() public void printindent(int indentsize) { for (int s = 0; s < indentsize; s++) { System.out.print(" "); String thisquestion = ""; String thiselement = ""; public void startelement(string namespaceuri, String localname, String qname, Attributes atts) throws SAXException { if (localname == "response") { System.out.println("User: "+ atts.getvalue("username")); else if (localname == "question") { thisquestion = atts.getvalue("subject"); thiselement = localname; public void endelement(string namespaceuri,string localname,string qname)throws SAXException { thisquestion = ""; thiselement = ""; public void characters(char[] ch, int start, int length) throws SAXException { if (thiselement == "question") { printindent(4); System.out.print(thisQuestion + ": "); System.out.println(new String(ch, start, length)); Referências Especificações DOM outros recursos encontrados em Tutorial para JavaScript e VBScript Tutorial para Java: Understanding DOM Microsoft.XMLDOM (exemplos em script e vbscript) Apache XML project 26
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 maisDOM 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 maisXML: 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 maisSistemas 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 maisProcessamento 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 maisESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM
Tatianne Domingues de Faria Bini Dias RA. 0301758-8 sem ESTUDO DA LINGUAGEM XML E SUA INTEGRAÇÃO COM A PLATAFORMA JAVA Jaguariúna 2006 Tatianne Domingues de Faria Bini Dias RA. 0301758-8 sem ESTUDO DA
Leia maisPlano das aulas. Aula 3 Documentos em XML Estruturas lógicas Estruturas físicas Modelos e DTDs Construção de modelos. Exemplos
Plano das aulas Aula 3 Documentos em XML Estruturas lógicas Estruturas físicas Modelos e DTDs Construção de modelos. Exemplos Aula 5 Processamento de XML Analisadores sintácticos e o SAX DOM Xpath XSL
Leia maisXML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br PROCESSAMENTO Análise Sintática Para ler e analisar o conteúdo de um documento XML, utiliza-se um analisador sintático para XML Analisadores sintáticos (ou
Leia maisJava 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 maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado
Leia maisESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maispublic Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.
import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)
Leia maisAcesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel
Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve
Leia maisA Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
Leia maisAnalisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar
Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais
Leia maisDOM (Document Object Model)
DOM (Document Object Model) Modelo de dados para XML estrutura hierárquica (árvore) métodos de acesso (API DOM) principais classes de objetos document, node, nodelist e element execução de consultas e
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento
Leia maisComandos 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 maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisComunicado 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 maisXML. Introdução UNIDADEB
Nesta unidade, você irá conhecer a linguagem XML (Extensible Markut Language). A XML é, na atualidade, extremamente popular, pois permite codificar dados, independente da linguagem de programação, para
Leia maisComo 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 maisA ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
Leia maisJavaScript 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 maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisGERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza
GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY Prof. Angelo Augusto Frozza XQUERY (XML QUERY LANGUAGE) XQuery é para XML o que o SQL é para Banco de Dados. XQUERY (XML QUERY LANGUAGE) XQuery é uma linguagem
Leia maisXPath. Resumo Descrever um esquema específico XML (XPath) para identificar subestruturas
XPath Resumo Descrever um esquema específico XML (XPath) para identificar subestruturas de documentos Xpath É uma linguagem para referenciar partes de um documento XML Projetada para ser usada por XSLT
Leia maisProcessamento 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 maisNetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisProva de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
Leia maispublic void setdata(data d) { data = d;
class Data... public class Compromisso private Data data; private int hora; private String descricao; /**java.lang.string*/ public Compromisso() public Compromisso(Data data, int hora, String descricao)
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisSintaxe Básica de Java Parte 1
Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisEncapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisFicha de Trabalho nº6. Curso de Especialização Tecnológica
Ficha de Trabalho nº6 Curso de Especialização Tecnológica Tecnologia e Programação de Sistemas de Informação 3ª Edição Componente de formação: Integração de SI Ferramentas Introdução Java XML Stax (Streaming
Leia maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisThreads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Leia maisTHREADS EM JAVA. George Gomes Cabral
THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores
Leia maisUnidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisDriver Mysql para Banco de Dados. Conexão com um Banco de Dados
Driver Mysql para Banco de Dados MySQL.: Driver.: com.mysql.jdbc.driver URL.: jdbc:mysql://localhost/nomedobanco Usuário.: root senha.: ****** Conexão com um Banco de Dados Colocar o driver do banco de
Leia maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisCapítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
Leia maisJava : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Leia maisBSI 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 maisJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC??? Uma API que permite o acesso a virtualmente qualquer fonte de dado tabular a partir de um programa escrito em Java O que é uma uma fonte de dados tabular? acesso
Leia maisAndroid Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Leia maisTrabalho Prático Nº1 Introdução ao C#.NET
Trabalho Prático Nº1 Introdução ao C#.NET 1. OBJECTIVOS - Entender o contexto da plataforma.net - Desenvolver programas simples em C#.NET - Saber efectuar entradas de dados em modo Consola e Windows Forms
Leia maisProgramação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...
Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia maisColeções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
Leia maisUtilização do Appia. Tolerância a Faltas Distribuída 2003/04. Nuno Carvalho nunomrc@di.fc.ul.pt
Utilização do Appia Tolerância a Faltas Distribuída 2003/04 Nuno Carvalho nunomrc@di.fc.ul.pt Appia Framework para execução e composição de protocolos. Comunicação efectuada por eventos Entre camadas e
Leia mais1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)
Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:
Leia maisSlides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.
Slides_Java_1!"#$!" $ % & $ Sistemas Informáticos I, 2005/2006 ( Java source code Compile javac Java bytecode Run java Output:!"#) %& Name of program. Must be the same as name of file.!"#$!"$ % & $ Where
Leia maisFBV - 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 maisInvocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Leia maisinsfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Leia maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisProgramação Orientada a Objetos em Java. Threads Threads Threads. Threads
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Threads Threads Threads Threads Professor: César Melo Slides baseados
Leia maisIMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L)
IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L) Roteiro TAC TAC SCM Especificação do agente Especificação da interface de comunicação Implementação da interface de comunicação Implementação
Leia maisAplicabilidade: 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 maisWeb Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Leia maisHoje em dia é muito comum utilizar uma API de logging de mensagens como o Log4j para indicar os comportamentos de uma aplicação.
Introdução Hoje em dia é muito comum utilizar uma API de logging de mensagens como o Log4j para indicar os comportamentos de uma aplicação. O Log4j é um é um projeto open source distribuído pela Apache
Leia maisTemplates e Pilhas. 1. Introdução
Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.
Leia maisEspecialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
Leia maisUniversidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia maisGerenciamento de Dados e Informação Fernando Fonseca. Graduação
Gerenciamento de Dados e Informação Fernando Fonseca 1 Suporte Nativo a XML no Oracle 10g 2 Oracle 10g XML Parsers Suporte a interfaces DOM e SAX XML Class Generator Código fonte a partir de XML DTD ou
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisIntrodução a classes e objetos. 2005 by Pearson Education do Brasil
1 3 Introdução a classes e objetos 2 3.1 Introdução Classes Números de ponto flutuante 3.2 Classes, objetos, métodos e variáveis de instância 3 Classes fornecem um ou mais métodos. Métodos representam
Leia maisAlgoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Leia maisAula 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 maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Leia maisFUNCTION ) RETURNS INTEGER AS $$ DECLARE
PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos
Leia maisBacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java
Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisIntroduçã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 maisO programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.
7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso
Leia maisPrograma de Computador que funciona em Rede
Programa de Computador que funciona em Rede professor Robinson Vida Noronha 1 Paradigma Um programa rodando em rede é como uma loja. 2 Uma loja é composta por Vendedores Vendedores 3 Um loja deve servir
Leia maisJDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.
JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado
Leia maisWeb Services Novembro de 2011
Web Services Novembro de 2011 1. Criação do Web Service Somar na plataforma.net. Colocação do serviço na máquina Dot. 2. Criação de uma aplicação de consola para teste deste serviço. 3. Criação de um Cliente
Leia maisChamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisDesenvolvimento de aplicações Web. Java Server Pages
Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia
Leia mais!" # # # $ %!" " & ' ( 2
!"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta
Leia maisAPÊNDICE A EXEMPLO DE APLICAÇÃO
APÊNDICE A EXEMPLO DE APLICAÇÃO Para ilustrar os três métodos de distribuição de objetos apresentados nesta dissertação iremos, a seguir, mostrar um exemplo de implementação de uma aplicação. São apresentadas
Leia mais