Laboratorio di Servizi Web - XML - Ardissono 1 Rappresentazione ad oggetti di documenti XML Parser fanno analisi sintattica di documento XML ma, a meno.

Slides:



Advertisements
Presentazioni simili
Andrea Zandatutoraggio strutture dati STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°14 albero di ricerca binario.
Advertisements

Tipi di dato astratti Lista, Pila, Coda, Albero.
Commenti C#.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Programmazione Ingegneria TLC
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
MultiSet, Liste Ordinate
Le gerarchie di tipi.
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Esercizi su alberi binari
Alberi binari Definizione della struttura dati: struct tree { };
Fisica Computazionale I - 51 OPERAZIONI DI INPUT/OUTPUT Le operazioni di input/output sono estremamente complesse perche' implicano una sostanziale interazione.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
tipo astratto, implementazione, algoritmi
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Selezione (=scelta) con “if-else”
Progettare siti con ASP.net
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori. Lapproccio classico consiste nellinse- rire controlli.
Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.
ANTLR V.3 Renzi Alberto.
Diagramma di flusso del problema del Supermercato.
void binario(int n); …………………
Diagramma di flusso del problema del Calcolo del Bollo di Circolazione
Open Inventor Open Inventor è un object oriented 3D toolkit, cioè una libreria di oggetti e metodi per la creazione di applicazioni grafiche interattive.
Corso di Programmazione in Java – Esercizio n° 001
Alberi binari Definizione della struttura dati: struct tree { };
1 Applet ed HTML Fondamenti di Informatica Corso D.
Le eccezioni F. Bombi 01/11/ Errori e situazioni impreviste situazioni eccezionali In un programma situazioni eccezionali possono.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Astrazione procedurale ed eccezioni
Lezione n° 07 - Esercitazione
1 Un esempio con iteratore: le liste ordinate di interi.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Laboratorio di Servizi Web - servlet - Ardissono 1 Java Servlet API package javax.servlet: include classi e interfacce di gestione di servlet indipendenti.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML.
Heap concetti ed applicazioni. maggio 2002ASD - Heap2 heap heap = catasta condizione di heap 1.albero binario perfettamente bilanciato 2.tutte le foglie.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Timer Animazioni.
Eccezioni Metodi parziali Eccezioni: Usi e Metodi parziali Eccezioni: rimuovere i requires Eccezioni: rimuovere i requires Eccezioni: definizione, sollevamento,
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
MODULO STRUTTURE DATI FONDAMENTALI: Strutture dinamiche
Gestione dei thread in Java
Laboratorio di Servizi Web - XML - Ardissono 1 XML - Introduzione Linguaggio di markup, si è imposto come standard per condivisione di dati su internet.
Liste Concatenate 11 Aprile E’ una delle strutture dati fondamentali in tutti i linguaggi di programmazione di alto livello Una Lista Concatenata.
1 Astrazione sul controllo: gli iteratori. 2 Gli iteratori 4 perché vogliamo iterarare “in modo astratto” 4 iteratori e generatori in Java –specifica.
1 Un esempio: le liste ordinate di interi. 2 Liste ordinate  OrderedIntList 4 lista ordinata di interi –modificabile.
Ese 3 (del 31 Marzo 2004). Testo Dare rappresentazione e realizzazione dei metodi della seguente classe QueueWithPriority. Nella risposta, non riportare.
1 Le s-espressioni. 2  Sexpr 4 alberi binari (possibilmente “vuoti”) che hanno sulle foglie atomi (stringhe) 4 sono la struttura dati base del linguaggio.
Esercizio 3. Testo Dare rappresentazione e realizzazione dei metodi della seguente classe QueueWithPriority. Nella risposta, non riportare i commenti.
Ese 1 e 3 (del 6 Aprile 2005). Primo Ese Si identifichino gli errori che il compilatore segnalerebbe per il seguente programma Tipi Legami tra dichiarazioni.
Esercitazione 14 Marzo Esercizio dell’altra volta Definire un tipo di dato Abbonato i cui oggetti descrivono le informazioni relative ad un abbonato.
WWW Fabio Vitali Cosa debbo rispondere? From: "XY" To: Subject: Semantic Search Engine Date: Thu, 16 May :05: Professor Vitali, mi chiamo.
1 Un esempio con iteratore: le liste ordinate di interi.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Transcript della presentazione:

