JAXP: Java API for XML Processing. Marco Tessarotto Programmazione dei Web Server Anno Accademico

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JAXP: Java API for XML Processing. Marco Tessarotto Programmazione dei Web Server Anno Accademico"

Transcript

1 JAXP: Java API for XML Processing Marco Tessarotto Programmazione dei Web Server Anno Accademico

2 JAXP: Java API for XML processing JAXP: elaborazione di dati XML in Java Utilizza i parser che seguono gli standard SAX (Simple API for XML Parsing) e DOM (Document Object Model) SAX: interpreta i dati XML come un flusso di eventi DOM: costruisce un oggetto che rappresenta i dati XML XSLT (XML Stylesheet Language Transformations): rappresentazione dei dati XML, conversione di dati XML in altri formati 2

3 JAXP API Le principali API si trovano in javax.xml.parsers SAXParserFactory, DocumentBuilderFactory: forniscono all applicazione degli oggetti SAXParser, DocumentBuilder che incapsulano parser XML Le API di JAXP permettono di utilizzare implementazioni di parser SAX e DOM di terze parti senza cambiare il codice della propria applicazione 3

4 SAX e DOM SAX è una API ad eventi, che fornisce un meccanismo per l accesso seriale ad un documento XML, elaborandolo elemento dopo elemento DOM è una API che fornisce una struttura di oggetti; l intero documento XML è presente in memoria dove può essere manipolato dall applicazione Costruire il DOM implica tenere in memoria l intera struttura, è più pesante in termini di consumo di CPU e memoria 4

5 Architettura SAX 5

6 Architettura SAX/2 SAXParserFactory: crea una istanza di SAXParser SAXParser: l elaborazione è invocata tramite parse(); si fornisce una sorgente XML e un gestore (DefaultHandler) che processa i dati XML ed invoca i metodi (callabcks) dell oggetto gestore SAXReader: incapsula un parser SAX DefaultHandler: implementa le interfacce necessarie per l elaborazione XML; è sufficiente riscrivere i metodi che servono all applicazione; ContentHandler, ErrorHandler, DTDHandler, EntityResolver 6

7 Architettura SAX/3 ContentHandler: metodi startdocument, enddocument, startelement, endelement, characters: sono invocati durante l elaborazione dei dati XML ErrorHandler: metodi error,fatalerror, warning: invocati in risposta ad errori di parsing XML EntityResolver: il metodo resolveentity è invocato quando il parser deve identificare un URI. 7

8 Packages di SAX org.xml.sax: definisce le interfacce SAX org.xml.sax.helpers: classi ausiliarie che rendono più semplice l uso di SAX, inclusi i gestori di default javax.xml.parsers: definisce SAXParserFactory, SAXParser 8

9 SAX Modello ad eventi: vengono specificati i metodi che vengono chiamati dal parser man mano che legge i dati XML Veloce, richiede meno memoria di DOM perché non costruisce una rappresentazione interna dei dati Simile a uno stream I/O seriale: non si può tornare indietro nello stream o saltare avanti Caso d uso migliore: l applicazione deve solo leggere i dati Gestione degli errori: uguale per SAX e DOM 9

10 Documento XML Prepariamo un documento XML Processing instruction: <?xml version='1.0'encoding='utf-8'?> Commenti: <!-- esempio di commento -- > Elemento root : <rootelement>. </rootelement> 10

11 Documento XML/2 <?xml version='1.0'encoding='utf-8'?> <channellist> <channel> <id>563</id> <ShortName>RAINews24</ShortName> <Satellite>EUTELSAT 13</Satellite> <Transponder>5400</Transponder> <VideoPID>516</VideoPID> <AudioPID>654</AudioPID> </channel> </channellist> 11

12 SAX parsing Costruiamo una applicazione che effettua la lettura per eventi del documento satellite1.xml 1 - Importazioni import java.io.*; import org.xml.sax.*; import org.xml.sax.helpers.defaulthandler; import javax.xml.parsers.saxparserfactory; import javax.xml.parsers.parserconfigurationexception; import javax.xml.parsers.saxparser; 12

13 SAX parsing/2 import java.io.* : per stream di I/O import org.xml.sax.*: interfacce per implementare metodi di callback per il parser SAX import org.xml.sax.helpers.defaulthandler [C]: implementa le principali interfacce di callback del parser: ContentHandler, DTDHandler, EntityResolver, ErrorHandler import javax.xml.parsers.saxparserfactory [C]: usato per creare una istanza del parser 13

