Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e...

27
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici

Transcript of Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e...

Page 1: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Roma, 16 giugno 2005

AZALEAUn sistema di conoscenza in

oncologiaa disposizione di pazienti e

cittadiniGli aspetti informatici

Page 2: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

AZALEA: punti cardineAZALEA: punti cardine

Integrazione delle risorseIntegrazione delle risorse Diverse chiavi di accesso al sistemaDiverse chiavi di accesso al sistema Valutazione di qualitàValutazione di qualità Applicazione di standardApplicazione di standard

Page 3: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

AZALEA: integrazione AZALEA: integrazione risorserisorse

Documenti a stampaDocumenti a stampa Documenti in formato elettronico full-Documenti in formato elettronico full-

texttext Siti webSiti web Pagine webPagine web AssociazioniAssociazioni Protocolli cliniciProtocolli clinici

Page 4: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

AZALEA: chiavi di AZALEA: chiavi di accessoaccesso

Ricerca libera testualeRicerca libera testuale Navigazione per soggetti, sui risultatiNavigazione per soggetti, sui risultati Selezione tramite figura “corpo umano”Selezione tramite figura “corpo umano” Selezione tramite soggettiSelezione tramite soggetti

Page 5: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Alcuni standard/tecnologie utilizzate in Alcuni standard/tecnologie utilizzate in AZALEAAZALEA

