XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

31
XML Prof. Barbara Pernici Politecnico di Milano

Transcript of XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Page 1: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

XML

Prof. Barbara Pernici

Politecnico di Milano

Page 2: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Introduzione a XML

Page 3: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Sommario

• Separare contenuto e presentazione

• Struttura di un documento

• Definizione della struttura

• applicazioni

Page 4: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Interoperabilita’ tra applicazioni basate su web

SISTEMA A SISTEMA B

In che formato vengono scambiati i dati?

Page 5: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Formati standard per il web

– HTML (Hypertext Markup Language)• linguaggio di markup per presentazione +

contenuto

– XML (eXtensible Markup Language)• metalinguaggio (serve a definire linguaggi di

markup)• per descrizione contenuto• altri formati per descrizione presentazione (XSL

eXtensible stylesheet language)

Page 6: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

XML

• XML (eXtensible Markup Language) è un linguaggio che descrive il contenuto delle pagine Web

• Standard approvato dal W3C nel 1998• Sta diventano lo standard per lo

scambio dei dati sul Web...• ...molti software vendors stanno

sviluppando tools per importare/esportare XML

Page 7: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

XML

• Come HTML, prevede l’utilizzo di tag:<nometag>...</nometag>

• A differenza di HTML:– possono essere definiti nuovi tag– le strutture possono essere

arbitrariamente annidate

Page 8: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Elementi sintattici

• Element: porzione di testo limitata da tag– Start tag (e.g, <persona>)– End tag (e.g., </persona>)

• Subelement

persona

nome cognome email•Esempio:<persona>

<nome> Julia</nome><cognome>Roberts </cognome><email> [email protected]</email>

</persona>

Page 9: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Note esempio

• tutto quello che sta tra start-tag e il corrispondente end-tag viene chiamato elemento

• gli elementi possono essere composti e contenere altri elementi

Page 10: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Documento “ben formato”

• Ogni documento XML deve contenere un solo elemento radice

• Struttura gerarchica del documento

• a ogni tag di apertura corrisponde un tag di chiusura

Page 11: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Attributi

• Gli elementi possono avere attributi

• Gli attributi possono avere valori• Attributi e valori scritti nello start

tag• I valori sono indicati tra virgolette

Page 12: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Attributi

• Attributi: gli attributi sono coppie (attributo,

valore)Esempio :<persona nome=“Julia” cognome=“Roberts”email=“[email protected]”>Opp.<persona cognome=“Roberts”><nome> Julia</nome><email> [email protected]</email></persona>

Page 13: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Piazzola di sosta 1

Page 14: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

La struttura dei documenti

Page 15: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

XML si autodocumenta

• Confronto con:Julia:Roberts:[email protected]

• Contiene le stesse informazioni, ma in generale e’ necessario conoscere la struttura del record per comprendere l’informazione

Page 16: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Testo in chiaro

• I formati proprietari dei dati cambiano continuamente

• I dati del censimento USA scritti a mano del 1860 sono piu’ accessibili dei dati del 1960 su schede perfomate

• Il testo in chiaro non dipende da uno specifico programma per la sua creazione e modifica

Page 17: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Document Type Definitions

(DTDs)• Descrivono gli elementi validi e

che tipo di contenuto possono avere

• Descrivono gli attributi validi e i valori di default

• autodocumentazione

Page 18: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Esempio

<!DOCTYPE db[<!ELEMENT db (persona*)><!ELEMENT persona (nome, cognome,

email)><!ELEMENT nome (#PCDATA)><!ELEMENT cognome (#PCDATA)><!ELEMENT email (#PCDATA)>]>

Page 19: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Struttura del documento

• Elementi semplici: Le stringhe di caratteri sono indicate come #PCDATA (Parsed Character Data)

• Elementi composti• Elementi vuoti: definiti con parola

chiave EMPTY

Page 20: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Definizione di elementi composti

• Persona* è una espressione regolare chevuol dire un qualsiasi numero dipersone• Altre espressioni regolari sono:– e+ una o più occorrenze– e? zero o uno– e1|e2 alternativa– e1,e2 concatenazione

Page 21: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Attributi

Doc XML

<prodotto>

<nome linguaggio=“Italiano”

categoria=“pelletteria”>

Borsa Fendi

</nome>

<prezzo valuta=“euro”>

350

</prezzo>

</prodotto>

E’ possibile fare una dichiarazione degliattributi associati a un elemento

DTD (solo definizione attributi)

<!Attlist nomelinguaggio CDATA #REQUIREDcategoria CDATA #IMPLIED>

<!Attlist prezzovaluta CDATA #IMPLIED>

Page 22: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Definizione attributi

#REQUIRED= obbligatorio#IMPLIED= opzionaleTipo CDATA= stringhe

• Nota: non ho modo di esprimere tipi interi, date,

valuta nei DTD...è tutto genericamente CDATA

Page 23: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Definizione attributi

ID, IDREF, IDREFS: • il tipo ID indica che l’attributo è un

identificatore; • il tipo IDREF indica che il valore

dell’attributo è un identicatore di un altro elemento;

• Il tipo IDREFS indica che il valore dell’attributo è una lista di identificatori separati da spazi

Page 24: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Esempio DTD

<!DOCTYPE family<!ELEMENT family (person*)><!ELEMENT person (name)><!ELEMENT name (#PCDATA)><!ATTLIST personId ID #REQUIREDmother IDREF #IMPLIEDfather IDREF #IMPLIEDchildren IDREFS #IMPLIED>>

Page 25: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Esempio dati in documento XML

<family><person id=”jane” mother=”mary” father=”john”><name> Jane Doe </name></person><person id=”john” children=”jane jack”><name> John Doe </name></person><person id=”mary” children=”jane jack”><name> Mary Smith </name></person><person id=”jack” mother=”mary” father=”john”><name> Jack Smith </name>/person></family>

Page 26: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Piazzola di sosta

Page 27: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Applicazioni utilizzando XML

Page 28: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Memorizzazione DTD

Alternative:– riferimento a file– semplici DTD inseriti direttamente nel

documento– repositories

Page 29: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Applicazioni

Diverse visualizzazioni per le stesse informazioni– Le informazioni rappresentate da un documento XMLpossono essere rappresentate in forme diverse con diversidocumenti XSL

Integrazione dati– Dati provenienti da più sorgenti possono essere mappati sudocumenti XML che ne descrivono lo schema e integrati inun unico documento

Integrazione di componenti– Componenti basati su tecnologie diverse possonocomunicare tra loro attraverso formati di scambio definiti

tramiteXML

Page 30: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Applicazioni

• XML/EDI (electronic business transactions between companies)

• Workflow Management• Definizione di documenti informatici• Wrapping Legacy Systems• XHTML: ridefinizione di HTML in XML

Page 31: XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.

Riepilogo

• Separare contenuto e presentazione

• Struttura di un documento

• Definizione della struttura

• Applicazioni