14 SAX parsing/3 import javax.xml.parsers.parserconfigurationexcepti on: indica un errore di configurazione del parser import javax.xml.parsers.saxparser: incapsula il parser SAX, passa i dati XML al parser; restituito da SAXParserFactory 2 la classe public class SatParser1 extends DefaultHandler { } 14

15 SAX parsing/4 javax.xml.parsers.saxparserfactory: definisce una API per configurare ed ottenere un SAX parser; si inizializza così: SAXParserFactory factory = SAXParserFactory.newInstance(); Otteniamo una istanza di un javax.xml.parsers.saxparser: SAXParser saxparser = factory.newsaxparser(); Per attivare il parser ed eseguire la lettura di un file XML: saxparser.parse(new File( nomefile ), handler); 15

16 SAX parsing/5 Handler è di tipo org.xml.sax.helpers.defaulthandler [C] Implementa le principali interfacce per il parser: ContentHandler, DTDHandler, EntityResolver, ErrorHandler [I di org.xml.sax] Vediamo org.xml.sax.contenthandler [I] Tramite questa interfaccia il parser informa l applicazione dell inizio e la fine documento, inizio e fine elemento (ed altre informazioni) 16

17 org.xml.sax.contenthandler public void startdocument(): invocato solo una volta dal parser all inizio del documento XML public void enddocument(): invocato solo una volta dal parser alla fine del documento XML public void startelement(java.lang.string namespaceuri, java.lang.string localname, java.lang.string qname, Attributes atts) : invocato dal parser per notificare l inizio di un elemento nel documento XML; qname: nome completo di prefisso; localname: vuoto se il namespace non è speficato 17

18 org.xml.sax.contenthandler/2 public void endelement(java.lang.string namespaceuri, java.lang.string localname, java.lang.string qname): invocato dal parser per notificare la fine di un elemento public void characters(char[] ch,int start,int length): invocato per riportare all applicazione caratteri del corpo di un elemento; il parser può fornire tutti i caratteri in un blocco solo o in più chiamate; 18

19 SAX parsing/6 org.xml.sax.errorhandler [I]: permette all applicazione di implementare la gestione personalizzata degli errori di parsing; se l applicazione non registra questa interfaccia, warning ed errori rimediabili non sono segnalati; errori fatali lanciano l eccezione SAXParseException; metodi: public void warning(saxparseexception exception): l applicazione viene notificata di un warning; es. una dichiarazione prevede un certo elemento, che non è dichiarato 19

20 SAX parsing/7 public void error(saxparseexception exception): public void fatalerror(saxparseexception exception) 20

21 Document Object Model

22 Document Object Model JAXP: Java API for XML JAXP incapsula varie tecnologie per implementare parser XML; abbiamo visto SAX DOM: raccomandazione del W3C che descrive un modello ad oggetti, neutrale rispetto ai linguaggi di programmazione, per immagazzinare documenti di tipo gerarchico in memoria Le interfacce di DOM forniscono modalità di accesso generiche a tutti i tipi di contenuto del documento 22

23 DOM/2 Le interfacce di DOM sono specificate tramite la notazione IDL (Interface Definition Language) Le interfacce di DOM sono suddivise in due gruppi: Fundamental e Extended Tutte le interfacce Fundamental sono derivate dall interfaccia Node Dato che la gerarchia di oggetti DOM memorizza riferimenti tra i vari nodi di un documento, è indispensabile leggere e sottoporre a parsing tutto il documento (quindi tutto il documento deve essere mantenuto in memoria) 23

24 DOM/3 Questo modello di utilizzo della memoria rende DOM poco adatto per applicazioni che di trasformazione dei dati o che richiedano il parsing incrementale dei dati DOM consente un accesso diretto e casuale agli elementi dei documenti; applicazioni: editing di documenti XML, ricerca di dati, navigazione tra i dati 24

25 Architettura DOM 25

26 Architettura DOM/2 Usare javax.xml.parsers.documentbuilderfactory per ottenere una istanza di DocumentBuilder e produrre un oggetto Document Packages: org.w3c.dom: definisce l interfaccia di programmazione DOM per documenti XML javax.xml.parsers: definisce DocumentBuilderFactory, DocumentBuilder 26

27 Parsing con DOM Dal package javax.xml.parsers, utilizziamo: DocumentBuilderFactory: classe per creare parser DOM DocumentBuilder: incapsula un parser DOM Metodo parse(): restituisce un oggetto Document, che incapsula la struttura gerarchica risultato del parsing Si può operare sull oggetto Document per accedere ai dati XML 27

