A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
Unit à D1 Archivi: i concetti fondamentali. Obiettivi Conoscere le diverse organizzazioni logiche degli archivi Conoscere le operazioni di base che si.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Introduzione ai CSS. Cosa è successo allHTML Perché usare i CSS Introduzione ai CSS Fondamenti.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
Web Services.
Query OQL e XQUERY a confronto
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
Informatica.science.unitn.it Un esempio di architettura basata sulluso di XML e XSL per la pubblicazione di un sito web.
Linguaggi di marcatura e fogli stile Presentazione del corso.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Architettura del World Wide Web
Introduzione e nozioni fondamentali di sintassi
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Corso di PHP.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.
Linguaggi di codifica.
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Sistemi Informativi sul Web
Il metalinguaggio XML: la nuova frontiera per la codifica dellinformazione Relatore: Ing. Marco Porta Tesi di Laurea di: Andrea Mocchi ANNO ACCADEMICO.
Creare pagine web Xhtlm. Struttura di una pagina.
Microsoft Office System Introduzione a XML in Office 2003.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
INTRODUZIONE A JAVASCRIPT
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
Impostare i caratteri. Le prime versioni del linguaggio HTML così come le prime versioni dei browser consentivano unicamente la scelta tra due tipi di.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
HTML HTML e il web.
Laboratorio di Servizi Web - XML - Ardissono 1 Rappresentazione ad oggetti di documenti XML Parser fanno analisi sintattica di documento XML ma, a meno.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Laboratorio di Servizi Web - XML - Ardissono 1 XML - Introduzione Linguaggio di markup, si è imposto come standard per condivisione di dati su internet.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
I fogli di stile XSL.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Servizi Internet Claudia Raibulet
A.a. 2004/05Tecnologie Web1 Corso di Laurea Interfacoltà in Management dell’informazione e della comunicazione aziendale a.a. 2004/05 Tecnologie Web Anna.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
Tecnologia per la comunicazione
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

a.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language

