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

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

Elaborazione di documenti XML

Elaborazione di documenti XML Elaborazione di documenti XML Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.13 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria XML e i linguaggi di

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

XML. Spunti per la parte esercitativa. Simon Pietro Romano

XML. Spunti per la parte esercitativa. Simon Pietro Romano XML Spunti per la parte esercitativa Simon Pietro Romano spromano@unina.it PARTE I Concetti generali SAX vs DOM SAX: Simple API for XML event-driven, serial-access mechanism that does element-by-element

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

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014 Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2013/2014 XML XML = extensible Markup Language Progettato per transporto e memorizzazione dati, non per visualizzazione

Dettagli

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

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

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

LEZIONE BASI DI DATI I 22/10/2008 XML

LEZIONE BASI DI DATI I 22/10/2008 XML LEZIONE BASI DI DATI I 22/10/2008 XML Il linguaggio XML (Extended Markup Language) è uno standard per la strutturazione dei dati sul web. A differenza di html, che è utilizzato per formattare documenti

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

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

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

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

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

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

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

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali»

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» AA 2010-2011 INFORMATICA Prof. Giorgio Poletti giorgio.poletti@unife.it XML

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

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking XML Docente: Vito Morreale(vito.morreale@eng.it) 1 Struttura ad albero persona radice nome cognome origine data

Dettagli

XML. Prof.Alessandra Giordani ITT Marconi Rovereto

XML. Prof.Alessandra Giordani ITT Marconi Rovereto XML Prof.Alessandra Giordani ITT Marconi Rovereto XML (extensible Markup Language) è un meta linguaggio. XML Può essere definito come un insieme di regole e convenzioni che consentono di descrivere qualunque

Dettagli

The extensible Markup Language

The extensible Markup Language The extensible Markup Language Sistemi per il recupero delle informazioni Laurea Magistrale in Editoria e Giornalismo Gabriele Pozzani materiale prodotto dalla Dott.ssa Barbara Oliboni Motori di ricerca

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

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

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

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

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

(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

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

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

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

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

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

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

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

Document Object Model WWW. Luca Bompani 31 marzo 2000

Document Object Model WWW. Luca Bompani 31 marzo 2000 Document Object Model Luca Bompani 31 marzo 2000 Cos è il DOM (1) Il Document Object Model è un interfaccia di programmazione (API) per documenti HTML e XML. Definisce la struttura logica dei documenti

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

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

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

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

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

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

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

I Formati per l'interscambio dei Dati XML, Json, YAML,...

I Formati per l'interscambio dei Dati XML, Json, YAML,... I Formati per l'interscambio dei Dati XML, Json, YAML,... Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide Title Il progenitore: XDR 2 Slide Il linguaggio Title XDR /* dir.x:

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

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

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

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

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink 3 XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

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

TMS. Tecnologie dell informazione: mercato, società, cultura

TMS. Tecnologie dell informazione: mercato, società, cultura TMS Tecnologie dell informazione: mercato, società, cultura Contenuti della presentazione HTML W3C XML DTD Web Client Web Server Un esempio di pagina HTML Cosa c è dietro questa pagina?

Dettagli

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi

POLITECNICO DI TORINO. Laboratorio di Compilatori Corso di Linguaggi e Traduttori. Esercitazione 5. a.a 2010 / Controllo dei tipi POLITECNICO DI TORINO Laboratorio di Compilatori Corso di mail: stefano.scanzio@polito.it sito: a.a 2010 / 2011 Controllo dei tipi Type expressions Symbol tables Implementazione di un type-checker strutture

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

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

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

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

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

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

Lezione 15 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona

Lezione 15 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona Lezione 15 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO Il modificatore abstract Le classi

Dettagli

Variabili e Metodi di classe Interfacce e Package File in Java

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

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

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

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL DOCUMENT OBJECT MODEL (DOM) DOM fornisce una rappresentazione del documento HTML in composizione gerarchica di oggetti (DOM TREE). Questo albero di

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

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13 UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

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

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

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

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

ALGORITMI E STRUTTURE DATI

ALGORITMI E STRUTTURE DATI Esercitazioni del corso di: ALGORITMI E STRUTTURE DATI Tutor: Francesca Piersigilli email: francesca.piersigilli@unicam.it Strutture dati elementari Tecniche di organizzazione dei dati: scelta della struttura

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

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

Dettagli

Array. Walter Didimo

Array. Walter Didimo Array Walter Didimo Un problema ricorrente Gli strumenti di programmazione che abbiamo visto sin qui non sono ancora sufficienti per risolvere tutti i problemi di base Consideriamo ad esempio il seguente

Dettagli

strutturati November 23, 2017

strutturati November 23, 2017 strutturati November 23, 2017 1 Documenti strutturati (cap 15) I documenti strutturati si possono rappresentare come alberi i cui nodi definiscono le differenti sezioni del documento, che a loro volta

Dettagli

Java e i Tipi di dati primitivi. Parte 3

Java e i Tipi di dati primitivi. Parte 3 Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta

Dettagli

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented

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

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

Il TDA Map. Tabelle hash

Il TDA Map. Tabelle hash Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

Dettagli

Definizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica

Definizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

Dettagli

Il TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash

Il TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

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

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

Esercizio. Strutture Dati

Esercizio. Strutture Dati Esercizio Si scriva un metodo public Position sibling(position v) che preso in input un nodo v restituisca il fratello di v. Il metodo dovrà lanciare una BoundaryViolationException nel caso in cui

Dettagli

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP

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

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

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

Politecnico di Milano Facoltà del Design Bovisa. Ing. Marco Funaro Dipartimento di Elettronica e Informazione.

Politecnico di Milano Facoltà del Design Bovisa. Ing. Marco Funaro Dipartimento di Elettronica e Informazione. Introduzione a JavaScript Facoltà del Design Bovisa Ing. Marco Funaro Dipartimento di Elettronica e Informazione funaro@elet.polimi.it Un po di storia Introdotto per la prima volta nel 1995 per Netscape

Dettagli

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

Dettagli

La GUI di Genropy. La GUI di Genropy

La GUI di Genropy. La GUI di Genropy Chi siamo Giovanni Porcari: Padre del Framework Genropy sviluppatore dal 73 Francesco Porcari: sviluppa in Python dal 2006 e ha un amore nascosto per JavaScript Per informazioni: www.genropy.org Genropy

Dettagli