+ All Categories
Home > Documents > Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re...

Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re...

Date post: 01-May-2015
Category:
Upload: giovanna-bini
View: 217 times
Download: 2 times
Share this document with a friend
55
Introduzione a XML Introduzione a XML UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07
Transcript
Page 1: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XMLIntroduzione a XML

UNIVERSITA’ DI CAMERINOCorso di laurea in Informatica

Barbara [email protected]

Anno Accademico 2006-07

Page 2: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 2

Agenda

La storia Vantaggi e svantaggi Caratteristiche Elementi Namespace Quando scegliere XML EDI

Page 3: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 3

La genesi - IBM, Fine anni ‘60

Incarico a Charles F. Goldfarb di costruire un sistema per la memorizzazione, la ricerca, la gestione e la pubblicazione di documenti legali

Goldfarb scoprì che molti sistemi, in IBM, non potevano comunicare tra loro

I formati dei file nelle diverse applicazioni sono proprietari

...e diversi tra loro!!!

Page 4: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 4

C. Goldfaarb, E. Mosher, R. Lorie

Costituito un team per risolvere il problema 3 fatti importanti

I diversi programmi avevano bisogno di supportare una rappresentazione comune dei documentiIl linguaggio comune doveva essere specifico per i documenti legaliIl linguaggio doveva essere specificato in una maniera formale, capace di delimitare in modo appropriato gli elementi

La risposta è stato GML (Generalized Markup Language), precursore di SGML (Standard GML), il linguaggio da cui deriva XML

Page 5: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 5

Perché non SGML?

SGML ha molti pregi, ma ha dalla sua una complessità d’uso e di comprensione notevole Non è pensato per la rete XML contiene tutte le caratteristiche di SGML che servono per creare applicazioni generali

... senza scendere nel livello di dettaglio e pedanteria richiesti da SGML

Inoltre, il successo di HTML ha fatto capire cheIl mondo degli sviluppatori è pronto ad accogliere il modello basato sul markupLa semplicità è un punto di forza fondamentale

Page 6: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 6

XML: le origini

XML è stato sviluppato dal World Wide Web

XML deriva da SGML, pubblicato ufficialmente nel 1986 con la sigla ISO 8879

XML nasce come un sottoinsieme semplificato di SGML orientato all’uso sul World Wide Web …

… ma ha assunto ormai un ruolo autonomo e una diffusione maggiore del suo progenitore

Page 7: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 7

Il caso HTML

XML non è un sostituto di HTML

HTML nasce per la pubblicazione di semplici documenti testuali con qualche immagine e collegamento ipertestuale

Vengono implementate nel tempo molte estensioni proprietarie che creano barriere all’interoperatività degli strumenti

I browser (parser) rilassano le regole sintattiche ed interpretano anche documenti HTML “scorretti”

HTML è per presentare informazioni, XML è per descrivere informazioni.

Page 8: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 8

Vantaggi

XML permette agli sviluppatori di creare facilmente strutture ad-hoc per contenere informazione strutturata

I parser XML sono diffusi su tutte le piattaforme e free Gli sviluppatori possono appoggiarsi a questi per decodificare e validare le strutture XML, limitandosi poi a gestire solo l'informazione contenuta usando API specifiche (DOM, SAX)

XML è completamente text-based, quindi leggibile anche dagli esseri umani e facilmente editabile anche a mano

Supporta UNICODE, quindi è adatto a ogni tipo di scrittura. Essendo dati testuali strutturati esattamente come

HTML, i dati XML possono essere trasportati usando il protocollo HTTP anche attraverso firewall (SOAP)

Page 9: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 9

Svantaggi

I documenti XML, a causa delle struttura testuale e dei tag, tendono ad essere molto più ingombranti di quelli in formato binario, quindi la loro trasmissione sulla rete non è ottimale

I parser XML non sono veloci come quelli scritti ad-hoc per formati specifici, soprattutto se binari

Page 10: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 10

XML: caratteristiche

XML è indipendente dal tipo di piattaforma hardware e software su cui viene utilizzato

XML è uno standard di pubblico dominio

XML è indipendente dai dispositivi di archiviazione e visualizzazione

un documento XML può essere archiviato su qualsiasi tipo di supporto digitale (attuale e… futuro!)un documento XML può essere visualizzato su qualsiasi dispositivo di output

Page 11: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 11

XML: caratteristiche

XML può essere usato come formato di scambio dati in applicazioni middleware

XML permette la rappresentazione di qualsiasi tipo di documento (e di struttura testuale) indipendentemente dalle finalità applicative

