Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1.

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

Introduzione all’HTML
DTD Document Type Definition per XML
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
XML - Schema Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
JavaScript 2. JavaScript nelle pagine web. HTML e XHTML Gli script JavaScript sono utilizzabili sia in pagine HTML che XHTML XHTML impone che il codice.
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)
Document Type Definition per XML Presentazione 8.1 Informatica Generale (Prof. Luca A. Ludovico)
DTD Laurea Magistrale in Informatica Chapter 03 Modulo del corso Thecnologies for Innovation.
Query OQL e XQUERY a confronto
Il sistema MOMIS Il progetto MOMIS (Mediator EnvirOnment for Multiple Information Sources) consiste nella realizzazione di un sistema intelligente di.
Re-engineering del wrapper XML Schema per il sistema MOMIS
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.
3° Workshop "Accessibilità: primi passi per un mondo fruibile da tutti" Alessandro Olivi Modellazione di pagine WEB e accessibilità
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
XHTML Danilo Deana. XHTML2 XHTML (eXtensible HyperText Markup Language) XHTML è una riformulazione di HTML come applicazione XML. Utilizzando XHTML è
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
Lezione 5 Attributi, Entità, Parametri e Namespaces.
DTD, Entità, Parametri, Namespace
Introduzione e nozioni fondamentali di sintassi
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... XML Elaborazione di Franco Grivet Chin.
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
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.
Linguaggi di codifica.
1 Documenti XML validi La Document Type Definition Dichiarazione di elementi.
DTD Schema W3C. Dichiarazione di elementi Dichiarazioni globali Dichiarazioni globali Dichiarazioni locali (figli di altri elementi)
Creare pagine web Xhtlm. Struttura di una pagina.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
HTML I Form in HTML5.
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
INTRODUZIONE A JAVASCRIPT
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
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 e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
Introduzione alle Griglie computazionali - aa Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
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.
Capitolo 3 … XML: eXtensible Markup Language  Introduzione  Logical Structures  Document Type Definition  Namespace  XML - Schema …
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
WWW La sintassi di SGML  XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo in breve tutti gli aspetti di SGML che sono in comune con XML:
Servizi Internet Claudia Raibulet
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
WWW Introduzione ad XML Da slide di Fabio Vitali.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
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.
Transcript della presentazione:

Programmazione Web eXtensible Markup Language (XML) 2014/2015Programmazione Web - XML1

2014/2015 eXtensible Markup Language Formato di file proposto dal W3C per distribuire documenti elettronici sul World Wide Web Evoluzione: 1986: Standard Generalized Markup Language (SGML) ISO Agosto 1997: XML Working Draft Dicembre 1997: XML 1.0 Proposed Recommendation Febbraio 1998: W3C Recommendation Richiami di XML 2Programmazione Web - XML2

2014/2015 HTML vs XML (I) HTML: insieme fisso di tag XML: standard per creare linguaggi di markup con tag personalizzati (erede di SGML); possono essere usati in qualunque dominio applicativo Il cosmo di Einstein Autore: Kaku Michio Editore: Codice Anno: 2005 ISBN: Il cosmo di Einstein Kaku Michio Codice Programmazione Web - XML3

2014/2015 HTML vs XML (II) XML non rimpiazza HTML! L’HTML è un caso particolare di XML XML e HTML sono nati con scopi diversi: XML progettato per descrivere i dati  cosa sono i dati scambiare e condividere dati e informazioni tra sistemi eterogenei (B2B, B2C,etc.) creare nuovi linguaggi (WML, MathML…) HTML progettato per visualizzare i dati  come appaiono i dati separare i dati dal modo con cui vengono presentati Recentemente è stato introdotto l’XHTML, che combina l’HTML con le rigide regole sintattiche dell’XML, permettendone una maggiore interoperabilità e l’utilizzo anche su dispositivi a minore capacità 4Programmazione Web - XML4

2014/2015 Sintassi XML Ogni documento deve iniziare con E’ un linguaggio di markup, quindi ne rispetta tutte le regole generali I tag sono “case sensitive” Un documento XML deve avere un tag radice Un documento XML è ben formato se soddisfa le regole di sintassi dell’XML 5Programmazione Web - XML5