XML (XML (http://www.w3.org/XML/http://www.w3.org/XML/)) DublinCore (DublinCore (http://dublincore.org/http://dublincore.org/)) Open Archives Initiative Open Archives Initiative

(http://www.openarchives.org/)(http://www.openarchives.org/) FRBR (http://www.ifla.org/VII/s13/frbr/frbr.pdf)FRBR (http://www.ifla.org/VII/s13/frbr/frbr.pdf) ISBD ISBD

(http://www.ifla.org/VII/s13/pubs/isbd.htm)(http://www.ifla.org/VII/s13/pubs/isbd.htm) MESH MESH (http://www.nlm.nih.gov/mesh/meshhome.html)(http://www.nlm.nih.gov/mesh/meshhome.html) CDS/Isis CDS/Isis

(http://www.unesco.org/webworld/isis/isis.htm)(http://www.unesco.org/webworld/isis/isis.htm)

Page 6: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

e, finalmente …e, finalmente …

consigli per i naviganti!consigli per i naviganti!

http://www.azaleaweb.ithttp://www.azaleaweb.it

Page 7: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Introduzione a Xml: Introduzione a Xml: cos’è?cos’è?

Xml: eXtensible Markup LanguageXml: eXtensible Markup Language Linguaggio di markup: permette di Linguaggio di markup: permette di

evidenziare il contenuto di un documento, evidenziare il contenuto di un documento, all’interno di marcatori descrittivi, che ne all’interno di marcatori descrittivi, che ne definiscono gli attributi, ad es. linguaggio definiscono gli attributi, ad es. linguaggio html.html.

Estensibilità: in realtà Xml è un Estensibilità: in realtà Xml è un metalinguaggio di markup, cioè viene metalinguaggio di markup, cioè viene utilizzato per creare linguaggi di markup utilizzato per creare linguaggi di markup personalizzati.personalizzati.

NON è un linguaggio di programmazione.NON è un linguaggio di programmazione.Non esistono documenti scritti in XML, ma documenti scritti in un linguaggio di markup basato su XML

Non esistono documenti scritti in XML, ma documenti scritti in un linguaggio di markup basato su XML

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 8: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Alcune caratteristiche di Alcune caratteristiche di XMLXML

Permette di organizzare a proprio piacimento le Permette di organizzare a proprio piacimento le informazioni, consentendo di inviarle a chiunque informazioni, consentendo di inviarle a chiunque in modo libero e gratuito.in modo libero e gratuito.

Standard aperto, no royalty, no brevetti, no Standard aperto, no royalty, no brevetti, no copyright o segreti industriali.copyright o segreti industriali.

Salvataggio dei dati: se avete dei file in un formato Salvataggio dei dati: se avete dei file in un formato proprietario quale Visicalc, Lotus Jazz, magari su proprietario quale Visicalc, Lotus Jazz, magari su floppy da 5”floppy da 5”¼, la possibilità di recuperarli è ¼, la possibilità di recuperarli è piuttosto bassa.piuttosto bassa. Il formato di solo testo resiste Il formato di solo testo resiste abbastanza bene alle alterazioni magnetiche.abbastanza bene alle alterazioni magnetiche.

Permette di condividere sul Web documenti con Permette di condividere sul Web documenti con strutture anche molto complicate che contengono strutture anche molto complicate che contengono dati particolarmente complessi.dati particolarmente complessi.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 9: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Alcune caratteristiche di Alcune caratteristiche di XMLXML

L’importanza di uno standard di L’importanza di uno standard di comunicazione tra applicazioni, per comunicazione tra applicazioni, per evitare che i dati possano essere letti e evitare che i dati possano essere letti e “capiti” solo da pochissimi programmi.“capiti” solo da pochissimi programmi.

La gran parte dei flussi di informazioni La gran parte dei flussi di informazioni viaggia attraverso sistemi proprietari viaggia attraverso sistemi proprietari e costosi, ad es. Oracle, SQL, DB2.e costosi, ad es. Oracle, SQL, DB2.

Ciò che invece, possiamo ottenere con Ciò che invece, possiamo ottenere con XML è questo:XML è questo:

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 10: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XMLXML

Documento Documento

XMLXML

Cellulare

Dispositivo Palmare

PC Linux, Unix, MAC

CD-Rom

Documento di Microsoft Word

Documento Adobe Acrobat

Grafico di Microsoft Excel

Documento HTML

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 11: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Le “breve storia” non manca Le “breve storia” non manca mai…mai…

Creato dal W3C si veda http://www.w3.org/XML, la Creato dal W3C si veda http://www.w3.org/XML, la prima edizione della specifica XML 1.0 risale al prima edizione della specifica XML 1.0 risale al febbraio 1998, la seconda edizione è di ottobre febbraio 1998, la seconda edizione è di ottobre 2000, mentre ad oggi è in fase “candiate 2000, mentre ad oggi è in fase “candiate recommendation” la versione 1.1 di XML.recommendation” la versione 1.1 di XML.

XML, deriva da SGML, che è un linguaggio di XML, deriva da SGML, che è un linguaggio di markup molto potente ma molto complicato.markup molto potente ma molto complicato.

Anche HTML deriva da SGML, semplificandolo Anche HTML deriva da SGML, semplificandolo all’estremo, ma l’html nella sua semplicità si all’estremo, ma l’html nella sua semplicità si limita a formattare i dati.limita a formattare i dati.

XML nasce dall’idea di creare un linguaggio XML nasce dall’idea di creare un linguaggio che unisca potenza di SGML e semplicità di che unisca potenza di SGML e semplicità di HTML.HTML.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 12: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Alcuni punti chiave Alcuni punti chiave considerati nella considerati nella

progettazione dal W3C.progettazione dal W3C. Supporto di una vastissima gamma di Supporto di una vastissima gamma di

applicazioni (non solo Web).applicazioni (non solo Web). I documenti XML devono rimanere leggibili I documenti XML devono rimanere leggibili

da parte dell’uomo, e ragionevolmente da parte dell’uomo, e ragionevolmente chiari.chiari.

Minimizzare le caratteristiche opzionali.Minimizzare le caratteristiche opzionali. Facile da redarre, ossia creabile anche con Facile da redarre, ossia creabile anche con

semplici editor di testo.semplici editor di testo. Formale e conciso: piccoli insiemi di regole Formale e conciso: piccoli insiemi di regole

ma assolutamente precise.ma assolutamente precise.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 13: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Regole di sintassi e Regole di sintassi e strutturazionestrutturazione

Quando un documento XML rispetta le regole strutturali Quando un documento XML rispetta le regole strutturali definite dal W3C, si dice che è un documento “definite dal W3C, si dice che è un documento “ben formato”.ben formato”. Gli interpreti XML rifiutano e ignorano i documenti mal Gli interpreti XML rifiutano e ignorano i documenti mal formati. Ciò invece non accade in Html.formati. Ciò invece non accade in Html.

Tutti i documenti XML devono avere una tag radice.Tutti i documenti XML devono avere una tag radice. Tutti i tag devono necessariamente essere chiusi.Tutti i tag devono necessariamente essere chiusi. L’ annidamento dei tag deve rispettare la gerarchia di L’ annidamento dei tag deve rispettare la gerarchia di

apertura. apertura. <tag1><tag1><tag2><tag2>GetafixGetafix</tag1></tag1></tag2></tag2> NON e’ NON e’ consentito in XML (in Html si!)consentito in XML (in Html si!)

Il valore degli attributi DEVE sempre essere racchiuso tra Il valore degli attributi DEVE sempre essere racchiuso tra virgolette.virgolette.

I nomi degli elementi e degli attributi devono iniziare con una I nomi degli elementi e degli attributi devono iniziare con una lettera, un underscore _ o un segno di due punti (:), poi lettera, un underscore _ o un segno di due punti (:), poi possono seguire un numero qualsiasi di lettere, numeri, due possono seguire un numero qualsiasi di lettere, numeri, due punti, punti singoli, trattini e underscore. Attenzione perché punti, punti singoli, trattini e underscore. Attenzione perché XML è “case sensitive”.XML è “case sensitive”.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 14: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Dtd: Document Type Dtd: Document Type DefinitionDefinition

Poiché abbiamo detto che XML ci permette di creare Poiché abbiamo detto che XML ci permette di creare linguaggi di markup personalizzati, dobbiamo anche linguaggi di markup personalizzati, dobbiamo anche definire un dizionario per la leggibilità del definire un dizionario per la leggibilità del documento. DTD è uno dei modi per farlo.documento. DTD è uno dei modi per farlo.

E’ un documento di testo che definisce tutte le parti E’ un documento di testo che definisce tutte le parti di un documento XML: elementi, attributi, elenchi, di un documento XML: elementi, attributi, elenchi, entità, proprietà e relazioni.entità, proprietà e relazioni.

Le DTD possono far parte del documento XML stesso, Le DTD possono far parte del documento XML stesso, oppure essere esterne, cioè trovarsi in un file oppure essere esterne, cioè trovarsi in un file separato.separato.

E’ preferibile utilizzare DTD esterne, perché possono E’ preferibile utilizzare DTD esterne, perché possono essere riutilizzate e soprattutto condivise.essere riutilizzate e soprattutto condivise.

Chiamata ad una DTD esterna:Chiamata ad una DTD esterna:<!DOCTYPE elemento_radice SYSTEM “nome_dtd”><!DOCTYPE elemento_radice SYSTEM “nome_dtd”>

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

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 15: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Dtd: Document Type Dtd: Document Type DefinitionDefinition

Nella maggior parte dei casi si utilizzano DTD Nella maggior parte dei casi si utilizzano DTD pubbliche, ossia dtd già create e messe a disposizione pubbliche, ossia dtd già create e messe a disposizione da qualcuno. da qualcuno.

Chiamata ad una DTD esterna pubblica:Chiamata ad una DTD esterna pubblica:

<!DOCTYPE elemento_radice PUBLIC nomeDTD <!DOCTYPE elemento_radice PUBLIC nomeDTD “url”>“url”>

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.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 16: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Dtd: definizione degli Dtd: definizione degli elementielementi

La parola chiave piu’ importante all’interno di una DTD è La parola chiave piu’ importante all’interno di una DTD è “ELEMENT”, essa ci permette di definire gli elementi (tag) “ELEMENT”, essa ci permette di definire gli elementi (tag) del nostro linguaggio di markup.del nostro linguaggio di markup.

<!ELEMENT media (#PCDATA)>. Questa istruzione della <!ELEMENT media (#PCDATA)>. Questa istruzione della DTD definisce l’elemento “media” e determina il tipo di testo DTD definisce l’elemento “media” e determina il tipo di testo che puo’ contenere (#PCDATA significa che puo’ contenere che puo’ contenere (#PCDATA significa che puo’ contenere lettere, numeri o qualsiasi altra cosa che non siano altri tag).lettere, numeri o qualsiasi altra cosa che non siano altri tag).

L’annidamento degli elementi avviene invece in questo L’annidamento degli elementi avviene invece in questo modo:modo:

<!ELEMENT Media (Books)><!ELEMENT Media (Books)> <!ELEMENT Books (Book)><!ELEMENT Books (Book)> <!ELEMENT Book (Title,Author)><!ELEMENT Book (Title,Author)> <!ELEMENT Title (#PCDATA)><!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)><!ELEMENT Author (#PCDATA)>

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

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 17: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Dtd: definizione degli Dtd: definizione degli attributiattributi

La definizione degli attributi avviene in questo modo:La definizione degli attributi avviene in questo modo:

<!ATTLIST nomeElemento nomeAttributo type <!ATTLIST nomeElemento nomeAttributo type default>default>

Type indica il tipo di attributo, può essere:Type indica il tipo di attributo, può essere:

CDATACDATA = qualunque cosa sia digitabile da tastiera= qualunque cosa sia digitabile da tastiera Enumerazione = un insieme di possibili valori dell’attributoEnumerazione = un insieme di possibili valori dell’attributo IDID = valore univoco all’interno del documento xml= valore univoco all’interno del documento xml IDREFIDREF = si riferisce al codice contenuto in ID= si riferisce al codice contenuto in ID NMTOKEN = specifica che il valore dell’attributo segue le NMTOKEN = specifica che il valore dell’attributo segue le

regole regole dei nomi XML dei nomi XML ENTITYENTITY = permette di includere come attributo oggetti = permette di includere come attributo oggetti

esterniesterni

Default permette di inserire un valore predefinito, oppure può essere:- #REQUIRED (obbligatorio)- #IMPLIED (facoltativo)- #FIXED (fisso)

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 18: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

Dtd: entità e notazioniDtd: entità e notazioni

Le entità servono per contenere dati: può Le entità servono per contenere dati: può trattarsi di testo, immagini o qualunque altra trattarsi di testo, immagini o qualunque altra forma di dati binari non testuali.forma di dati binari non testuali.

L’esempio più semplice:L’esempio più semplice: <!ENTITY azalea “Azalea, biblioteca digitale in oncologia per pazienti, <!ENTITY azalea “Azalea, biblioteca digitale in oncologia per pazienti, familiari, cittadini.”>familiari, cittadini.”>Nel documento XML si richiama così:Nel documento XML si richiama così: <desc>&azalea;</desc><desc>&azalea;</desc>

L’esempio “meno” semplice, entità non L’esempio “meno” semplice, entità non interpretata esternainterpretata esterna<!NOTATION gif SYSTEM “image/gif”><!NOTATION gif SYSTEM “image/gif”><!ENTITY foto SYSTEM “immagine.gif” NDATA gif”<!ENTITY foto SYSTEM “immagine.gif” NDATA gif”

A questo punto per includere l’entità nel documento XML è necessario A questo punto per includere l’entità nel documento XML è necessario utilizzare il tipo diutilizzare il tipo diattributo ENTITY:attributo ENTITY:<!ATTLIST utente fotografia ENTITITY #REQUIRED”<!ATTLIST utente fotografia ENTITITY #REQUIRED”

Il documento XML avrà quindi una riga di questo genere:Il documento XML avrà quindi una riga di questo genere:<utente fotografia=“foto” </utente><utente fotografia=“foto” </utente>

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 19: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML SCHEMAXML SCHEMA

XML Schema è un linguaggio creato dal W3C, per ovviare ad alcune XML Schema è un linguaggio creato dal W3C, per ovviare ad alcune limitazioni delle DTD.limitazioni delle DTD.

E’ quindi un modo alternativo per definire la struttura dei documenti E’ quindi un modo alternativo per definire la struttura dei documenti XML. Gli schemi di XML Schema sono scritti in XML, ma vengono letti XML. Gli schemi di XML Schema sono scritti in XML, ma vengono letti dagli interpreti in modo diverso dai semplici documenti XML, grazie al dagli interpreti in modo diverso dai semplici documenti XML, grazie al meccanismo dei cosiddetti namespace (spazi dei nomi).meccanismo dei cosiddetti namespace (spazi dei nomi).

In XML è possibile raggruppare assieme elementi come <tag1>, <tag2>, In XML è possibile raggruppare assieme elementi come <tag1>, <tag2>, <tagN> associandoli ad un nome univoco ad es. Azalea. A questo punto <tagN> associandoli ad un nome univoco ad es. Azalea. A questo punto per referenziare il tag1 del gruppo Azalea si utilizza la notazione per referenziare il tag1 del gruppo Azalea si utilizza la notazione <Azalea:tag1>. Si dice che gli elementi del gruppo Azalea sono <Azalea:tag1>. Si dice che gli elementi del gruppo Azalea sono appartenenti al namespace Azalea.appartenenti al namespace Azalea.

I namespace risultano molto utili quando si vogliono utilizzare elementi I namespace risultano molto utili quando si vogliono utilizzare elementi provenienti da documenti XML diversi e che quindi potrebbero avere lo provenienti da documenti XML diversi e che quindi potrebbero avere lo stesso nome.stesso nome.

I namespace permettono di trattare gli elementi in essi contenuti, in I namespace permettono di trattare gli elementi in essi contenuti, in modo diverso rispetto a quelli che non lo sono. modo diverso rispetto a quelli che non lo sono. XML Schema non è XML Schema non è altro che un namespacealtro che un namespace i cui elementi sono trattati in modo i cui elementi sono trattati in modo particolare.particolare.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 20: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

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: namespaceXML SCHEMA: namespace

Sintassi per la creazione di un namespace:Sintassi per la creazione di un namespace:

<tag1 xmlns:Azalea=“http://www.azalea.it/namespace/Azalea”><tag1 xmlns:Azalea=“http://www.azalea.it/namespace/Azalea”>

Con questa dichiarazione, l’elemento tag1 e tutti gli elementi in esso contenuti diventano parte del namespace.

<tag1 xmlns:Azalea=“http://www.azalea.it/namespace/Azalea”><tag2>alfa</tag2><tag3>beta</tag3>

</tag1>

E’ possibile ora riferirsi ai tag1-3 con la notazioneAzalea: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

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 21: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML Schema: chiamataXML Schema: chiamata

Per collegare un documento XML ad uno schema XML, si utilizza Per collegare un documento XML ad uno schema XML, si utilizza una notazione differente rispetto a DOCTYPE che si usava con le una notazione differente rispetto a DOCTYPE che si usava con le DTD.DTD.

Il collegamento viene fatto utilizzando l’elemento radice del Il collegamento viene fatto utilizzando l’elemento radice del documento XML, in questo modo:documento XML, in questo modo:

<?xml version=“1.0”?><?xml version=“1.0”?>

<Azalea<Azalea

xmlns:xsi=“http://www.w3.org/2000/10/XMLSchema-instance” xmlns:xsi=“http://www.w3.org/2000/10/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“listatoXmlSchema.xsd”>xsi:noNamespaceSchemaLocation=“listatoXmlSchema.xsd”>

</Azalea></Azalea> Il file listatoXmlSchema.xsd conterrà qualcosa del tipo:Il file listatoXmlSchema.xsd conterrà qualcosa del tipo:

<?xml version=“1.0”?><?xml version=“1.0”?>

<xsd:schema<xsd:schema

xmlns:xsd= “http://www.w3.org/2000/10/XMLSchema”>xmlns:xsd= “http://www.w3.org/2000/10/XMLSchema”><xsd:element name=“book” type=“xsd:string” /><xsd:element name=“book” type=“xsd:string” /></xsd:schema></xsd:schema>

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

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 22: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Alcune definizioni in Open Archives:Alcune definizioni in Open Archives:

OAI-PMH: Open Archives Initiative OAI-PMH: Open Archives Initiative Protocol for Metadata Harvesting.Protocol for Metadata Harvesting.

Harvester: applicazione client che esegue Harvester: applicazione client che esegue una richiesta OAI-PMH, finalizzata alla una richiesta OAI-PMH, finalizzata alla raccolta di metadati (service provider).raccolta di metadati (service provider).

Repository: server in grado di soddisfare Repository: server in grado di soddisfare le diverse tipologie di richieste OAI-PMH, le diverse tipologie di richieste OAI-PMH, provenienti dagli harvester (data provenienti dagli harvester (data provider).provider).

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 23: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Resource: oggetto identificato Resource: oggetto identificato dall’insieme dei metadata che vi si dall’insieme dei metadata che vi si riferiscono, e che sono contenuti nel riferiscono, e che sono contenuti nel repository.repository.

Item: l’insieme dei metadata che si Item: l’insieme dei metadata che si riferiscono ad una Resource.riferiscono ad una Resource.

Record: sottoinsieme di metadata Record: sottoinsieme di metadata estratto da Item, e rappresentato in uno estratto da Item, e rappresentato in uno specifico formato.specifico formato.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 24: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Una richiesta OAI-PMH, viene inoltrata utilizzando il Una richiesta OAI-PMH, viene inoltrata utilizzando il protocollo http con i metodi Get o Post, quest’ultimo ha il protocollo http con i metodi Get o Post, quest’ultimo ha il vantaggio di non porre limiti alla lunghezza degli vantaggio di non porre limiti alla lunghezza degli argomenti.argomenti.

Per tutte le richieste al repository esiste un’unica base-url, Per tutte le richieste al repository esiste un’unica base-url, che specifica l’internet host, la porta e opzionalmente una che specifica l’internet host, la porta e opzionalmente una path.path.

In aggiunta alla base-url, tutte le richieste contengono uno In aggiunta alla base-url, tutte le richieste contengono uno o più argomenti separati da & che prendono la forma o più argomenti separati da & che prendono la forma key=value. Key è il testo ‘verb’, mentre value è una delle key=value. Key è il testo ‘verb’, mentre value è una delle sei richieste a cui il repository deve essere in grado di sei richieste a cui il repository deve essere in grado di rispondere. Ad es.rispondere. Ad es.

http://an.oa.org/OAI-script?http://an.oa.org/OAI-script?    verb=GetRecordverb=GetRecord&&identifier=oai:arXiv.org:hep-th/9901001identifier=oai:arXiv.org:hep-th/9901001&&memetadataPrefix=oai_dctadataPrefix=oai_dc

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 25: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Tipologie di richieste che il repository-server deve essere in grado Tipologie di richieste che il repository-server deve essere in grado di soddisfare:di soddisfare:

GetRecord: utilizzato per recuperare il singolo record, richiede GetRecord: utilizzato per recuperare il singolo record, richiede come argomenti obbligatori, l’identificatore di item e di metadata.come argomenti obbligatori, l’identificatore di item e di metadata.

Identify: restituisce informazioni sul repository server, ad es. il Identify: restituisce informazioni sul repository server, ad es. il repositoryName, baseURL, protocolVersion etc. Non richiede repositoryName, baseURL, protocolVersion etc. Non richiede argomenti.argomenti.

ListRecords: restituisce un gruppo di record, da-a o selezionati in ListRecords: restituisce un gruppo di record, da-a o selezionati in base ai criteri definiti in set, ossia costrutti che permettono il base ai criteri definiti in set, ossia costrutti che permettono il raggruppamento degli item.raggruppamento degli item.

ListIdentifiers: uguale a ListRecords, ma restituisce solo ListIdentifiers: uguale a ListRecords, ma restituisce solo l’intestazione, (identifier, datestamp, setspec).l’intestazione, (identifier, datestamp, setspec).

ListMetadataFormats: restituisce i formati di metadata disponibile.ListMetadataFormats: restituisce i formati di metadata disponibile.

ListSets: restituisce i set definiti nel repository. Utile per ListSets: restituisce i set definiti nel repository. Utile per l’estrazione selettiva dei record.l’estrazione selettiva dei record.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 26: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Per definizione tutte le risposte alle richieste OAI-PMH Per definizione tutte le risposte alle richieste OAI-PMH DEVONODEVONO essere documenti XML ben-formati. essere documenti XML ben-formati.

<?xml version="1.0" encoding="UTF-8" ?><?xml version="1.0" encoding="UTF-8" ?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/         xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/         http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">         http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> <responseDate>2002-05-01T19:20:30Z</responseDate> <responseDate>2002-05-01T19:20:30Z</responseDate> <request verb="GetRecord" identifier="oai:arXiv.org:hep-th/9901001" <request verb="GetRecord" identifier="oai:arXiv.org:hep-th/9901001"                    metadataPrefix="oai_dc">http://an.oa.org/OAI-script</request> metadataPrefix="oai_dc">http://an.oa.org/OAI-script</request>  <GetRecord> <GetRecord>   <record>...</record>   <record>...</record> </GetRecord>  </GetRecord> </OAI-PMH></OAI-PMH>

La prima riga definisce il documento come xml, il contenuto La prima riga definisce il documento come xml, il contenuto rimanente è incluso nell’elemento radice di nome OAI-PMH, il rimanente è incluso nell’elemento radice di nome OAI-PMH, il quale presenta tre attributi che definiscono il namespace.quale presenta tre attributi che definiscono il namespace.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML
Page 27: Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.

XML e OPEN ARCHIVESXML e OPEN ARCHIVES

Per tutte le risposte i primi due figli dell’elemento root Per tutte le risposte i primi due figli dell’elemento root <OAI-PMH> sono:<OAI-PMH> sono:

responseDate: la data e l’ora in formato UTC relativa responseDate: la data e l’ora in formato UTC relativa all’invio della risposta.all’invio della risposta.

request: la stringa di richiesta di cui è stata fornita la request: la stringa di richiesta di cui è stata fornita la risposta.risposta.

Il terzo elemento figlio dell’elemento root ha lo stesso nome Il terzo elemento figlio dell’elemento root ha lo stesso nome dell’attributo verb della stringa di richiesta, nell’esempio dell’attributo verb della stringa di richiesta, nell’esempio precedente precedente <GetRecord><GetRecord>..

Seguono poi i metadati nel formato richiesto, nell’esempio Seguono poi i metadati nel formato richiesto, nell’esempio precedente, il formato richiesto era Dublin Core precedente, il formato richiesto era Dublin Core <<metadataPrefix="oai_dc">, metadataPrefix="oai_dc">, che è anche l’unico formato che che è anche l’unico formato che obbligatoriamente ogni item all’interno del repository deve obbligatoriamente ogni item all’interno del repository deve supportare. supportare.

Ricci
NON ESISTONO DOCUMENTI SCRITTI IN XML MA DOCUMENTI SCRITTI IN UN LINGUAGGIO DI MARKUP BASATO SU XML