Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.

Slides:



Advertisements
Presentazioni simili
Introduzione all’HTML
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
DTD Document Type Definition per XML
Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
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)
XML Introduzione Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
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.
1 Scoprire e capire HTML Creare semplici pagine WEB Maria Laura Alessandroni.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Linguaggi di marcatura e fogli stile Presentazione del corso.
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.
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.
STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.
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)
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
CORSO AVANZATO INFORMATICA
V.1 Progettazione Multimediale – 1 Progettazione multimediale HTML e i tag di base.
HTML Lezione 8 I collegamenti ipertestuali (link).
Creare pagine web Xhtlm. Struttura di una pagina.
HTML Lezione 3 Stili.
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
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Hyper-Text Mark-Up Language
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.
Gli standard web W3C standard HTML CSS “…a set of standardized best practices for building web sites, and a philosophy of web design and development.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
JavaScript Generalità Cos'è JavaScript?
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
HTML HTML e il web.
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.
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
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:
Documenti XML ben formati Altre componenti di un documento XML – Struttura dei documenti XML.
Documenti XML ben formati Entità– Sezioni condizionali.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
Transcript della presentazione:

Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004

2

3 Perché parliamo di XML Xml sta diventando lo standard de-facto per lo scambio di dati sul web e non solo. Sta alla base di quello che viene definito il semantic- web. E’ un linguaggio facile da imparare ed utilizzare, e nello stesso tempo è anche incredibilmente potente, permettendo di creare documenti della complessità desiderata. Non da ultimo, le più grandi società software, stanno investendo molto in XML, che, ad esempio, è una delle parti integranti dell’architettura.NET di Microsoft.

4 Introduzione a Xml: cos’è? Xml: eXtensible Markup Language Linguaggio di markup: permette di evidenziare il contenuto di un documento, all’interno di marcatori descrittivi, che ne definiscono gli attributi, ad es. linguaggio html. Estensibilità: in realtà Xml è un metalinguaggio di markup, cioè viene utilizzato per creare linguaggi di markup personalizzati. NON è un linguaggio di programmazione. Non esistono documenti scritti in XML, ma documenti scritti in un linguaggio di markup basato su XML

5 Alcune caratteristiche di XML Permette di organizzare a proprio piacimento le informazioni, consentendo di inviarle a chiunque in modo libero e gratuito. Standard aperto, no royalty, no brevetti, no copyright o segreti industriali. Salvataggio dei dati: se avete dei file in un formato proprietario quale Visicalc, Lotus Jazz, magari su floppy da 5”¼, la possibilità di recuperarli è piuttosto bassa. Il formato di solo testo resiste abbastanza bene alle alterazioni magnetiche. Permette di condividere sul Web documenti con strutture anche molto complicate che contengono dati particolarmente complessi.

6

7 Alcune caratteristiche di XML L’importanza di uno standard di comunicazione tra applicazioni, per evitare che i dati possano essere letti e “capiti” solo da pochissimi programmi. La gran parte dei flussi di informazioni viaggia attraverso sistemi proprietari e costosi, ad es. Oracle, SQL, DB2. Ciò che invece, possiamo ottenere con XML è questo:

8 XML  Documento XML  Cellulare  Dispositivo Palmare  PC Linux, Unix, MAC  CD-Rom

9 Le “breve storia” non manca mai… Creato dal W3C si veda la prima edizione della specifica XML 1.0 risale al febbraio 1998, la seconda edizione è di ottobre 2000, mentre ad oggi è in fase “candiate recommendation” la versione 1.1 di XML. XML, deriva da SGML, che è un linguaggio di markup molto potente ma molto complicato. Anche HTML deriva da SGML, semplificandolo all’estremo, ma l’html nella sua semplicità si limita a formattare i dati. XML nasce dall’idea di creare un linguaggio che unisca potenza di SGML e semplicità di HTML.

10 Alcuni punti chiave considerati nella progettazione dal W3C. Supporto di una vastissima gamma di applicazioni (non solo Web). I documenti XML devono rimanere leggibili da parte dell’uomo, e ragionevolmente chiari. Minimizzare le caratteristiche opzionali. Facile da redarre, ossia creabile anche con semplici editor di testo. Formale e conciso: piccoli insiemi di regole ma assolutamente precise.

11 Struttura XML Glory and consequence Ben Harper The wheel to live Bigmouth strikes again The Smiths Meat is murder Caves bird Ted Hughes I tag XML vengono chiamati nodi o elementi. Il tag che contiene tutti gli altri viene detto elemento radice. Annidamento, nodi figli. Nodo di testo, Attributi I tag XML vengono chiamati nodi o elementi. Il tag che contiene tutti gli altri viene detto elemento radice. Annidamento, nodi figli. Nodo di testo, Attributi