2014/2015 Esempio di documento XML Forno Frigo 6Programmazione Web - XML6

2014/2015 Esempio di documento XML Forno Frigo 7 Dichiarazione iniziale Elemento radice Attributo Elemento con solo testo Elemento con altri tag annidati Programmazione Web - XML7

2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini L’eredità di Albert Einstein 8Programmazione Web - XML8

2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini L’eredità di Albert Einstein 9Programmazione Web - XML9

2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) possono contenere sia elementi annidati che testo (mixed content) Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini L’eredità di Albert Einstein 10Programmazione Web - XML10

2014/2015 Elementi: modello di contenuto Gli elementi possono avere diversi tipi di contenuto possono contenere altri elementi annidati (element content) possono contenere solo testo (text content) possono contenere sia elementi annidati che testo (mixed content) possono essere vuoti (empty content) con o senza attributi Il cosmo di Einstein Kaku Michio Traduzione a cura di P. Bonini L’eredità di Albert Einstein 11Programmazione Web - XML11

2014/2015 Attributi Gli elementi possono avere degli attributi I valori vanno racchiusi tra “ ” Differiscono dagli elementi perchè non possono contenere elementi figli Limitazioni nell’uso di attributi non possono contenere valori multipli non possono descrivere strutture Forno Programmazione Web - XML12

2014/2015 Document Type Definition (DTD) Detta il formato comune per una classe di documenti XML, cioè: gli elementi ammessi le regole di annidamento degli elementi, gli attributi e il contenuto ammesso per ciascun elemento Scopi: accordarsi su formato/struttura dei documenti validare documenti XML secondo certe regole Un documento XML è valido rispetto ad un DTD se rispetta il formato specificato 13Programmazione Web - XML13

2014/2015 Tipi di dichiarazioni in un DTD ELEMENT : introduce il nome dell’elemento e il suo contenuto ammissibile ATTLIST: specifica gli attributi ammessi per un dato elemento e le proprietà di questi attributi (tipo e vincoli sugli attributi) ENTITY: simile ad una dichiarazione di costante, si riferisce ad una particolare porzione di documento XML 14Programmazione Web - XML14

2014/2015 Dichiarazione di elementi (I) 15 Elementi contenenti altri elementi figli … Elementi con PCDATA (parsed character data = porzione testo qualsiasi) testo Elementi vuoti Programmazione Web - XML15

2014/2015 Dichiarazione di elementi (II) 16 Contenuto misto testo.. Qualsiasi contenuto Programmazione Web - XML16

2014/2015 Occorrenze di un elemento 17 1 volta 1 o più volte 0 o più volte 0 o 1 volta Programmazione Web - XML17

2014/2015 Dichiarazione di attributi 18 Per ogni elemento il DTD dice: quali attributi può avere il tag che valori può assumere ciascun attributo eventuali vincoli sulla cardinalità degli attributi qual è il valore di default Esempio di dichiarazione di attributo: <!ATTLIST PRODOTTO codice ID #REQUIRED label CDATA #IMPLIED status (disponibile | terminato) “disponibile”> Programmazione Web - XML18

2014/2015 Tipi di attributi 19 CDATA: stringa ID: chiave unica IDREF, IDREFS: riferimento ad uno o più ID nel documento ENTITY, ENTITIES: nome di una o più entità NMTOKEN, NMTOKENS: caso ristretto di CDATA (una stringa di una o più parole separate da spazi) codice ID #REQUIRED label CDATA #IMPLIED status (disponibile|terminato) ‘disponibile’ Programmazione Web - XML19

2014/2015 Vincoli sugli attributi 20 #REQUIRED: il valore deve essere specificato #IMPLIED: l’attributo può avere un valore e il valore di default non è definito “val”: il valore dell’attributo è “val” se nient’altro è specificato #FIXED “val”: il valore, se presente, deve coincidere con “val” codice ID #REQUIRED label CDATA #IMPLIED status (disponibile|terminato) “disponibile” Programmazione Web - XML20

