XML e la biblioteca digitale © Fabio Ciotti – CRILet, Università di Roma “La Sapienza”, Università di Pavia La biblioteca digitale Definiamo biblioteca digitale un sistema informativo accessibile on-line caratterizzato da una collezione di documenti digitali dotata di una organizzazione interna un apparato di metadati descrittivi e amministrativi associati a tali documenti un insieme di strumenti e servizi di gestione, ricerca e disseminazione dei documenti (e dei metadati) XML XML - Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno dei più potenti e versatili sistemi per la creazione, archiviazione, preservazione e disseminazione di documenti digitali… … ma la sua sintassi rigorosa e al contempo flessibile ne rende possibile l’applicazione anche nella rappresentazione di dati strutturati, fornendo una soluzione alternativa ai tradizionali sistemi DBMS relazionali XML: le origini XML è stato sviluppato dal World Wide Web Consortium (http://www.w3.org) Le specifiche sono state rilasciate come W3C Recommendation nel 1998 e aggiornate nel 2000 XML deriva da SGML, un linguaggio di mark-up dichiarativo sviluppato dalla International Standardization Organization (ISO), e pubblicato ufficialmente nel 1986 con la sigla ISO 8879 XML nasce come un sottoinsieme semplificato di SGML orientato alla utilizzazione su World Wide Web… … ma ha assunto ormai un ruolo autonomo e una diffusione ben maggiore del suo progenitore XML e biblioteche digitali XML fornisce soluzioni ottimali per risolvere i nodi fondamentali nella progettazione di un sistema di biblioteca digitale: Codifica digitale e preservazione dei documenti testuali (e non solo…) creazione e gestione dei metadati progettazione di servizi avanzati per gli utenti La codifica digitale del testo La codifica del testo è la rappresentazione del testo su supporto digitale in un formato “leggibile” da un elaboratore Tale rappresentazione si basa su un determinato linguaggio informatico, detto linguaggio di codifica implica una definizione strutturale del concetto di testo I linguaggi di codifica Un linguaggio di codifica del testo è un formalismo o linguaggio informatico mediante il quale è possibile rappresentare un documento testuale su supporto digitale in modo che sia trattabile dall’elaboratore in quanto testo Un linguaggio di codifica testuale permette di creare dati di tipo testuale La codifica dei caratteri I formalismi più elementari per la codifica informatica dell’informazione testuale sono i sistemi di codifica dei caratteri In generale, ogni documento elettronico è costituito da un flusso (o stringa) di caratteri Il carattere dunque è l’unità atomica per la rappresentazione l’organizzazione ed il controllo di dati testuali sull’elaboratore La codifica dei caratteri Come qualsiasi altro tipo di dati, anche i caratteri vengono rappresentati all’interno di un elaboratore mediante una codifica numerica binaria A B C I principali Coded Character ASCII / ISO 646 IRV / US ASCII ISO 8859 (il più utilizzato è ISO 8859-1 o ISO Latin 1) ISO/IEC 10646-2:2001: Universal Character Set - Unicode 3.2 (http://www.unicode.org) I linguaggi di codifica La codifica dei caratteri non esaurisce i problemi di rappresentazione delle caratteristiche di un testo Un testo è un oggetto complesso caratterizzato da molteplici livelli strutturali che non si limitano alla sequenza di simboli del sistema di scrittura (simboli alfabetici, numerici, ortografici, diacritici) I linguaggi di mark-up Si parla propriamente di linguaggio di codifica testuale solo in riferimento ai linguaggi che consentono la rappresentazione o il controllo di uno o più livelli strutturali di un documento testuale Tali linguaggi vengono correntemente denominati mark-up language XML: caratteristiche XML è un metalinguaggio, che permette di definire sintatticamente linguaggi di mark-up Un linguaggio XML permette di esplicitare la (le) struttura(e) di un documento in modo formale mediante marcatori (mark-up) che vanno inclusi all’interno del testo (character data) XML: caratteristiche XML adotta un formato di file di tipo testuale: sia il mark-up sia il testo sono stringhe di caratteri XML si basa sul sistema di codifica dei caratteri ISO 10646/UNICODE Un documento XML è “leggibile” da un utente umano senza la mediazione di software specifico XML: caratteristiche XML è indipendente dal tipo di piattaforma hardware e software su cui viene utilizzato XML permette la rappresentazione di qualsiasi tipo di documento (e di struttura testuale) indipendentemente dalle finalità applicative 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 XML: caratteristiche On-line WWW File XML <Title> Titolo </title> <p>Paragarafo .. Carta CD-ROM <p>Paragrafo DBMS NATIVI O RELAZIONALI DOCUMENT MANAGEMENT SYSTEMS XML: caratteristiche XML può essere usato per la rappresentazione di dati strutturati (archivi, tabelle, matrici) in alternativa ai formati di database tradizionali XML può essere usato come formato di scambio dati in applicazioni middleware XML: caratteristiche XML è uno standard di pubblico dominio ogni software “conforme XML” è in grado di gestire dati in formato XML sono disponibili numerose applicazioni e librerie open source per la manipolazione di dati in formato XML basate su diversi linguaggi di programmazione (Java, C, Python, Perl…) una applicazione in grado di elaborare dati in formato XML viene definita elaboratore XML XML: principi fondamentali XML adotta un paradigma di codifica dichiarativo e descrittivo XML è un metalinguaggio XML descrive un documento come una struttura ad albero XML introduce il concetto di “tipo di documento” e di “sintassi del documento” Il concetto di metalinguaggio XML è un metalinguaggio XML definisce un insieme regole (meta)sintattiche, attraverso le quali è descrivere formalmente un linguaggio di markup, detto “applicazione XML” ogni applicazione XML eredita un insieme di caratteristiche sintattiche comuni ogni applicazione XML a sua volta definisce una sintassi formale particolare ogni applicazione XML è dotata di una semantica specificata in modo non formale Il concetto di tipo di documento La definizione di una applicazione XML si basa su un determinato tipo di documento Un tipo di documento descrive le caratteristiche di una classe di documenti strutturalmente omogenei Il tipo di documento è il fondamento della sintassi e della semantica di una applicazione XML Il concetto di tipo di documento Un tipo di documento descrive la struttura della classe di documenti cui si riferisce come un albero ordinato di componenti testuali o elementi Un tipo di documento è caratterizzato da un insieme di elementi strutturali le relazioni di dipendenza tra gli elementi le relazioni di ricorrenza degli elementi La struttura gerarchica ordinata testo corpo ? ? frontespizio introduzione ? + appendice capitolo + titolo titolo autore PCDATA + ? paragrafo titolo * enfasi + titolo paragrafo paragrafo * citazione PCDATA enfasi + citazione Come si crea un documento XML Un documento XML contiene il mark-up che rappresenta linearmente la struttura gerarchica degli elementi, i loro eventuali attributi, e i caratteri del testo L’inserimento di mark-up e caratteri deve rispettare i vincoli di buona formazione indicati nelle specifiche XML Un documento valido deve rispettare anche i vincoli sintattici definiti nella DTD La forma di un documento XML Nel documento ogni elemento non vuoto (contenente cioè altri elementi o caratteri) deve essere marcato da un tag iniziale e da un tag finale Ogni tag è costituito da caratteri delimitatori e dal nome dell'elemento La forma di un documento XML <text> <div1> <p>Subito, con le prime parole che le rivolse, volle avvisarla che non intendeva compromettersi in una relazione <u>troppo seria…</u></p> <p><u>La sua</u> famiglia? Una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui…</p> … </div1> </text> Applicazioni XML rilevanti DocBook : DTD per la creazione di manualistica tecnica curata dal consorzio OASIS XHTML 1.0: DTD per la creazione di documenti Web realizzato dal W3 Consortium Text Encoding Initiative: DTD per la creazione di testi su supporto digitale in ambito umanistico sviluppata dal TEI consortium Encoded Archival Description: DTD per la descrizione di materiali archivistici realizzato dalla Library of Congress Standard correlati a XML XML adotta due linguaggi appositamente sviluppati per la specificazione di strutture ipertestuali complesse: XML Linking Specification (XLink) specifica come costruire elementi e attributi di collegamento XML Extended Pointer Specification (XPointer) specifica i sistemi di indirizzamento delle destinazioni di un link Standard correlati a XML La presentazione di un documento XML viene controllata da uno o più fogli di stile I linguaggi di stile utilizzabili con XML sono Extensible Stylesheet Language (XSL) XPath: selezione e individuazione di nodi XSLT: trasformazione tra alberi XSL-FO: formattazione di pagina Cascading Style Sheet (CSS) I metadati Con il termine metadati si indica l'insieme di dati e informazioni che descrivono una risorsa o un documento digitale I metadati si dividono in tre classi: metadati descrittivi metadati gestionali o amministrativi metadati strutturali I metadati descrittivi Descrizione bibliografica della risorsa elettronica Descrizione di risorse correlate: ad esempio della fonte cartacea di un documento elettronico prodotto mediante digitalizzazione di materiale preesistente I metadati amministrativi Metadati tecnici: documentazione degli aspetti tecnici relativi ai formati di digitalizzazione Metadati di preservazione: documentazione storica delle procedure e delle tecnologie adottate nella digitalizzazione e nella manutenzione del documento digitale Metadati di gestione dei diritti: documentazione relativa alla proprietà intellettuale, ai diritti di accesso e alle loro eventuali variazioni I metadati strutturali Descrizione della struttura logica del contenuto di una risorsa digitale Descrizione della struttura fisica di una risorsa digitale (elenco dei file che la compongono, diverse versioni e manifestazioni etc.) Descrizioni dei rapporti tra struttura logica e struttura fisica Le mille sigle dell’universo metadati DC (Dublin Core) METS MODS TextMD MIX MARCXML … METS Metadata Encoding and Transmission Standard Uno schema XML per la creazione di documenti di raccordo tra i vari componenti di una risorsa digitale e i metadati che li descrivono e per descrivere le relazioni strutturali che intercorrono tra tali componenti e la struttura logica del loro contenuto Una implementazione XML del framework concettuale OAIS (Open Archival Information System ) per sistemi di archiviazione progettati preservare e mantenere accessibili risorse digitali a lungo termine Funzioni di METS Sintassi di interscambio Standard per la trasmissione/scambio di risorse digitali Submission Information Package (Open Archival Information Systems Reference Model) Sintassi di accesso Sistema per fornire agli utenti la capacità di accedere e consultare il contenuto digitale e metadati a esso associati Dissemination Information Package Sintassi di archiviazione Stabndard per archiviare a lungo termine risorse digitali Archival Information Package METS 1. Identifica i file o le parti di file che compongono il contenuto di una risorse digitale ed esprime la struttura o le strutture di questo contenuto 2. Collega I metadati descrittivi con il contenuto digitale 3. Collega I metadati amministrativi con il contenuto digitale 4. Collega definizioni di comportamento con il contenuto digitale e con i metadati a esso associati 5. Impacchetta il contenuto digitale e i metadati a esso associati come dati in formato binario Metadati descrittivi in METS METS non fornisce un vocabolario e una sintassi autonome per codificare metadati amministrativi METS fornisce un modo per puntare a metadati amministrativi esterni e/o per includere metadati descrittivi in formato XML all’interno del documento METS METS fornisce un sistema per collegare questi metadati al contenuto di una risorsa digitale Metadati aministrativi in METS METS non fornisce un vocabolario e una sintassi autonome per codificare metadati descrittivi METS fornisce un modo per puntare a metadati descrittivi esterni e/o per includere metadati descrittivi in formato XML all’interno del documento METS METS fornisce un sistema per collegare questi metadati al contenuto di una risorsa digitale Struttura di un documento METS Una istanza METS consiste di 6 sezioni 1. 2. 3. 4. 5. 6. Header Descriptive Metadata Section Administrative Metadata Section File Section Structural Map Section Behavior section METS extenders Metadati descrittivi MODS (Metadata Object Description Schema) Dublin Core (DCMIES in XML) MARCXML MARC 21 Schema … Metadati amministrativi textMD (Schema for Technical Metadata for Text) MIX (NISO Technical Metadata for Digital Still Images) … Fonti e risorse di rete OAIS: http://www.rlg.org/longterm/oais.html METS: http://www.loc.gov/standards/mets MIX: http://www.loc.gov/standards/mix/ Dublin Core: http://dublincore.org/ MODS: http://www.loc.gov/standards/mods/