12 Regole di sintassi e strutturazione Quando un documento XML rispetta le regole strutturali definite dal W3C, si dice che è un documento “ben formato”. Gli interpreti XML rifiutano e ignorano i documenti mal formati. Ciò invece non accade in Html. Tutti i documenti XML devono avere una tag radice. Tutti i tag devono necessariamente essere chiusi. L’ annidamento dei tag deve rispettare la gerarchia di apertura. Getafix NON e’ consentito in XML (in Html si!) Il valore degli attributi DEVE sempre essere racchiuso tra virgolette. I nomi degli elementi e degli attributi devono iniziare con una lettera, un underscore _ o un segno di due punti (:), poi possono seguire un numero qualsiasi di lettere, numeri, due punti, punti singoli, trattini e underscore. Attenzione perché XML è “case sensitive”.

13 Dtd: Document Type Definition Poiché abbiamo detto che XML ci permette di creare linguaggi di markup personalizzati, dobbiamo anche definire un dizionario per la leggibilità del documento. DTD è uno dei modi per farlo. E’ un documento di testo che definisce tutte le parti di un documento XML: elementi, attributi, elenchi, entità, proprietà e relazioni. Le DTD possono far parte del documento XML stesso, oppure essere esterne, cioè trovarsi in un file separato. E’ preferibile utilizzare DTD esterne, perché possono essere riutilizzate e soprattutto condivise. Chiamata ad una DTD esterna: Direttiva che inizia la riga in cui si specifica la dtd Specifica che si tratta di una dtd scritta da noi e che si trova in un file esterno Nome del file di testo che contiene la dtd Nome dell’elemento radice

14 Dtd: Document Type Definition Nella maggior parte dei casi si utilizzano DTD pubbliche, ossia dtd già create e messe a disposizione da qualcuno. Chiamata ad una DTD esterna pubblica: Specifica che si tratta di una dtd pubblica Nome pubblico della dtd URL della DTD -//Microsoft//DTD Web_Service//EN// Il meno indica una DTD non approvata da un ente di standardizzazione(es. ISO). Microsoft è il nome del proprietario, DTD è fisso seguito da una etichetta della DTD (una breve descrizione), EN è la lingua.