2014/2015 Dichiarazione di entità 21 Analoghe alle dichiarazioni di macro con #define in C Le entità possono essere interne ( &ATI; ) esterne ( &boilerplate; ) Programmazione Web - XML21

Sistemi Informativi e Servizi <!DOCTYPE elenco [ ]>... Documenti XML con DTD 2014/2015Programmazione Web - XML22

Sistemi Informativi e Servizi <!DOCTYPE elenco [ ]>... DTD esterno Documenti XML con DTD 2014/2015Programmazione Web - XML23

Sistemi Informativi e Servizi Forno Frigo Esempio di DTD 2014/2015Programmazione Web - XML24

Sistemi Informativi e Servizi Forno Frigo NOTA: un DTD NON è un documento XML Esempio di DTD 2014/2015Programmazione Web - XML25

Sistemi Informativi e Servizi Storia: inizialmente proposto da Microsoft, è divenuto W3C recommendation (maggio 2001) Scopo: definire gli elementi e la composizione di un documento XML Un XML Schema definisce regole riguardanti: Elementi Attributi Gerarchia degli elementi Sequenza di elementi figli Cardinalità di elementi figli Tipi di dati per elementi e attributi Valori di default per elementi e attributi XML Schema 2014/2015Programmazione Web - XML26

Sistemi Informativi e Servizi Possono contenere solo testo (nessun sottoelemento o attributo) Definizione di elementi semplici: Esempi di definizione di elementi semplici in XSD Elementi semplici in un documento XML 65 Rossi Elementi semplici 2014/2015Programmazione Web - XML27

Sistemi Informativi e Servizi Possono contenere solo testo (nessun sottoelemento o attributo) Definizione di elementi semplici: Esempi di definizione di elementi semplici in XSD Elementi semplici in un documento XML 65 Rossi Elementi semplici 2014/2015 Valore di default o fisso Programmazione Web - XML28

Sistemi Informativi e Servizi.. element content.. Elementi complessi 2014/2015Programmazione Web - XML29

Sistemi Informativi e Servizi.. element content.. Elementi complessi 2014/2015Programmazione Web - XML30

Sistemi Informativi e Servizi Numero di occorrenze: maxOccurs: max numero di occorrenze minOccurs: min numero di occorrenze Se non specificati: 1 e 1 sola occorrenza Vincoli di cardinalità 2014/2015Programmazione Web - XML31

Sistemi Informativi e Servizi Per definire gruppi di elementi (o attributi), tra loro correlati Group name … Raggruppamento 2014/2015Programmazione Web - XML32

Sistemi Informativi e Servizi E’ possibile imporre delle restrizioni sui valori dei tipi semplici tramite l’uso di “facet” Valore max/min Enumerazione di valori Pattern di caratteri ammessi Lunghezza di liste di valori Le restrizioni sono applicate al range di valori ammessi per questo tipo Restrizioni 2014/2015Programmazione Web - XML33

Sistemi Informativi e Servizi E’ possibile imporre delle restrizioni sui valori dei tipi semplici tramite l’uso di “facet” Valore max/min Enumerazione di valori Pattern di caratteri ammessi Lunghezza di liste di valori Facet + valore Restrizioni 2014/2015Programmazione Web - XML34

Sistemi Informativi e Servizi Riferimento ad altri elementi Attraverso l’attributo “ref” ci si può riferire ad un elemento definito altrove … … 2014/2015Programmazione Web - XML35

Sistemi Informativi e Servizi Un esempio di schema XML 2014/2015Programmazione Web - XML36

2014/ XHTML Si tratta di una versione più “controllata” dell'HTML, che segue le regole dell'XML annidamento corretto degli elementi... tag di chiusura... gestione ordinata dei tag vuoti case sensitivity per i nomi dei tag e degli attributi (minuscolo) Valori di attributi tra virgolette ed espliciti checked=”checked” Programmazione Web - XML37