Sono disponibili numerose applicazioni e librerie open source per la manipolazione di dati in formato XML basate su diversi linguaggi di programmazione (Java, .NET, C, Python, Perl…)

Page 12: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 12

Il concetto di metalinguaggio

XML è un metalinguaggio

XML definisce un insieme regole (meta) sintattiche, attraverso le quali è possibile descrivere formalmente un linguaggio di markup, detto applicazione XML

Gli autori di un documento possono creare i loro elementi di markup (tag)

Page 13: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 13

Dato che XML è un metalinguaggio per specificare altri linguaggi, costituisce un “livello comune” per il dialogo in ambienti differenti

XML non dice nulla su che tag utilizzare, ma fissa solo delle regole comuni per eseguire correttamente il parsing del file

E’ possibile usare XML per gli scopi più disparati, a seconda delle operazioni che verranno eseguite dalla specifica applicazione di fronte al markup utilizzato

Regole XML

Tag specifici

Appl.

xmlparser

Dati (file XML)

Il concetto di metalinguaggio

Page 14: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 14

File di un’applicazione XML

Il file con estensione XML contiene i dati del documenti

Rappresenta la parte semantica dell’applicazione

La DTD (Document Type Definition) o schemaDefinisce la struttura degli elementi, degli attributi e dei dati e le loro relazioni logiche all’interno del documento XMLLa presenza di un DTD non è obbligatoria ma determina la well formed

Page 15: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 15

Regole

Un documento XML è definito come una sequenza di caratteri organizzati in costrutti chiamati entità

L’entità che racchiude il documento si chiama radice

1. Il nome di un elemento XML deve iniziare con una lettere o un carattere di sottolineatura I caratteri successivi possono essere numeri trattini punti o altri caratteri

di sottolineatura Non c’è limite al numero di caratteri per elemento

2. E’ ammesso specificare i due punti solo per specificare i namespace3. Gli spazi vuoti e i simboli non sono ammessi nei nomi degli elementi4. Gli elementi non vuoti devono avere un tag iniziale ed uno finale5. XML supporta gli elementi vuoti6. I tag XML devono essere annidati correttamente

Se un documento rispetta queste regole sintattiche si dice well-formed

Page 16: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 16

Il primo documento XML

<?xml version="1.0"?>

<proverbio>

<primo> Un viaggio di mille miglia inizia con un passo.</primo>

</proverbio>

Page 17: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 17

XML linguaggio case-sensitive

XML è un linguaggio case sansitive

Le dichiarazioni e il markup devono essere scritti con caratteri maiuscoli e minuscoli corrispondenti

Il nome XML o anche xml è riservato quindi non si può creare un elemento/attributo che inizi con XML o xml

Page 18: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 18

Documento che descriva il Kraski Teran

<?xml version="1.0"?><wine><name>Kraski Teran</name><country> Slovenia</country><location> Sepulje</location><history> Some oenologists believe that Kraski Teran goes back to Roman times.</history><color>dark ruby-red wine - traditionally, it is called,<span> "black as rabbit's blood</span>"</color><perfect>Kraski Teran and prsut (prosciutto or air-dried ham) are the legendary pair of Kras cuisine, but the wine is also perfect with other pork dishes, sausages, or boiled ham with horseradish</perfect><served>Kraski Teran should be served at 15 - 16 _C (59 - 60.8 _F)</served></wine>

Page 19: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 19

Attributi e sottoelementi

Gli attributi forniscono informazioni aggiuntive su di un elemento

Gli attributi sono formati da un nome ed un valore Il valore dell’attributo deve essere racchiuso tra

virgolette (doppie o semplici)

Trasformare il documento traslando gli attributi in elementi

<wine location="Primorska Slovenia" winemaker="Kraski Teran"></wine><wine location="Monterey California winemaker="Morgan Pinot Noir Monterey"></wine><wine location="Paso Robles California" winemaker"Seven Peaks Shiraz"></wine>

Page 20: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 20

Risoluzione

Non esiste un metodo chiaro per stabilire quando preferire gli attributi ai sottoelementi

<wine><location>Slovenia</location><winemaker>Kraski Teran</winemaker></wine><wine><location>Monterey California</location><winemaker>Morgan Pinot Noir Monterey</winemaker>

</wine><wine><location>Paso Robles California</location><winemaker>Seven Peaks Shiraz</winemaker></wine>

Page 21: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 21

Commenti

I commenti aiutano a capire il processo del codice I commenti non possono essere annidati all’interno