28 Parsing con DOM/2 Otteniamo la factory : DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); Settiamo i parametri del parser che la factory ci fornirà: dbf.setvalidating( ) Otteniamo l oggetto che incapsula il parser DOM: DocumentBuilder db = dbf.newdocumentbuilder(); 28

29 Parsing con DOM/3 Settiamo il gestore che riceverà eventuali segnalazioni di errore nel parsing: db.seterrorhandler(errorhandler); errorhandler implementa l interfaccia org.xml.sax.errorhandler [la stessa che usiamo per SAX] Facciamo eseguire il parsing: Document document = db.parse(inputsource); inputsource può essere un oggetto java.io.file, java.io.inputstream, java.lang.string [uri], 29

30 Parsing con DOM/4 Se usiamo java.io.file all interno di una servlet o pagina JSP, occorre ottenere dal container la posizione assoluta del file [vedi esempio templatedom] java.io.inputstream: per leggere stream di bytes [per scrivere: OutputStream] [JDK 1.0] java.io.reader: per leggere stream di caratteri; supporta caratteri unicode (16 bit); [JDK 1.1] 30

31 org.w3c.dom.document A questo punto possiamo lavorare con l oggetto restituito dal parser DOM; è un oggetto che implementa l interfaccia org.w3c.dom.document Document rappresenta l intero documento XML ed incapsula la radice dell albero; ogni nodo può rappresentare un elemento, un attributo, un commento, un pezzo di testo le interfacce DOM forniscono le API per accedere ai nodi dell albero 31

32 org.w3c.dom.node Document estende l interfaccia Node, che rappresenta la radice della gerarchia di classi DOM; non viene mai istanziata direttamente; può essere utilizzata per estrarre informazioni da qualsiasi oggetto DOM senza conoscerne il tipo L attributo nodetype di Node contiene un valore che indica il tipo; i principali valori sono: Tipo di nodo ELEMENT_NODE Element ATTRIBUTE_NODE Attr Interfaccia DOM 32

33 org.w3c.dom.node/2 TEXT_NODE Text CDATA_SECTION_NODE CDATASection DOCUMENT_NODE Document Consideriamo il documento: <esempio id= prova ><nodocontesto>prova 123</nodoConTesto></esempio> Questo viene interpretato e memorizzato da un parser DOM nella struttura: 33

34 org.w3c.dom.node/3 Document nodetype = DOCUMENT_NODE nodename = #document nodevalue = (null) Element nodetype = ELEMENT_NODE nodename = esempio nodevalue = (null) firstchild attributes Attr nodetype = ATTRIBUTE_NODE nodename = id nodevalue = prova Element nodetype = ELEMENT_NODE nodename = nodocontesto nodevalue = (null) firstchild Text nodetype = TEXT_NODE nodename = #text nodevalue = prova