2014/ Compatibilità Cross-Browser (I) I Browser supportano due modalità di rendering: Standards mode and Quirks mode Lo Standards mode lavora seguendo il più possibile le specifiche del W3C, quindi in maniera (quasi) indipendente dal browser Il Quirks mode segue le regole di formattazione dello specifico browser, con le sue limitazioni ed estensioni. La modalità Quirks esiste per rendere i browser compatibili con i vecchi siti web, che erano sviluppati con codice molto browser- dipendente. Oggi, è necessario sviluppare i nuovi siti in modalità Standards Programmazione Web - XML38

2014/ Compatibilità Cross-Browser (II) (!) Di default i browser usano la modalità Quirks Per entrare in modalità Standards occorre inserire all’inizio del documento una dichiarazione doctype come quella che segue Per usare l’XHTML transitional: Per usare l’XHTML strict: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " Programmazione Web - XML39

Il parser XML è un’applicazione che:  recupera il documento XML  carica i dati in memoria  presenta all’applicazione che lo invoca un’interfaccia di alto livello  fornisce servizi di validazione (opzionale)  fornisce servizi di ricerca (opzionale) Parser XML 2014/2015Programmazione Web - XML40

XMLDTD XML parser Applicazione XSD Parser XML 2014/2015Programmazione Web - XML41

Due diversi approcci  approccio ad eventi »il parser scandisce l’intero documento XML »ogni volta che incontra un nuovo elemento, informa l’applicazione usando la tecnica del Callback  approccio basato su modello »il parser costruisce internamente una struttura ad albero che rappresenta il documento XML (albero sintattico) »fornisce all’applicazione delle API che permettono la navigazione dell’albero sintattico Parsing di documenti XML 2014/2015Programmazione Web - XML42

Il Signore degli Anelli J.R.R. Tolkien Bompiani XML Parser Applicazione LibroTitolo Autore … t Approccio ad eventi 2014/2015Programmazione Web - XML43

Il Signore degli Anelli J.R.R. Tolkien Bompiani XML Parser Applicazione Librodisponibilità=“…” Titolo attr Editore Approccio basato su modello 2014/2015Programmazione Web - XML44

E’ una API per il parsing di documenti XML Definisce una modalità di rappresentazione di documenti XML Usa strutture dati accessibili dall’applicazione Definisce le operazioni per agire sulla rappresentazione intermedia  caricamento della struttura  costruzione di un nuovo documento  navigazione dell’albero sintattico  aggiungere, eliminare, modificare e spostare le componenti Esistono implementazioni di DOM per diversi linguaggi di programmazione  linguaggi server-side: Java, C++, C#  linguaggi di script: VB-script, Javascript DOM – Document Object Model 2014/2015Programmazione Web - XML45

I documenti XML sono caricati sotto forma di albero sintattico, composto da oggetti di tipo Nodo  ogni nodo può avere uno o più figli DOM definisce solo la vista logica e non dice nulla sull’effettiva struttura in memoria Come modello ad oggetti si specificano  gli oggetti utilizzati per rappresentare il documento ed i suoi costituenti  le interfacce pubbliche degli oggetti per poter essere utilizzate dal livello applicativo  le relazioni tra gli oggetti e le interfacce  la semantica associata ad ogni classe La struttura del DOM 2014/2015Programmazione Web - XML46

The &projectName; project is important MAIS project MIUR FIRB + ELEMENT: sentence + TEXT: The + ENTITY REF: projectName + TEXT: project is important + ELEMENT: name + TEXT: MAIS project + ELEMENT: typology + TEXT: MIUR FIRB Esempio di DOM 2014/2015Programmazione Web - XML47

Approccio ad eventiApproccio basato su modello E’ molto “leggero” Il programmatore può implementare solo le funzionalità necessarie Fornisce all’applicazione un modello ricco del documento Mantiene una rappresentazione completa e durevole in memoria Interfaccia troppo semplice; si richiede più codice nell’applicazione Nessun supporto per operare sul documento Richiede un'occupazione di memoria per tutto il documento Programmazione Web - XML

2014/ Dove trovare materiale, esempi, quiz… Tutorial della W3C ( Tutorial su XML, DTD e XML Schema ( Specifica XHTML 1 ( Programmazione Web - XML49