di altri tag e non possono essere inseriti prima della dichiarazione XML

Evitare di esagerare … l’importante è essere chiari e concisi

<?xml version="1.0"?><!-- Comment. --><a>a</a>

<!--flight schedule application--><?xml version="1.0"?>

legale illegale

Page 22: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 22

Caratteri speciali

&amp; & &lt; < &gt; > &quot; " &apos; ‘

<testo> il simbolo &lt; indica minore di</testo>

Page 23: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 23

Si consideri il caso in cui un blocco di testo illustri proprio delcodice XML

<codice> <libro> <capitolo> </capitolo> </libro></codice>

In questo caso, al posto di sostituire tutte le occorrenze dei simboli speciali con le corrispondenti entità è possibile utilizzare una sezione CDATA.

CDATA in un documento XML

Page 24: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 24

Una sezione CDATA (Character DATA) è un blocco di testo cheviene considerato sempre come testo, anche se contiene codiceXML o altri caratteri speciali

Per indicare una sezione CDATA è sufficiente racchiuderla tra lesequenze di caratteri <![CDATA[ e ]]>.

<codice> <![CDATA[ <libro> <capitolo> </capitolo> </libro> ]]></codice>

CDATA in un documento XML

Page 25: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 25

Il prologo

La dichiarazione XML è obbligatoria e deve essere posta all’immediato inizio del documento

Gli attributi sonoversion: (obbligatorio) la versione di XML usata encoding: (opzionale) nome della codifica dei caratteri usata nel documento

default: UTF-8 o 16

standalone: (opzionale) se vale yes indica che il file non fa riferimento ad altri file esterni

default: no

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

Page 26: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 26

Esercizio 1

<?xml version=_1.0_?><!-- Address Book/><addressbook><persons><name>Tech Cafe</name><adress>2500 Lawrence Expressway</adress></city>Sunnyvale</city><@state>CA<\@state><County>US</Country><zip>94087</ZIP></person><ADDRESSBOOK>

Correggere gli errori

Page 27: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 27

Soluzione Esercizio 1

Page 28: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 28

Esercizio 2

<!-- Ship Manifest --><?xml version="1.0" ><fleet><ship>Hood<ship><Country>UK</country><type>Destroyer<\type><19 year of production>1934</19 year of production></fleat>

Correggere gli errori

Page 29: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 29

Soluzione: Esercizio 2

Page 30: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 30

Namespace

Page 31: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 31

Mischiare i tag

Sistema di elaborazione semplice: il documento viene elaborato da una sola applicazione (esempio il viewer)

Sistema complesso: parti diverse del documento vengono elaborate da applicazioni diverse

<html>…

</html>

ParserXML viewer

<html><book/></html>

ParserXML

viewer

Bookagent

Page 32: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 32

Mischiare i tag

Cosa accade se due applicazioni definiscono lo stesso elemento?

<?xml version=“1.0”?><table><tr> <td>nome</td> <td>cognome</td></tr><tr> <td>Mario</td> <td>Bianchi</td></tr><tr> <td>Luca</td> <td>Rossi</td></tr></table>

<?xml version=“1.0”?><table><name>Comodino001</name><price curr=“EU”>100</price><width u=“cm”>50</width><length u=”cm”>80</length></table>

<?xml version=“1.0”?><table><tr><td>ordine</td><td>prodotto</td></tr><tr><td>1</td><td> <table> <name>Comodino</name> <price>100</price> <width um=“cm”>50</width> <length um=”cm”>80</length> </table></td></tr></table>

<table> viene riconosciutodal viewer HTML o dalgestore dell’arredo?

Page 33: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 33

I namespace

Ogni nome di elemento (tag) XML è preceduto da un prefisso che lo rende univoco (tag qualificato)

La struttura del tag è: prefisso:nometag

<?xml version=“1.0”?><h:table>

<h:tr><h:td>ordine</h:td><h:td>prodotto</h:td></h:tr><h:tr><h:td>1</h:td><h:td>

<fur:table><fur:name>Comodino</fur:name><fur:price>100</fur:price><fur:width u=“cm”>50</fur:width><fur:length u=”cm”>80</fur:length>

</fur:table></h:td></h:tr>

</h:table>

Page 34: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 34

I namespace

Ma non bastaIl prefisso potrebbe ripetersiDocumenti diversi potrebbero identificare lo stesso namespace “logico” con identificativi differentiImporre l’unicità porterebbe a ns lunghissimi ed a codici illeggibili