15 Dtd: definizione degli elementi La parola chiave piu’ importante all’interno di una DTD è “ELEMENT”, essa ci permette di definire gli elementi (tag) del nostro linguaggio di markup.. Questa istruzione della DTD definisce l’elemento “media” e determina il tipo di testo che puo’ contenere (#PCDATA significa che puo’ contenere lettere, numeri o qualsiasi altra cosa che non siano altri tag). L’annidamento degli elementi avviene invece in questo modo: Oltre definire la struttura degli elementi, è possibile indicare anche alcuni comportamenti quali: - Numero di volte che un elemento può comparire: N. volte, da 0 a 1, da 1 a qualsiasi, da 0 a qualsiasi - Indicare se la presenza di un elemento ne esclude un’altra Oltre definire la struttura degli elementi, è possibile indicare anche alcuni comportamenti quali: - Numero di volte che un elemento può comparire: N. volte, da 0 a 1, da 1 a qualsiasi, da 0 a qualsiasi - Indicare se la presenza di un elemento ne esclude un’altra

16 Dtd: definizione degli attributi La definizione degli attributi avviene in questo modo: Type indica il tipo di attributo, può essere: CDATA= qualunque cosa sia digitabile da tastiera Enumerazione = un insieme di possibili valori dell’attributo ID= valore univoco all’interno del documento xml IDREF= si riferisce al codice contenuto in ID NMTOKEN = specifica che il valore dell’attributo segue le regole dei nomi XML ENTITY= permette di includere come attributo oggetti esterni Default permette di inserire un valore predefinito, oppure può essere: - #REQUIRED (obbligatorio) - #IMPLIED (facoltativo) - #FIXED (fisso)

17 Dtd: entità e notazioni Le entità servono per contenere dati: può trattarsi di testo, immagini o qualunque altra forma di dati binari non testuali. L’esempio più semplice: Nel documento XML si richiama così: &azalea; L’esempio “meno” semplice, entità non interpretata esterna <!ENTITY foto SYSTEM “immagine.gif” NDATA gif” A questo punto per includere l’entità nel documento XML è necessario utilizzare il tipo di attributo ENTITY: <!ATTLIST utente fotografia ENTITITY #REQUIRED” Il documento XML avrà quindi una riga di questo genere:

18 XML SCHEMA XML Schema è un linguaggio creato dal W3C, per ovviare ad alcune limitazioni delle DTD. E’ quindi un modo alternativo per definire la struttura dei documenti XML. Gli schemi di XML Schema sono scritti in XML, ma vengono letti dagli interpreti in modo diverso dai semplici documenti XML, grazie al meccanismo dei cosiddetti namespace (spazi dei nomi). In XML è possibile raggruppare assieme elementi come,, associandoli ad un nome univoco ad es. Azalea. A questo punto per referenziare il tag1 del gruppo Azalea si utilizza la notazione. Si dice che gli elementi del gruppo Azalea sono appartenenti al namespace Azalea. I namespace risultano molto utili quando si vogliono utilizzare elementi provenienti da documenti XML diversi e che quindi potrebbero avere lo stesso nome. I namespace permettono di trattare gli elementi in essi contenuti, in modo diverso rispetto a quelli che non lo sono. XML Schema non è altro che un namespace i cui elementi sono trattati in modo particolare.

19 Nome reale, unico al mondo. Anche se ha l’aspetto di un Url, non lo è affatto! Diciamo che si tratta più di un URI, un identificatore univoco che non necessariamente punta a qualcosa. XML SCHEMA: namespace Sintassi per la creazione di un namespace: Con questa dichiarazione, l’elemento tag1 e tutti gli elementi in esso contenuti diventano parte del namespace. alfa beta E’ possibile ora riferirsi ai tag1-3 con la notazione Azalea:tag1-3 E’ possibile omettere il soprannome, in tal caso non comparirà nessun prefisso di nome, ed il namespace viene detto di default. Soprannome, si utilizza per referenziare tutti gli elementi che appartengono al namespace

20 XML Schema: chiamata Per collegare un documento XML ad uno schema XML, si utilizza una notazione differente rispetto a DOCTYPE che si usava con le DTD. Il collegamento viene fatto utilizzando l’elemento radice del documento XML, in questo modo: <Azalea xmlns:xsi=“ xsi:noNamespaceSchemaLocation=“listatoXmlSchema.xsd”> Il file listatoXmlSchema.xsd conterrà qualcosa del tipo: <xsd:schema xmlns:xsd= “ Type definisce il tipo di contenuto dell’elemento. Come detto, le tipologie definite e definibili sono molto più ampie rispetto alle DTD. E possibile definire: - solo testo - solo numeri interi positivi - solo numeri interi negativi - solo numeri in virgola mobile - combinazione di caratteri e/o numeri in pattern - date in diversi formati - orari in diversi formati - valore true o false - sigla lingua secondo ISO639 - URL

21 XML e OPEN ARCHIVES Alcune definizioni in Open Archives: OAI-PMH: Open Archives Initiative Protocol for Metadata Harvesting. Harvester: applicazione client che esegue una richiesta OAI-PMH, finalizzata alla raccolta di metadati (service provider). Repository: server in grado di soddisfare le diverse tipologie di richieste OAI-PMH, provenienti dagli harvester (data provider).

22 XML e OPEN ARCHIVES Resource: oggetto identificato dall’insieme dei metadata che vi si riferiscono, e che sono contenuti nel repository. Item: l’insieme dei metadata che si riferiscono ad una Resource. Record: sottoinsieme di metadata estratto da Item, e rappresentato in uno specifico formato.

23 XML e OPEN ARCHIVES Una richiesta OAI-PMH, viene inoltrata utilizzando il protocollo http con i metodi Get o Post, quest’ultimo ha il vantaggio di non porre limiti alla lunghezza degli argomenti. Per tutte le richieste al repository esiste un’unica base-url, che specifica l’internet host, la porta e opzionalmente una path. In aggiunta alla base-url, tutte le richieste contengono uno o più argomenti separati da & che prendono la forma key=value. Key è il testo ‘verb’, mentre value è una delle sei richieste a cui il repository deve essere in grado di rispondere. Ad es. verb=GetRecord&identifier=oai:arXiv.org:hep- th/ &metadataPrefix=oai_dc

24 XML e OPEN ARCHIVES Tipologie di richieste che il repository-server deve essere in grado di soddisfare: GetRecord: utilizzato per recuperare il singolo record, richiede come argomenti obbligatori, l’identificatore di item e di metadata. Identify: restituisce informazioni sul repository server, ad es. il repositoryName, baseURL, protocolVersion etc. Non richiede argomenti. ListRecords: restituisce un gruppo di record, da-a o selezionati in base ai criteri definiti in set, ossia costrutti che permettono il raggruppamento degli item. ListIdentifiers: uguale a ListRecords, ma restituisce solo l’intestazione, (identifier, datestamp, setspec). ListMetadataFormats: restituisce i formati di metadata disponibile. ListSets: restituisce i set definiti nel repository. Utile per l’estrazione selettiva dei record.

25 XML e OPEN ARCHIVES Per definizione tutte le risposte alle richieste OAI-PMH DEVONO essere documenti XML ben-formati T19:20:30Z La prima riga definisce il documento come xml, il contenuto rimanente è incluso nell’elemento radice di nome OAI-PMH, il quale presenta tre attributi che definiscono il namespace.

26 XML e OPEN ARCHIVES Per tutte le risposte i primi due figli dell’elemento root sono: responseDate: la data e l’ora in formato UTC relativa all’invio della risposta. request: la stringa di richiesta di cui è stata fornita la risposta. Il terzo elemento figlio dell’elemento root ha lo stesso nome dell’attributo verb della stringa di richiesta, nell’esempio precedente. Seguono poi i metadati nel formato richiesto, nell’esempio precedente, il formato richiesto era Dublin Core, che è anche l’unico formato che obbligatoriamente ogni item all’interno del repository deve supportare.

27 FINITO !