a.a. 2004/05Tecnologie Web2 XML (eXStensible Markup Language): XML è un formato standard, definito dal W3C ( indipendente dalla piattaforma, utilizzato per la rappresentazione di dati e di contenuti strutturati XML viene spesso presentato come il successore di HTML; in realtà: HTML è un linguaggio per il markup di documenti (pagine Web) XML è un meta-linguaggio, consente cioè la definizione di nuovi linguaggi XML - I

a.a. 2004/05Tecnologie Web3 XML - II Vantaggi di XML: Si è imposto come standard per la condivisione di dati su Internet E` basato su una rappresentazione dei dati come stringhe di caratteri  facilmente trasferibili via HTTP Sono stati sviluppati strumenti per la scrittura, l’interpretazione, la gestione di documenti XML E` utilizzato per la condivisione e lo scambio di dati tra applicazioni

a.a. 2004/05Tecnologie Web4 Che cos'è un meta-linguaggio? Un meta-linguaggio è un linguaggio per definire nuovi linguaggi (in questo senso è “estensibile”) Per es: supponiamo di avere una ditta che importa e rivende caffè e di voler rappresentare il nostro listino prezzi; vorremmo un linguaggio che ci metta a disposizione i seguenti tag: Mocha Java Sumatra XML - III nomeprezzo Mocha Java11.95 Sumatra12.50 Listino prezzi caffè

a.a. 2004/05Tecnologie Web5 Possiamo definirlo! Utilizziamo una DTD (Document Type Definition), per definire il nuovo linguaggio (cioè l'insieme di tag di cui abbiamo bisogno): XML: DTD - I Definisco un tag "listinoPrezzi", costituito da un numero arbitrario di tag "caffe" Definisco un tag "caffe", costituito da un tag "nome" e da un tag "prezzo" I tag "nome" e "prezzo" non sono a loro volta costituiti da altri tag, ma contengono solo testo

a.a. 2004/05Tecnologie Web6 XML: DTD - II coffees.dtd Mocha Java Sumatra listino.xml prologo: specifica la versione di XML e il set di caratteri usato all’inizio del documento XML dichiariamo la DTD di riferimento

a.a. 2004/05Tecnologie Web7 Una caratteristica fondamentale di XML è la possibilità di rappresentare la struttura delle informazioni (mediante i tag); in particolare i tag in un documento XML definiscono una struttura gerarchica: XML: DTD - III listinoPrezzi caffènome prezzo … caffènome prezzo listinoPrezzi caffè … nomeprezzo nomeprezzo caffè

a.a. 2004/05Tecnologie Web8 XML: documenti ben formati Un documento XML è ben formato se rispetta le regole sintattiche dell’XML Intuitivamente, un documento è ben formato sse: –contiene tutte le componenti necessarie (1 prologo, 1 solo elemento radice,...) –i suoi tag sono bilanciati, cioè  ogni tag aperto viene chiuso: bla Se l’elemento è vuoto:  i tag sono “annidati” correttamente, cioè l’ultimo tag aperto è il primo ad essere chiuso:... NB: XML (a differenza di HTML) è case-sensitive!

a.a. 2004/05Tecnologie Web9 XML: documenti validi - I Abbiamo detto che, utilizzando una DTD (Document Type Definition) possiamo definire nuovi linguaggi (cioè insiemi di tag) basati su XML Un documento XML è valido se è ben formato (sintassi XML) e se rispetta la DTD; per es, dato il frammento di DTD visto prima: …

a.a. 2004/05Tecnologie Web10 XML: documenti validi - II Mocha Java Sumatra Mocha Java Sumatra è un documento valido NON è un documento valido tag non definito nella DTD struttura errata: l’elemento prezzo NON è figlio di listinoPrezzi (ma di caffe)

a.a. 2004/05Tecnologie Web11 Parser XML: SAX - I Parser XML = strumento (programma) che verifica se un documento XML è ben formato Alcuni parser XML sono anche “validanti”, cioè verificano se un documento XML è ben formato e se è valido rispetto alla DTD (o XML-schema) di riferimento Per costruire applicazioni che usano documenti XML il parser deve offrire delle API per invocare l’analisi sintattica, restituire risultati, validare, ecc. Per es. esistono i parser SAX (Simple API for XML), sviluppati per vari linguaggi di programmazione tra cui Java (JAXP: parser SAX di Sun Microsystems, offre API in Java) Ci sono anche dei parser utilizzabili via web, per es. il validatore di W3C:

a.a. 2004/05Tecnologie Web12 Parser XML: SAX - II Quando “lanciamo” un parser (validante) su un documento XML, il parser analizza il file xml se trova un errore (per es: manca prologo, tag aperto ma non chiuso, tag non bilanciati, tag sconosciuto, …) lo segnala e si ferma (documento non ben formato e/o non valido) altrimenti, arriva fino a fine documento (e si ferma) Esempio di segnalazione di errore: org.xml.sax.SaxParseException: Element type “marca” must be declared. at org.apache.xerces.parsers.AbstractSaxParser.parse… at ….

a.a. 2004/05Tecnologie Web13 Parser XML: SAX - III Come funziona un parser XML? legge il documento XML in modo sequenziale, carattere per carattere, partendo dall’inizio “lancia eventi” che contengono informazioni sui caratteri appena letti; per es: quando incontra un tag aperto, lancia l’evento startElement() che indica l’inizio di un elemento XML; quando incontra un tag chiuso lancia l’evento endElement(), ecc. doc. XML Stream XML Parser startDocument event startElement event startDocument() startElement() endDocument().... Applicazione Java endDocument event

a.a. 2004/05Tecnologie Web14 Parser XML: SAX - IV Si può scrivere un’applicazione (Java) che “cattura” gli eventi lanciati dal parser durante l’analisi del documento li gestisce (per es. estrae dati e li salva, stampa a video, ecc.)  i parser possono essere usati per estrarre informazioni da documenti XML; per es. JAXP (il parser SAX di Sun Microsystems), offre API in Java per “catturare” gli eventi e gestirli

a.a. 2004/05Tecnologie Web15 Parser XML: DOM - I I parser SAX fanno l’analisi sintattica del documento XML basandosi sul concetto di “evento” W3C ha definito le specifiche per una rappresentazione alternativa di documenti XML, maggiormente strutturata  permette di analizzare e modificare il contenuto del documento L’idea di base è quella di utilizzare il fatto che l’annidamento dei tag definisce una struttura gerarchica che permette una rappresentazione ad albero, in cui gli elementi sono “oggetti” che rappresentano i nodi dell’albero  DOM (Document Object Model) = W3C standard per gestione di documenti XML

a.a. 2004/05Tecnologie Web16 Parser XML: DOM - II DOM (Document Object Model): rappresenta i documenti con un modello ad oggetti rappresenta i documenti come strutture ad albero specifica delle interfacce (API) per “navigare” all’interno del documento (albero) e per accedere alle varie parti listinoPrezzi caffè … nomeprezzo nomeprezzo caffè DOCUMENT (listino) Mocha Java Sumatra listino.xml Document Root element child elements

a.a. 2004/05Tecnologie Web17 Parser XML: DOM - III Molti parser (es. JAXP) sono conformi a DOM  usano la rappresentazione DOM (libreria org.w3c.dom) per gestire documenti La librearia org.w3c.dom offre un supporto completo per creare, “navigare” e modificare un albero (documento) a partire dalla radice;

a.a. 2004/05Tecnologie Web18 Parser XML: DOM - IV DOM è nato per trattare documenti: è document-oriented (focalizzato sulle parti di cui un documento si compone) la gestione di strutture dati è possibile, ma un po’ ostica  sono stati sviluppati altri modelli di rappresentazione che facilitano l’accesso e la modifica; per es: JDOM, DOM4J, JAXB JAXB (Java Architecture for XML Binding) è nato apposta per trattare la rappresentazione XML di strutture dati

a.a. 2004/05Tecnologie Web19 XML Schema - I XML-Schema è una specifica di W3C ( alternativa (e più recente) di DTD, per definire linguaggi basati su XML; XML-Schema permette di: –specificare la struttura dei dati –specificare il tipo del contenuto dei dati NB: DTD permette di specificare la struttura, ma non il (tipo del) contenuto! Es: coffeeOrder.xsd definisce la struttura di documenti XML che descrivono ordini di caffè (definisce un linguaggio XML per descrivere ordini di caffè)

a.a. 2004/05Tecnologie Web20 XML Schema - II … coffeeOrder.xsd [prima parte] elemento opzionale definizione del tipo complesso CoffeeOrderType come sequenza di elementi: un elemento di tipo (complesso) Address un elemento di tipo (complesso) Items un elemento di tipo (semplice, predefinito) string namespace per XML-Schema dichiarazione dell’elemento (tag) coffeOrder (di tipo CoffeOrderType) definizione dell’attributo orderDate, di elementi di tipo CoffeeOrderType

a.a. 2004/05Tecnologie Web21 XML Schema - III … … definizione del tipo complesso Address come sequenza di 3 elementi (name, street, city) di tipo (semplice, predefinito) string definizione del tipo complesso Items coffeeOrder.xsd [seconda parte]

a.a. 2004/05Tecnologie Web22 XML Schema - IV <coffeeOrder orderDate=" " xmlns:xsi=" Paolo Bianchi 123 via Po Torino Lavazza Oro Nescafe ESEMPIO: coffeeOrder.xml all’inizio del documento XML dichiariamo L’XML-Schema di riferimento

a.a. 2004/05Tecnologie Web23 XML Schema - V Per gestire schemi grossi o condividere definizioni è possibile importare uno schema esterno Supponiamo, per es, di definire il tipo Address in un documento (file) separato, address.xsd e poi di importarlo in coffeeOrder.xsd (dichiarandone una URI): in questo modo coffeeOrder.xsd può dichiarare elementi di tipo Address come se la definizione fosse interna NB: uno schema può importare più schemi esterni mediante clausole include

a.a. 2004/05Tecnologie Web24 La principale caratteristica di XML è la separazione del contenuto del documento dal suo aspetto (grafico): Il documento XML rappresenta unicamente il contenuto informativo che si intende pubblicare L'aspetto finale del documento è prodotto per mezzo di fogli di stile scritti in XSL (eXstensible Stylesheet Language): XML: XSL - I Mocha Java Sumatra documento XML doc. finale (per es. brochure) marcaprezzo Mocha Java11.95 Sumatra12.50 Listino prezzi caffè XSL

a.a. 2004/05Tecnologie Web25 Grazie a questa caratteristica possiamo gestire un’unica versione del contenuto (dati) che vogliamo rappresentare e poi generare visualizzazioni diverse (in formati diversi: word, pdf, excel, html, …)  riutilizzo del contenuto in contesti diversi: XML: XSL - II documento XML pagina Web (HTML) record in un database brochure ecc…

a.a. 2004/05Tecnologie Web26 Un processore XSLT legge in input il file XML che rappresenta il contenuto + il foglio di stile XSL (che è un file di testo con estesione.xsl, per es: stile1.xsl) ed esegue la trasformazione e produce il risultato (un file di testo che può essere a sua volta interpretato come pagina HTML, record di database, ecc.) XML: XSL - III processore XSLT documento XML pagina Web (HTML) record in un database brochure ecc… stylesheet XSL

a.a. 2004/05Tecnologie Web27 Modalità per applicare una trasformazione XSL ad un documento XML (cioè per invocare il processore XSLT): 1.Il browser (per es. IE6) contiene un processore XSLT: il file XML viene caricato come una normale pagina; il foglio di stile da applicare è indicato nel file XML; il risultato viene visualizzato dal browser stesso 2.Un programma (per es. Java) standalone applica il foglio di stile XSL al file XML 3.Un Web Server applica il foglio di stile XSL al file XML e spedisce il risultato al client (browser) che ha originato l'applicazione Vediamo un esempio della prima modalità XML: XSL - IV

a.a. 2004/05Tecnologie Web28 Il browser (per es. IE6) contiene un processore XSLT: il file XML viene caricato come una normale pagina nel file XML indichiamo qual è il foglio di stile da applicare: nel file XSL indichiamo il namespace specifico usato dal browser: Files: coffees.dtd, listino.xml, listinoWeb.xsl, listinoCarta.xsl Per provare l’applicazione di diversi fogli di stile XSL allo stesso documento XML: - in listino.xml mettere il riferimento a listinoWeb.xsl - aprire listino.xml con IE per vedere il risultato della trasformazione - modificare il riferimento in listino.xml (a listinoCarta.xsl) - aprire listino.xml con IE per vedere il risultato della trasformazione XML: XSL - V