I prefissi usati vengono introdotti tramite l’attributo predefinito xmlns

Quello che conta è l’URI univoco associato al prefisso

<h:table xmlns:h=“http://www.w3.org/HTML/1998/html4/”> <pippo:table xmlns:pippo=“http://www.w3.org/HTML/1998/html4”>

<?xml version=“1.0”?><h:table xmlns:h=“http://www.w3.org/HTML/1998/html4/”

xmlns:fur=“http://www.elet.polimi.it/furniture/”></h:table>

<?xml version=“1.0”?><http://www.w3.org/HTML/1998/html4/table></http://www.w3.org/HTML/1998/html4/table>

Page 35: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 35

Namespace di default

Quando l’argomento di un XML è prevalentemente riferito ad un namespace è possibile definirlo come default e sottointendere la qualificazione

<?xml version=“1.0”?><table xmlns=“http://www.w3.org/HTML/1998/html4/” xmlns:fur=“http://www.elet.polimi.it/furniture/”>

<tr><td>ordine</td><td>prodotto</td></tr><tr><td>1</td><td>

<fur:table><fur:name>Comodino</fur:name><fur:price>100</fur:price><fur:width u=“cm”>50</fur:width><fur:length u=”cm”>80</fur:length>

</fur:table></td></tr>

</table>

Page 36: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 36

Scope dei prefissi

I prefissi possono essere definiti all’interno di ogni tag di inizio o vuoto.

L’associazione tra prefisso e NS dura per tutto l’elemento Se un prefisso viene ridefinito in un sottoelemento valgono

le solite regole di visibilità (il blocco interno nasconde quello esterno)

<?xml version=“1.0”?><table xmlns=“http://www.w3.org/HTML/1998/html4/”>

<tr><td>ordine</td><td>prodotto</td></tr><tr><td>1</td><td>

<table xmlns=“http://www.elet.polimi.it/furniture/”><name>Comodino</name><price>100</price><width u=“cm”>50</width><length u=”cm”>80</length>

</table></td></tr>

</table>

Page 37: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 37

Attributi

Anche gli attributi, essendo legati alla particolare applicazione, possono essere qualificati con un prefisso

Il namespace contiene tre partizioni di nomi:Element Type Partition: contiene i nomi degli elementi del namespaceGlobal Attribute Partition: nomi degli attributi qualificatiPer-Element Partition: nomi non qualificati degli attributi locali ad un elemento

<fur:table fur:xmlns=“http://www.elet.polimi.it/furniture”><fur:name>Comodino</fur:name><fur:price>100</fur:price><fur:width fur:u=“cm”>50</fur:width><fur:length fur:u=”cm”>80</fur:length>

</fur:table>

<fur:width fur:u=“cm”>50</fur:width><fur:width u=“cm”>50</fur:width>

Page 38: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 38

Struttura gerarchica di un documento

Gli elementi, nidificandosi, creano la struttura ad albero tipica dei documenti XML

All’interno di questa struttura si definiscono alcuni “rapporti di parentela” utili per individuare gli elementi

•a è il nodo radice

•b e c sono figli di a, il testo è figlio di b, d è figlio di c

•c è il padre di d, b è il padre del testo, a è il padre di b e c

•b e c sono fratelli

•b, c, d e il testo sono discendenti di a, d è un discendente di c, il testo è un discendente di b

•a è un predecessore di b, c, d e del testo, b è un predecessore del testo, c è un predecessore di d.

Page 39: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 39

Per fissare le idee prendiamo in considerazione larappresentazione di un generico articolo a caratteretecnico e proviamo a rappresentarlo secondo il modelloXML, come mostrato in figura

articolo

testo

paragrafoparagrafo

testo

immagine

paragrafo

codice

testo

titolo

titolo

titolotitolo

file

Sintassi di un documento XML

Page 40: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 40

<?xml version="1.0" ?><articolo titolo="Titolo dell’articolo"> <paragrafo titolo="Titolo del primo paragrafo"> <testo> Blocco di testo del primo paragrafo </testo> <immagine file="immagine1.jpg"> </immagine> </paragrafo> <paragrafo titolo="Titolo del secondo paragrafo"> <testo> Blocco di testo del secondo paragrafo </testo> <codice> Esempio di codice </codice> <testo> Altro blocco di testo </testo> </paragrafo> <paragrafo tipo="bibliografia"> <testo> Riferimento ad un articolo </testo> </paragrafo></articolo>

Documento XML

Page 41: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 41

Parser validanti e non validanti