Laboratorio di Servizi Web - XML - Ardissono 1 Rappresentazione ad oggetti di documenti XML Parser fanno analisi sintattica di documento XML ma, a meno di utilizzare metodi indiretti (come eventi di SAX parser) non permettono manipolazione diretta del documento  introdotte rappresentazioni strutturate che permettono di analizzare e modificare contenuto di documento W3C ha definito specifiche di rappresentazione strutturata di documento XML –Documenti XML sono gerarchici (tag annidati)  rappresentazione ad albero –Elementi, attributi, etc. rappresentati come nodi di albero

Laboratorio di Servizi Web - XML - Ardissono 2 DOM - Document Object Model - I W3C standard per gestione di documenti XML –rappresenta i documenti con un modello ad oggetti –specifica interfaccia per accedere a parti di documenti e “navigarli” –rappresentazione DOM si basa su struttura ad albero peperoni 8.00 large Document pizza topping pricesize Root element Child elements

Laboratorio di Servizi Web - XML - Ardissono 3 DOM - Document Object Model - II Molti parser sono conformi a DOM (es. JAXP)  usano rappresentazione DOM per gestire documenti DOM interfaccia  produttori di parser hanno sviluppato implementazioni org.w3c.dom DOM usa interfaccia Node (e più specifici, come Element), che rappresenta i nodi dell’albero di un documento e offre metodi per: –trovare i nodi figli di un nodo –aggiungere figli ad un nodo –leggere il valore contenuto in un nodo,... documento si ispeziona (e modifica) navigando albero a partire da radice Vedere Tutorial (JAXP) per maggiori informazioni su DOM

Laboratorio di Servizi Web - XML - Ardissono 4 Creazione di DOM dal nulla, creando i nodi e inserendoli nell’albero parsificando documento XML (e.g., via SAX parser) import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.w3c.dom.Document; import org.w3c.dom.DOMException;... public class DomEcho01{ static Document document; public static void main(String argv[]) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(true); try {DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.parse( “coffee.xml” ); } catch (SAXParseException spe) {System.out.println("\n** Parsing error”); ….. Gestione di altre eccezioni... } }

Laboratorio di Servizi Web - XML - Ardissono 5 Visita di oggetto DOM public static void visitDocument(Document document, String feature) { if (document!=null) { Element el = document.getDocumentElement(); visit(el, feature);}} public static void visit(Node el, String feature) { if (el!=null) { NodeList children = el.getChildNodes(); for (int i=0; i<children.getLength(); i++) { Node n=children.item(i); getFeatureVal(n, feature); visit(children.item(i), feature);}}} public static void getFeatureVal(Node domNode, String feature) { String out = ""; if (domNode!=null) { String name = domNode.getNodeName(); String type = typeName[domNode.getNodeType()]; if (name.equals(feature)) { Element el = (Element)domNode; out = el.getFirstChild().getNodeValue(); System.out.println("The value of feature "+feature+ " is: " +out);} }}

Laboratorio di Servizi Web - XML - Ardissono 6 DOM vs. JDOM e altri…. DOM nato per trattare documenti –document-oriented, focalizzato sulle parti di cui un documento si compone –gestione di strutture dati possibile, ma un po’ ostica –  sviluppati altri modelli di rappresentazione che facilitano accesso e modifica. Es: JDOM, DOM4J Trascuriamo DOM, JDOM, etc. per focalizzarci su uno strumento recente, più efficace nel trattamento di strutture dati: JAXB JAXB (Java Architecture for XML Binding) nato apposta per trattare rappresentazione XML di strutture dati