35 org.w3c.dom.node/4 Ogni oggetto derivato dall oggetto Node contiene dei riferimenti al proprio nodo padre, ai nodi figli ed i nodi fratelli. Principali metodi di Node: public short getnodetype(): restituisce il tipo di nodo (Node.ATTRIBUTE_NODE, Node.ELEMENT_NODE ) public String getnodename(): restituisce il nome del nodo; dipende dal tipo di nodo (es. se è TEXT_NODE, restituisce #text ) 35

36 org.w3c.dom.node/5 public Node getfirstchild(): restituisce il primo nodo figlio; se non esiste, restituisce null public Node getlastchild(): restituisce l ultimo nodo figlio; se non esiste, restituisce null public NodeList getchildnodes(): restituisce tutti i nodi figli; se non ci sono, Nodelist non contiene nodi public boolean haschildnodes() public Node getparentnode(): restituisce il nodo padre; se non esiste, restituisce null 36

37 org.w3c.dom.node/6 public String getnodevalue(): valore del nodo, dipende dal tipo di nodo; se è un nodo Text, restituisce il contenuto che è parte del corpo del nodo padre; restituisce null se il nodo è un elemento, attributo public NamedNodeMap getattributes(): restituisce gli attributi del nodo, se questo è un Element E poi i metodi per modificare i nodi: public void setnodevalue(java.lang.string nodevalue): setta il valore del nodo 37

38 org.w3c.dom.node/7 public Node appendchild(node newchild): aggiunge alla lista dei nodi figli un altro nodo public Node replacechild(node newchild,node oldchild): sostituisce un nodo figlio con un altro public Node removechild(node oldchild): rimuove un nodo figlio 38

39 org.w3c.dom.document L interfaccia Document rappresenta l intero documento XML (la radice) Attraverso Document si possono creare nodi: Element createelement(string tagname): Attr createattribute(string name) Text createtextnode(string data) 39

40 Esempio DocumentBuilder builder = factory.newdocumentbuilder(); document = builder.newdocument(); Element root = (Element) document.createelement("root"); document.appendchild(root); root.appendchild( document.createtextnode( testo 1234") ); 40

41 Validazione XML XML: Extensible Markup Language XML: linguaggio per la creazione di altri linguaggi XML: progettazione del proprio linguaggio di marcatura personalizzato, per formattare i propri documenti (nuovo linguaggio = applicazione XML) Per limitare i documenti XML a determinati contenuti e strutture, occorre definire il contenuto e la struttura di ciascun elemento incluso nel documento XML Document Type Definition (DTD) XML Schema 41

42 Validazione XML/2 Definizione di un elemento: <!ELEMENT tag, tag è il nome dell'elemento da definire EMPTY se l'elemento è vuoto, oppure descrivere tra parentesi gli elementi e/o il testo che conterrà; oppure ANY (qualsiasi combinazione di elementi del DTD) Esempio: <!ELEMENT tag1 (tag2)> Esempio: <!ELEMENT tag_vuoto EMPTY> Esempio: <!ELEMENT contenitore ANY> 42

43 Validazione XML/3 <!ELEMENT nome_tag (#PCDATA)> : elemento che contiene solo contenuti di testo, no testo di marcatura; PCDATA: parsed character data Non si può specificare il tipo del contenuto (es. Stringa, numero); si può fare in XML Schema 43

44 Validazione XML/3 Elemento con un solo elemento figlio: <!ELEMENT nome_tag (child)> Elemento che contiene una sequenza: serie di altri elementi ordinati <!ELEMENT nome_tag (child1, child2, child3,... childn)> Non si può usare #PCDATA nella sequenza Scelte di elementi: un elemento può contenere un ulteriore elemento o un altro <!ELEMENT nome_tag (child1 child2)> : child1 XOR child2 44

45 Validazione XML/4 Esempio: <!ELEMENT nome_tag ((child1,child2) child3)> Elenco non ordinato: <!ELEMENT nome_tag (child1,child2,child3)* > : l'elemento può possedere un numero qualsiasi di una qualunque delle scelte; la prima scelta può essere #PCDATA Quantificatori: tre simboli speciali usati per specificare quante unità possono apparire in un elemento. Unità: elemento singolo/ una scelta tra due o più elementi (tra parentesi) / sequenza di elementi (tra parentesi) +: almeno una unità? : al più una unità ( 0 o 1) * : qualsiasi numero di unità 45

46 Validazione XML/5 Esempio: <!ELEMENT tag1 (child1,child1,child1+)> : child1 compare almeno tre volte in tag1 Definizione degli attributi di un elemento: <!ATTLIST nome_tag nome_attributo tipo_attributo opzione_attributo> Esempio: <!ELEMENT tag1 (#PCDATA)> <!ATTLIST tag1 attr1 CDATA #IMPLIED> #IMPLIED : attributo opzionale, CDATA: qualsiasi combinazione di caratteri (ma non di tag) #REQUIRED: attributo necessario #FIXED: il valore è costante ed immutabile Scelte di tipi di attributo: (scelta1 scelta2...) 46

47 Parser SAX con validazione Per ottenere tramite JAXP un parser SAX che supporti la validazione: SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setvalidating(true); SAXParser saxparser = factory.newsaxparser(); Specificare l interfaccia che riceverà gli errori di validazione: public class SatParser1 extends DefaultHandler (implementa org.xml.sax.errorhandler) 47

48 Esempio doc. XML <?xml version='1.0'encoding='utf-8'?> <!DOCTYPE channellist SYSTEM "SatXML.dtd"> <channellist xmlns="corsows"> <channel> <id>563</id> <ShortName>RAINews24</ShortName> <Satellite>EUTELSAT 13</Satellite> </channel> </channellist> 48

49 Esempio - DTD <?xml version='1.0'encoding='utf-8'?> <!ELEMENT channellist (channel+)> <!ATTLIST channellist xmlns CDATA #REQUIRED> <!ELEMENT channel (id,shortname,satellite,ecmpid,pcrpid,videopid, AudioPID,DataPID*,TransportStream,NetworkID, commento?)> <!ELEMENT id (#PCDATA)> <!ELEMENT ShortName (#PCDATA)> <!ELEMENT Satellite (#PCDATA)>. 49

SAX e DOM. Analisi di un documento

SAX e DOM. Analisi di un documento SAX e DOM Programmazione in Ambienti Distribuiti A.A. 2003-04 Analisi di un documento Il parser è uno modulo software utilizzato per l analisi di un documento Eseguire il parsing di un documento significa

Dettagli

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML Laboratorio di sistemi interattivi Lezione 12: Java & XML 1 Struttura di un applicazione Java-XML Parser analizza il contenuto di un file XML Produce eventi in corrispondenza delle diverse componenti Eventi

Dettagli

XML Programming: DOM e SAX

XML Programming: DOM e SAX Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Programming: DOM e SAX Eufemia TINELLI Contenuti Obiettivi delle API per XML DOM Modello

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Librerie per XML versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

Dettagli

Document Object Model

Document Object Model Document Object Model Dott. D Anna Leandro Accesso documenti XML Esistono 2 approcci ( molti parser) SAX (Simple( API for XML) SAX 2.0 (JAVA) MSXML 6.0 (MICROSOFT) DOM (Document( Object Model) è uno standard

Dettagli

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la struttura di un documento XML disponibile prima che fosse introdotto XMLSchema

Dettagli

Tecniche Multimediali

Tecniche Multimediali Le idee sono la cosa più importante, il resto è una conseguenza. Richard Feynman Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof. Giorgio Poletti giorgio.poletti@unife.it XML

Dettagli

Le librerie Java per manipolare XML

Le librerie Java per manipolare XML Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Le librerie Java per manipolare XML Ing. Marco Mamei Anno Accademico 2004-2005

Dettagli

Document Object Model (DOM)

Document Object Model (DOM) Laboratorio di Programmazione Distribuita Document Object Model (DOM) Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Definizione di DOM Il DOM

Dettagli

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche Sintassi dei DTD : Entità generali : Entità parametriche La dichiarazione di tipo Il è la dichiarazione del tipo di documento. Essa

Dettagli

Linguaggi per il Web: XML

Linguaggi per il Web: XML Linguaggi per il Web: XML Piero Fraternali Sara Comai Politecnico di Milano XML http://w3c.org/xml/ -- http://www.microsoft.com/xml/ extended Markup Language Formato di file proposto dal W3C per distribuire

Dettagli

Informatica Umanistica A.A. 2005/2006

Informatica Umanistica A.A. 2005/2006 Informatica Umanistica A.A. 2005/2006 LEZIONE 5 extensible Markup Language XML - DTD Lezione 5 SOMMARIO 1. Ripasso XML e concetti DTD 2. Dichiarazione DOCTYPE 3. Primo esempio (rubrica.xml) 4. Elementi

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

La programmazione XML: XSLT, SAX, DOM

La programmazione XML: XSLT, SAX, DOM La programmazione XML: XSLT, SAX, DOM Andrea Marchetti IAT-CNR Andrea.Marchetti@iat.cnr.it Stefano Bovone ELSAG-SPA Stefano.Bovone@elsag.it Massimo Martinelli IEI-CNR M.Martinelli@iei.pi.cnr.it A.Marchetti,

Dettagli

Laboratorio di reti II: Extensible Markup Language

Laboratorio di reti II: Extensible Markup Language Laboratorio di reti II: Extensible Markup Language Stefano Brocchi brocchi@dsi.unifi.it 20 aprile, 2009 Stefano Brocchi Laboratorio di reti II: XML 20 aprile, 2009 1 / 27 Il linguaggio XML L XML (extensible

Dettagli

Tecnologie Web T DTD Document Type Definition

Tecnologie Web T DTD Document Type Definition Tecnologie Web T Document Type Definition Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.02.XML-.pdf Versione elettronica: 2.02.XML--2p.pdf 1 Che cos è? : Document

Dettagli

Breve Introduzione a XML

Breve Introduzione a XML Origini! XML (extensible Markup Language) deriva da SGML (Standard Generalized Markup Language).! Sia con XML che con SGML è possibile definire linguaggi di markup specifici per vari domini, come la finanza

Dettagli

Laboratorio di Sistemi Distribuiti

Laboratorio di Sistemi Distribuiti Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata November 15, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti November 15, 2006 1 / 52 Introduzione

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche XML: extensible Markup Language Parte II Corso di Applicazioni Telematiche A.A. 2011-2012 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Outline Parte I XML:

Dettagli

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com XML e XSD Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Ordine di Acquisto Servizio: eshop Operazione: ordine di acquisto Dati dell'ordine: prodotti quantità corriere Playstation 2 Controller

Dettagli

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML... linguaggio xml A cura dell Ing. Buttolo Marco SOMMARIO: Contenuti INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...4 1 of 7 INTRODUZIONE: XML è l acronimo di extensible Markup

Dettagli

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2015 2016. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2015 2016. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2015 2016 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti XML Schema

Dettagli

Tecnologie Web T XML e Java

Tecnologie Web T XML e Java Tecnologie Web T Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.04.XML-Java.pdf Versione elettronica: 2.04.XML-Java-2p.pdf 1 Elaborazione di documenti XML Un elemento

Dettagli

(XML) Origini di XML. La Famiglia di XML HTML SGML XML XHTML WML SOAP. MathML

(XML) Origini di XML. La Famiglia di XML HTML SGML XML XHTML WML SOAP. MathML extensible Markup Language (XML) Origini di XML XML è un metalinguaggio, cioè un linguaggio che permette di definire nuovi linguaggi. XML deriva da SGML, che è stato estremamente semplificato ed esteso

Dettagli

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Modello di struttura I tag annidati danno origine

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione XML: JDOM versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 8 Contenuto della lezione extensible Markup Language (XML) HTML vs XML Documenti ben formati Documenti validi

Dettagli

5.2. Il linguaggio XML

5.2. Il linguaggio XML 5.2. Il linguaggio XML Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá) Insegnamento di Informatica

Dettagli

Dario Bottazzi Tel , SkypeID: dariobottazzi

Dario Bottazzi Tel ,   SkypeID: dariobottazzi Linguaggi di Schema Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi DTD (Document Type Definition)! Definisce la grammatica che descrive la composizione degli elementi

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Dispense XML. Indice

Dispense XML. Indice Indice Dispense XML...1 Breve introduzione a XML...1 Analisi e Visualizzazione del documento...1 Supporto Microsoft per XML...3 XML server side...3 Spazio dei nomi...4 Struttura di un documento XML...5

Dettagli

Il formato XML La persistenza dei dati persistenza

Il formato XML La persistenza dei dati persistenza Il formato XML Il testo che segue è in parte rielaborato da Informatica Concetti e Sperimentazioni Apogeo 2003. La persistenza dei dati Da quando esistono i computer, i programmatori si sono scontrati

Dettagli

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation http://xml.html.it/guide/leggi/58/guida-xml-di-base/ INTRODUZIONE extensible Markup Language (XML) = metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup non

Dettagli

4 Anno 2011 - Informatica ABACUS

4 Anno 2011 - Informatica ABACUS Testo Il Ministero dell Ambiente commissiona lo sviluppo di un nuovo Sistema Informativo per censire la fauna e la flora presenti nei vari parchi naturali di ciascuna regione. Le informazioni della fauna

Dettagli

XML exstensible Markup Language

XML exstensible Markup Language XML exstensible Markup Language Metalinguaggio Orientamento al web Enorme diffusione 1 GML 1969 C.Goldfarb (IBM) SGML 1975 C. Goldfarb Genesi di XML HTML 1989 Tim- Berners Lee (CERN) W3C 1995 Nasce il

Dettagli

Document Type Definition (DTD)

Document Type Definition (DTD) Laboratorio di Programmazione Distribuita Document Type Definition () Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Relazione tra classi e oggetti

Dettagli

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi.

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi. XML: XPath XPath, acronimo di XML Path Language è un linguaggio il cui scopo è quello di identificare particolari nodi o set di nodi all'interno di un documento XML. Il documento XML ha per sua natura

Dettagli

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico 2010-2011 XML Rocco Tripodi rocco@unive.it Linguaggi dichiarativi: XML extensible Markup Language meta linguaggio che consente

Dettagli

Alla mia famiglia...e a chi se l è meritato

Alla mia famiglia...e a chi se l è meritato Alla mia famiglia...e a chi se l è meritato 2 prefazione Lo scopo di questa tesi è la creazione di un applicazione per la gestione intelligente ed automatica di un dialogo ad interazione mista uomo-macchina.

Dettagli

1 JAVA e le librerie JDOM e IText

1 JAVA e le librerie JDOM e IText 1 JAVA e le librerie JDOM e IText http://desvino.altervista.org In questo piccolo tutorial mostriamo come integrare in un progetto JAVA la libreria JDOM e la libreria IText. JDOM è una rappresentazione

Dettagli

OCA JAVA 8 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 8 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 8 SE PROGRAMMER

Dettagli

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron

Dettagli

Laboratorio di Basi di Dati per Bioinformatica

Laboratorio di Basi di Dati per Bioinformatica Laboratorio di Basi di Dati per Bioinformatica Laurea in Bioinformatica Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 10 Il linguaggio XML extensible Markup Language XML è un linguaggio di marcatura

Dettagli

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe

Dettagli

Linguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano

Linguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano Linguaggi di Markup Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont enuti in

Dettagli

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale I Dati biblioteca: contiene piu libro e schede prestito libro: identificato da un codice univoco, presenta un titolo, un autore formato da nome e cognome, un editore ed alcune parole chiave. Inoltre mantiene

Dettagli

Tecnologie Web T Introduzione a XML

Tecnologie Web T Introduzione a XML Tecnologie Web T Introduzione a Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.01..pdf Versione elettronica: 2.01.-2p.pdf 1 Che cos è? : Extensible Markup Language:

Dettagli

XML - Extensible Markup Language (1)

XML - Extensible Markup Language (1) XML - Extensible Markup Language (1) XML è un linguaggio di marcatura estensibile (insieme di regole per creare altri linguaggi di marcatura) sviluppato e controllato dal World Wide Web Consortium Sottoinsieme

Dettagli

Sul pattern Iterator

Sul pattern Iterator Sul pattern Iterator 1 Introduzione Capita spesso di aver a che fare con strutture dati complesse, come ad esempio, liste, code, ecc. È buona norma accedere a queste strutture senza esporre la loro organizzazione.

Dettagli

Alberi. In informatica, un albero è un modello astratto di una struttura dati gerarchica

Alberi. In informatica, un albero è un modello astratto di una struttura dati gerarchica Il TDA Tree Alberi In informatica, un albero è un modello astratto di una struttura dati gerarchica Struttura dati non lineare Si pensi al file system di un sistema operativo Le relazioni in un albero

Dettagli

Applicazioni web-based. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (prima parte) Gli Standard Web

Applicazioni web-based. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (prima parte) Gli Standard Web Progettazione di Sistemi Interattivi Implementazione di sistemi interattivi web-based (prima parte) Docente: Daniela Fogli Applicazioni web-based Il World Wide Web (W3C) [www.w3.org]: Fondato da Tim Berners-Lee

Dettagli

2.5 Cenni sui namespace

2.5 Cenni sui namespace Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.5 Cenni sui namespace Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO

Dettagli

JSON for Linked Data JSON-LD

JSON for Linked Data JSON-LD JSON for Linked Data JSON-LD Giuseppe Santaniello Giuseppe Pietravalle Web Semantico A.A. 2015/2016 Linked Data Insiemi di dati interconnessi sul Web Esempio: DBpedia DBpedia contiene i dati di Wikipedia

Dettagli

Homework 2. 1 Il problema. Corso di Fondamenti di Informatica II. 26 Novembre L'Albero dei divisori

Homework 2. 1 Il problema. Corso di Fondamenti di Informatica II. 26 Novembre L'Albero dei divisori Homework 2 Corso di Fondamenti di Informatica II BIAR2 (Ing. Informatica e Automatica) e BSIR2 (Ing. dei Sistemi) A.A. 2010/2011 26 Novembre 2010 Sommario Questo documento fornisce informazioni relative

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

Introduzione a XML. Language

Introduzione a XML. Language Introduzione a XML 1 Che cos è XML? XML: Extensible Markup Language anguage: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno strumento potente

Dettagli

extensible Markup Language (XML)

extensible Markup Language (XML) (XML) Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta

Dettagli

Document Type Definitions (DTD)

Document Type Definitions (DTD) (DTD) Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta

Dettagli

Esercizi su XML, DTD e DOM

Esercizi su XML, DTD e DOM Linguaggi per il Web prof. Riccardo Rosati corso di Laurea in Ingegneria Informatica Sapienza Università di Roma, a.a. 2014/2015 Esercizi su XML, DTD e DOM Esercizio 1 Scrivere una DTD che formalizzi le

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

La classe java.lang.object

La classe java.lang.object La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita

Dettagli

Java: Definire Classi e Creare Oggetti

Java: Definire Classi e Creare Oggetti Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML.

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. XPATH e XQUERY Linguaggi di query XML XPATH XQUERY Leggere capitolo 6 Atzeni et al. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. Percorsi attraverso il grafo di dati semistrutturati.

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION 0 DURATA 200 ore CONTENUTI Oracle PL/SQL Introduzione al PL/SQL Cenni su SQL con utilizzo di SQL*PLUS Configurazione ambiente Developer DB Classi,

Dettagli

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

Implementazione dell albero binario in linguaggio C++

Implementazione dell albero binario in linguaggio C++ Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono

Dettagli

Analizzatori Lessicali con JLex. Giuseppe Morelli

Analizzatori Lessicali con JLex. Giuseppe Morelli Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

La programmazione ad oggetti (OOP)

La programmazione ad oggetti (OOP) Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente

Dettagli

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:

Dettagli

Intro. Traduzione guidata dalla sintassi. Attributi. Due notazioni a diversi livelli. Due notazioni a diversi livelli. Il flusso concettuale

Intro. Traduzione guidata dalla sintassi. Attributi. Due notazioni a diversi livelli. Due notazioni a diversi livelli. Il flusso concettuale Intro Traduzione guidata dalla sintassi Attributi e Definizioni guidate dalla sintassi In questa ultima parte del corso vediamo, in breve, una tecnica che permette di effettuare analisi semantiche e traduzione

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Sommario. Settimana - Gli elementi fondamentali... 1. Introduzione...xv. Giorno 1 - I linguaggi di markup...3

Sommario. Settimana - Gli elementi fondamentali... 1. Introduzione...xv. Giorno 1 - I linguaggi di markup...3 000B-XML-Somm.fm Page iii Wednesday, June 12, 2002 9:25 AM Sommario Introduzione...xv A chi si rivolge questo libro...xvi Convenzioni usate in questo libro...xvi Settimana - Gli elementi fondamentali...

Dettagli

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico

JDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Esercizio: Lista Circolare

Esercizio: Lista Circolare Esercizio: Lista Circolare Si realizzi in Java un gestore di una lista circolare. La dimensione minima della lista è 2 elementi (ed è anche la dimensione iniziale). La dimensione massima è 20 elementi.

Dettagli

TIPI PRIMITIVI E CLASSI WRAPPER

TIPI PRIMITIVI E CLASSI WRAPPER I tipi primitivi come oggetti Package java.lang In varie situazioni, può essere comodo poter trattare i tipi primitivi come oggetti per passarli per riferimento a una funzione quando una funzione pretende

Dettagli

Esempi di XML WWW. Fabio Vitali

Esempi di XML WWW. Fabio Vitali Esempi di XML Introduzione Qui esaminiamo in breve degli esempi delle varie caratteristiche di SGML e XML. Elementi Attributi Entità generali Entità parametriche Marked sections 2 Esempi di sviluppo del

Dettagli

Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi

Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi Introduzione a Java Server Pages (JSP) (estratto) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi 1 JSP (Java Server Pages) È la tecnologia Java per lo sviluppo di applicazioni

Dettagli

Guida introduttiva al Document Object Model

Guida introduttiva al Document Object Model Guida introduttiva al Document Object Model ( I.D. Falconi ~ 27.02.13) Il DOM (Document Object Model) è un modello che descrive come i diversi oggetti di una pagina web sono collegati tra loro. Tecnicamente

Dettagli

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML Capitolo 3 Il linguaggio XML 3.1 Introduzione al linguaggio XML Il linguaggio XML (extensible Markup Language) è stato sviluppato nel 1996 da XML Working Group, gruppo di lavoro organizzato dal World Wide

Dettagli

FAST-CGI in fase di inizializzazione Il processo esegue una routine di inizializzazione e si pone in attesa

FAST-CGI  in fase di inizializzazione Il processo esegue una routine di inizializzazione e si pone in attesa FAST-CGI http:// ://www.fastcgi.comcom Il web server genera un unico processo fast-cgi in fase di inizializzazione Il processo esegue una routine di inizializzazione e si pone in attesa Ad ogni richiesta,,

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Alberi ed Alberi Binari

Alberi ed Alberi Binari Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Obiettivi. Unità D1. Archivi: i concetti fondamentali. Persistenza archivi e file. Necessità di dati persistenti. Un esempio di record

Obiettivi. Unità D1. Archivi: i concetti fondamentali. Persistenza archivi e file. Necessità di dati persistenti. Un esempio di record Obiettivi Unità D1 Archivi: i concetti fondamentali Conoscere le diverse organizzazioni logiche degli archivi Conoscere le operazioni di base che si possono effettuare sugli archivi Sapere come progettare

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni C#: Strumento Principe per.net Primo linguaggio orientato alle componenti della famiglia C/C++ Tutto è DAVVERO un oggetto

Dettagli

APPENDICE C extensible Markup Language

APPENDICE C extensible Markup Language APPENDICE C extensible Markup Language C.1 extensible Markup Language, concetti di base XML è un dialetto di SGML progettato per essere facilmente implementabile ed interoperabile con i suoi due predecessori

Dettagli

Java Classi wrapper e classi di servizio. Classi di servizio

Java Classi wrapper e classi di servizio. Classi di servizio Java Classi wrapper e classi di servizio 1 Ereditarietà - recap Una classe può derivare da un altra - extends Eredita metodi e attributi (non i costruttori) Aggiunge attributi e metodi, ma può anche ridefinire

Dettagli