Page 42: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 42

Quando scegliere XML?

Quali sono le condizioni per adottare XML in un progetto?

E’ nuovo ed è di moda ...ma ciò è banale!Alcune buone e vere ragioni per l’uso di XML:

Produzione di documenti automaticiGestione indipendente di produzione e uso di datiElaborazione di dati con aspetti strutturali complessi

Page 43: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 43

Produzione di documenti automaticiXML è la soluzione in assoluto più elegante (anche se ad oggi ancora faticosa) per integrare collezioni di dati strutturati sul WebDocumenti dinamici, sono facilmente esprimibili in XML, e gli strumenti attuali si concentrano su questo

Quando scegliere XML?

Page 44: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 44

Gestione indipendente di produzione ed uso di datiSpesso l’interscambio di dati avviene all’interno di un workflow controllato e noto. In questo caso, data producers e data consumers sono creati ad hoc per lo specifico flusso informativo. XML è una complicazione inutileTuttavia esistono delle situazioni in cui non c’è progettazione integrata di producer e consumer. In questo caso, un’adeguata progettazione del producer facilita molto il lavoro di tutti i possibili consumerXML è strutturato, auto-esplicativo, enfatizza la descrizione del dato più che del suo scopo nella elaborazione. E’ quindi ideale per le situazioni in cui l’elaborazione non è nota in anticipo.

Quando scegliere XML?

Page 45: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 45

Elaborazione di dati con aspetti strutturali complessiI database utilizzano le relazioni per ogni tipo di esigenzaComplicato gestire, in una tabella, record con un numero variabile di campi, o situazioni alternative complesseXML prevede strutture con blocchi ripetuti, alternativi, facoltativi. La descrizione di queste strutture in XML è molto più naturale che con DB relazionali

Quando scegliere XML?

Page 46: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 46

XML ed EDI

Cosa è l’Electronic Data Interchange Il vecchio EDI Il nuovo EDI: XML e Internet

Page 47: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 47

XML ed EDI

EDI è lo scambio tra computer di informazioni strutturate, che aderiscono a standard di messaggi, con il minimo intervento umano

Comprende:Un set di regole sintattiche per strutturare i dati Un protocollo per lo scambio interattivo Messaggi standard

Le organizzazioni che inviano o ricevono documenti sono chiamate in terminologia EDI "trading partners"

Page 48: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 48

XML ed EDI

Negli ultimi 40 anni le aziende hanno investito migliaia di miliardi (di $!) nell’automazione dei loro processi interni

Gli investimenti hanno portato ad un notevole miglioramento dell’efficienza

Questa efficienza non è ancora stata estesa ai processi esterni

Le aziende hanno creato isole di automazione, isolate dai loro partner - clienti, fornitori, etc.Le interazioni esterne sono inefficienti perché spesso basate su processi manuali

Page 49: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 49

Cosa è EDI… e cosa non è!

EDI è stata proposta come la soluzione ai problemi di integrazione fra processi di aziende diverse

EDI è interazione effettiva tra i sistemi EDI, dentro una grande corporation, è interazione

tra i processi delle diverse divisioni Cosa non è EDI

EDI non è import/export di dati fra sistemiEDI non sono i batch serali …

Page 50: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 50

Il vecchio EDI

Formati diversi per ciascuna applicazione

Il codice applicativo non ha una vista univoca

Nuovi attori hanno impatti devastanti

Page 51: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 51

Il vecchio EDI

Può soltanto condividere elementi definiti in precedenza

I nuovi bisogni non possono essere facilmente soddisfatti

Page 52: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 52

Il vecchio EDI

Ci sono notevoli differenze tra quanto promesso e le attuali implementazioni di EDI, fondamentalmente errate

Difficili e costose da implementare Richiedono soluzioni specifiche per ogni coppia di

partnerE’ come se fosse necessario disporre di una linea telefonica dedicata per ogni persona con la quale si comunicaInternet è la soluzione?

...XML può esserlo

Page 53: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 53

XML può essere la soluzione

XML è una notazione universale che consente ai sistemi di memorizzare e trasferire dati che possono essere compresi da qualunque altro sistema

Mantiene il contenuto e la strutturaSepara le business rule dai dati

Page 54: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 54

XML può essere la soluzione

Formati diversi per ciascuna applicazione

XML fornisce una singola vista logica

L’architettura flessibile supporta nuovi componenti

Page 55: Introduzione a XML UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07.

Introduzione a XML Barbara Re 55

Ci sono domande?


Recommended