JAXP: Java API for XML Processing. Marco Tessarotto Programmazione dei Web Server Anno Accademico
|
|
- Martino Tiziano Guerra
- 7 anni fa
- Visualizzazioni
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 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
DettagliLaboratorio 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
DettagliXML 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
DettagliProgrammazione 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
DettagliElaborazione 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
DettagliUniversità 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
DettagliXML. 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
DettagliUniversità 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
DettagliLaboratorio 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
DettagliUniversità 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
DettagliDocument 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
DettagliDTD 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
DettagliTecniche 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
DettagliLEZIONE 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
DettagliLe 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
DettagliLinguaggi 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
DettagliTecnologie 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
DettagliSintassi 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
DettagliInformatica 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
DettagliTecnologie 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
DettagliLaboratorio 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
DettagliINFORMATICA 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
DettagliDocument 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
DettagliSistemi 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
DettagliXML. 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
DettagliThe 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
DettagliCorso 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:
DettagliBreve 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
DettagliArgomenti 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
DettagliTecnologie 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
DettagliUniversità 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
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
DettagliLaboratorio 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
DettagliLa 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,
DettagliXML 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
DettagliIntroduzione 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,
DettagliSOMMARIO: 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
DettagliBasi 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
DettagliDispense 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
DettagliDocument 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
DettagliProgrammazione 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
DettagliLa 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
DettagliDario 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
Dettagliistituito 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
DettagliIl 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
DettagliUniversità 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
Dettagli5.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
DettagliI 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:
DettagliTecniche 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»
DettagliIl 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
DettagliProgrammazione 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.
DettagliLinguaggi 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
DettagliXBase, 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
DettagliSul 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.
DettagliTMS. 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?
DettagliPOLITECNICO 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
DettagliDocument 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
DettagliDocument 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
DettagliAlberi. 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
DettagliProgrammazione 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
DettagliI 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
DettagliVariabili 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
DettagliLezione 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
DettagliVariabili 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
DettagliLaboratorio 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
Dettagli1 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
DettagliProf. 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
Dettagli4 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
DettagliUML 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
DettagliLinguaggi 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
DettagliHomework 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
DettagliProgrammazione 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
DettagliJSON 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
DettagliOCA 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
DettagliALGORITMI 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
DettagliXML - 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
DettagliCapitolo 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
DettagliArray. 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
Dettaglistrutturati 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
DettagliJava 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
DettagliProgrammazione 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
DettagliEsercizi 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
DettagliDocument 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
DettagliIl 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
DettagliDefinizione 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
DettagliIl 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
Dettagli2.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
DettagliAlberi 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
DettagliEsercizio. 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
DettagliJavaScript 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
DettagliXML 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
Dettagliextensible 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
DettagliLa 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
DettagliPolitecnico 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
DettagliXBase, 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
DettagliLa 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