Primo modulo parte II XML e dintorni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Primo modulo parte II XML e dintorni"

Transcript

1 I linguaggi del Web XML e dintorni 1 Fin qui, abbiamo parlato di Web 2.0. Ma poniamoci adesso una domanda che per utenti ormai esperti come voi dovrebbe risultare apparentemente banale: come funziona il Web (sia il Web 2.0 che l 1.0)? Ebbene, il primo dato da tener presente è che per funzionare World Wide Web si basa su due elementi fondamentali: i protocolli ossia l insieme di regole e convenzioni che regolano lo scambio di informazioni fra un server web (ad esempio il server che ospita il sito del master) e un client web (ad esempio il vostro programma di navigazione, sia esso Firefox, Internet Explorer, Safari o altro) e i linguaggi di codifica o marcatura, utilizzati per codificare i documenti che su Web vengono immessi e distribuiti. I protocolli ovviamente dipendono in parte dai linguaggi di marcatura (il protocollo HTTP 2 ad esempio deve saper riconoscere un link all interno di una pagina web, e il formato per inserire un link all interno di una pagina web è specificato dal linguaggio HTML), così come molti linguaggi di marcatura diventano effettivamente utili nel momento in cui esistono computer collegati in rete, capaci di interpretarli e scambiarsi informazioni utilizzando protocolli efficienti. Anche se il web, come abbiamo visto, è ormai ricchissimo di informazione multimediale, alla sua base restano le pagine web, che sono in prima istanza documenti testuali (scritti appunto utilizzando il linguaggio HTML), al cui interno possono essere richiamati file grafici (immagini fisse o animate), file audio, video, e in taluni casi moduli software. Nel Web 1.0, comunque, struttura, contenuti e aspetto di una pagina Web visualizzata da un dato user agent (un altro nome per il programma di navigazione) sono definiti interamente nel documento testuale che ne costituisce l oggetto principale. Tale meccanismo, come si è accennato, si basa in primo luogo su uno speciale linguaggio di rappresentazione dei documenti in formato elettronico, appartenente alla classe dei markup language (linguaggi di marcatura), denominato HyperText Markup Language (HTML). La formalizzazione di HTML, effettuata da uno dei gruppi di lavoro del W3C, è oggi completamente stabilizzata e tutti i browser disponibili sono in grado di interpretarne la sintassi e di rappresentare opportunamente i documenti in base ad essa codificati. 1 All interno di questa dispensa sono utilizzati, con numerose modifiche, aggiornamenti e integrazioni, alcuni passi tratti dalle pp di M. Calvo, F. Ciotti, G., M.A. Zela, Internet 2004, Laterza La prima stesura delle pagine in questione era opera di Fabio Ciotti. 2 HyperText Transfer Protocol, ovvero protocollo per il trasferimento di informazione ipertestuale. È il protocollo alla base del World Wide Web. 1

2 Tuttavia, per ovviare ai numerosi limiti di HTML, lo stesso W3C ha sviluppato un (meta)linguaggio più potente e versatile per la creazione di documenti da distribuire su Web (ma utilizzabile, come vedremo, anche per altri scopi), denominato Extensible Markup Language (XML). Accanto a questo nuovo linguaggio sono stati formalizzati o sono in via di formalizzazione una serie di altri linguaggi che complessivamente trasformeranno l intera architettura del Web, aumentandone capacità e versatilità. Nei prossimi paragrafi cercheremo di fornirvi alcune nozioni di base sui principi e sulla natura di tutti questi linguaggi del Web, soffermandoci in particolare proprio su XML, che per molti versi è il più importante di tutti. La rappresentazione elettronica dei documenti: i linguaggi di markup L informatica mette a disposizioni diverse classi di formalismi per rappresentare dei documenti testuali su supporto elettronico. I più elementari sono i sistemi di codifica dei caratteri. Essi rappresentano il grado zero della rappresentazione di un testo su supporto digitale, e sono alla base di tutti i sistemi più sofisticati: in linea generale ogni documento digitale è costituito da un flusso di caratteri (o stringa). Il carattere è l unità atomica per la rappresentazione, l organizzazione e il controllo di dati testuali sull elaboratore. Come qualsiasi altro tipo di dati, anche i caratteri vengono rappresentati all interno di un elaboratore mediante una codifica numerica binaria. Per la precisione, prima si stabilisce una associazione biunivoca tra gli elementi di una collezione di simboli (character repertoire) e un insieme di codici numerici (code set). L insieme risultante viene denominato tecnicamente coded character set. Per ciascun coded character set, poi, si definisce una codifica dei caratteri (character encoding) basata su un algoritmo che mappa una o più sequenze di 8 bit (ottetto) al numero intero che rappresenta un dato carattere in un coded character set. Come molti di voi sapranno, esistono diversi coded character set alcuni dei quali sono stati definiti da enti di standardizzazione nazionali e internazionali (ISO e ANSI in primo luogo) che si differenziano per il numero di cifre binarie che utilizzano, e dunque per il numero di caratteri che possono codificare. Tra questi uno dei primi, e per lungo tempo il più diffuso, è stato il cosiddetto codice ASCII (American Standard Code for Information Interchange), la cui versione internazionale si chiama ISO 646 IRV. Esso utilizza solo 7 bit e di conseguenza contiene 128 caratteri, tra cui i simboli alfabetici dall alfabeto anglosassone e alcuni simboli di punteggiatura. La diffusione dei computer ha naturalmente determinato l esigenza di rappresentare i caratteri di altri alfabeti. Sono stati così sviluppati molteplici code set che utilizzano un intero ottetto (e dunque sono dotati di 256 posizioni) e che hanno di volta in volta accolto i simboli dei vari alfabeti latini. Tra di essi ricordiamo la famiglia ISO 8859, nel cui ambito particolarmente diffuso è il code set ISO , meglio conosciuto come ISO Latin 1. Esso 2

3 contiene i caratteri principali delle lingue occidentali con alfabeti latini, ed è usato da molte applicazioni su Internet e da molti sistemi operativi. Negli anni 90 sono state avviate due iniziative parallele per sistemare in modo definitivo (si spera) il problema della rappresentazione dei caratteri: la prima gestita dal consorzio Unicode (una organizzazione no-profit in cui convergono numerosi produttori di sistemi informatici), e la seconda dall ISO. Da queste iniziative sono nati Unicode e ISO 10646/UCS, due coded character set che sono per fortuna perfettamente allineati (le differenze riguardano solo aspetti tecnici) e che, con qualche ragione, hanno la presunzione di definirsi universali. In effetti si tratta di sistemi di codifica dei caratteri che possono adottare diverse character ecoding basate su un numero variabile di bit: la codifica UTF-8 (la più diffusa attualmente), ad esempio, usa da uno a quattro ottetti a seconda dei sottoinsiemi di caratteri, mentre quella UTF-32/UCS4 (in un certo senso la codifica naturale per Unicode) usa sempre 32 bit. In realtà la questione di che cosa si intenda per carattere in Unicode e ISO e di come essi vengano effettivamente rappresentati nella memoria del computer è piuttosto complessa: per chi è interessato (e paziente) rimandiamo alla documentazione disponibile sul sito di Unicode ( Qui ci limiteremo a dire che il numero massimo teorico di caratteri che si possono codificare con questi standard è di oltre un milione e che, attualmente, sono stati codificati oltre 95 mila caratteri, tra cui si annoverano tutte le lingue occidentali, arabe e africane, e buona parte di quelle orientali. Anche se Unicode non viene ancora utilizzato da tutti i sistemi operativi e software esistenti, la sua adozione si avvia ormai ad essere quasi universale (lo adottano già ad esempio le ultime versioni di Windows, MacOS, Linux). La codifica dei caratteri, naturalmente, non esaurisce i problemi della rappresentazione elettronica di un documento. Se prendiamo un qualsiasi testo a stampa, già una semplice analisi ci permette di evidenziare una serie di fenomeni che vanno oltre la semplice successione dei caratteri: la segmentazione del testo in macrounità (paragrafi, capitoli, sezioni ), la presenza di titoli e sottotitoli, le enfasi (grassetti, corsivi ), etc. Per rappresentare su supporto informatico tutte le caratteristiche grafiche e strutturali di un documento, pertanto, vanno adottati formalismi più complessi. Tra questi vi sono i cosiddetti markup language, i linguaggi di marcatura. L espressione markup deriva dalla analogia tra questi linguaggi e le annotazioni inserite da autori, curatori editoriali e correttori nei manoscritti e nella bozze di stampa di un testo al fine di indicare correzioni e trattamenti editoriali, chiamate in inglese mark up. In modo simile, i linguaggi di marcatura sono costituiti da un insieme di istruzioni, dette tag (marcatori), che servono a descrivere la struttura, la composizione e l impaginazione del documento. I marcatori sono sequenze di normali caratteri e vengono introdotti, secondo 3

4 una determinata sintassi, all interno del documento, accanto alla porzione di testo cui si riferiscono. Nel corso degli anni si sono delineate due diverse modalità di utilizzare e considerare il mark-up, che consentono di suddividere i linguaggi di markup in due tipologie: linguaggi di markup procedurali; linguaggi di markup dichiarativi o descrittivi. I linguaggi del primo tipo (i cui testimoni più illustri sono lo Script, il TROFF, il TEX) sono costituiti da insiemi di istruzioni operative che indicano la struttura tipografica della pagina (il lay-out), le spaziature, l interlineatura, i caratteri usati. Questi linguaggi sono detti procedurali in quanto istruiscono un dato programma circa le procedure di trattamento cui deve sottoporre la sequenza di caratteri nel momento dell elaborazione (in gran parte dei casi la stampa o la visualizzazione su schermo). Nei linguaggi dichiarativi, invece, i marcatori sono utilizzati per assegnare ogni porzione di testo a una certa classe di caratteristiche testuali (ad esempio, si dichiara che una certa porzione di testo è un paragrafo); essi permettono di descrivere la struttura astratta di un testo e le funzioni logiche dei suoi componenti. In questo modo il mark-up viene reso indipendente da ogni particolare applicazione ed elaborazione del documento. Il concetto di mark-up dichiarativo (insieme a numerosi altri concetti di estremo rilievo per potenziare l elaborazione automatica di documenti testuali) è stato introdotto per la prima volta con lo sviluppo dello Standard Generalized Markup Language (SGML). Per la precisione, più che un linguaggio, lo SGML è un metalinguaggio. Esso prescrive precise regole sintattiche per definire un insieme di marcatori e le loro reciproche relazioni, ma non dice nulla per quanto riguarda la loro tipologia, quantità e nomenclatura. Questa astrazione costituisce il nucleo e la potenza dello SGML: in sostanza, SGML serve non già a marcare direttamente documenti, ma a costruire, rispettando standard comuni e rigorosi, specifici linguaggi di marcatura adatti per le varie esigenze particolari. Un linguaggio di marcatura che rispetti le specifiche SGML viene definito applicazione SGML (SGML application). Ideato da Charles Goldfarb negli anni 70, SGML è divenuto nel 1986 lo standard ufficiale ISO per la creazione e l interscambio di documenti elettronici, ed è stato adottato da numerose grandi istituzioni e aziende ma anche dalla comunità dei ricercatori interessati alle applicazioni informatiche nel settore umanistico e letterario per la gestione di grandi basi dati documentali 3. Ma il successo maggiore di questa tecnologia è stato senza 3 Il testo ufficiale dello standard ISO, commentato dallo stesso inventore del linguaggio, è nel fondamentale C.F. Goldfarb, The SGML Handbook, Oxford University Press, Oxford Manuali 4

5 dubbio il fatto di avere influenzato in modo diverso la definizione dei due linguaggi di riferimento per la creazione di documenti Web: l HyperText Markup Language (HTML) prima e l Extensible markup language (XML) poi. E come spesso accade, i figli hanno soppiantato i padri: XML ha infatti sostituito SGML per quasi tutti gli scopi. Prima di vedere un po più da vicino le caratteristiche di questi linguaggi, è però bene che sia del tutto chiara la differenza fra un linguaggio di marcatura e un metalinguaggio di marcatura. Molti di voi sapranno che, ad esempio, per spiegare al browser che una data porzione di pagina web è in corsivo si usa il marcatore <EM>, uno dei marcatori di HTML 4. Per l esattezza, la porzione di testo da visualizzare in corsivo viene inserita fra il marcatore <EM> e il marcatore </EM> (la barra / indica la chiusura del marcatore). In questo caso, HTML (che è un linguaggio e non un metalinguaggio) ci offre un marcatore precostituito, da utilizzare per una particolare funzione (enfatizzare una porzione di testo). Un linguaggio di marcatura offre dunque un insieme di marcatori precostituiti, corrispondente a un particolare insieme di funzioni. Un metalinguaggio di marcatura come SGML o XML, al contrario, ci permette di definire i nostri marcatori. Così, ad esempio, se vogliamo indicare attraverso un marcatore che una determinata parte di un testo corrisponde a un test di autovalutazione, non potremo farlo usando HTML: HTML, infatti, non ci offre un marcatore precostituito per marcare la caratteristica test di autovalutazione. In XML, invece, potremo definire un nostro marcatore (ad esempio un marcatore <TEST>) che abbia proprio questo scopo. XML insomma (così come SGML prima di lui) ci offre regole per definire un insieme di marcatori e il loro comportamento. Se questa differenza è chiara, passiamo dunque a dire qualcosa (poco ) di più sia su HTML sia su XML. introduttivi di buon livello sono: E. van Herwijnen, Practical SGML, Kluwer Academic Publishers, Boston-Dordrecht-London 1994, II ed.; M. Bryan, SGML: An Author s Guide to the Standard Generalized Markup Language, Addison-Wesley, Wokingham-Reading-New York <EM> è in realtà un marcatore logico, non fisico: formalmente, non ci dice che una porzione di testo va resa in corsivo ma piuttosto che va enfatizzata. La maggior parte dei browser lo interpreta rendendo quella porzione di testo in corsivo, ma un browser vocale potrebbe, ad esempio, rendere il marcatore <EM> usando una particolare inflessione della voce. L uso di marcatori logici ha dunque un maggiore grado di universalità e flessibilità. HTML riconosce anche un marcatore fisico <I> (italico), che normalmente ha lo stesso effetto di <EM> ma che, proprio per il fatto di riferirsi all aspetto fisico del documento più che alla sua struttura logica, è meno universale ed è dunque da evitare. 5

6 HyperText Markup Language (HTML) HyperText Markup Language (HTML) è il linguaggio attualmente più utilizzato per dare forma ai miliardi di documenti che popolano World Wide Web. Si tratta di un linguaggio di markup inizialmente definito mediante la sintassi SGML (questo significa che per specificare quali marcatori costituiscono HTML e come questi marcatori si comportano, è stata inizialmente usata la sintassi SGML 5 ) e orientato alla descrizione di documenti testuali, con alcune estensioni per il trattamento di dati multimediali e soprattutto di collegamenti ipertestuali. Lo sviluppo di HTML è stato assai complesso e, soprattutto in una certa fase, piuttosto disordinato. Nella sua prima versione ufficiale, il linguaggio era estremamente semplice, e non prevedeva la possibilità di rappresentare fenomeni testuali ed editoriali complessi. Di conseguenza le sue specifiche hanno subito numerose revisioni che hanno dato origine a diverse versioni ufficiali, nonché a una serie di estensioni introdotte dai vari produttori di browser Web (in particolare, Microsoft e Netscape nell epoca della cosiddetta guerra dei browser ). Pur se in maniera un po caotica, questi raffinamenti successivi, accogliendo le sollecitazioni provenienti da una comunità di utenti sempre più vasta e variegata, hanno progressivamente allargato la capacità rappresentazionale del linguaggio, introducendo accanto a qualche marcatore di dubbia utilità molti elementi utili a migliorare l organizzazione strutturale e formale dei documenti. La costituzione del W3C ha permesso di standardizzare in modo definitivo il linguaggio, che è ormai finalmente stabilizzato. Nel dicembre del 1999, infatti, è stata rilasciata ufficialmente l ultima versione, denominata HTML 4.01 (le specifiche formali sono disponibili all indirizzo HTML 4.01 ha accolto numerose innovazioni che erano precedentemente parte dei vari dialetti proprietari (ad esempio le tabelle). Le caratteristiche più rilevanti di questa ultima standardizzazione sono state senza dubbio l attenzione dedicata alla internazionalizzazione e l integrazione del linguaggio HTML con un sistema di fogli di stile tema su cui torneremo a breve in modo da distinguere la struttura astratta del documento dalla sua presentazione formale. Inoltre HTML 4.01 è formalmente basato su Unicode ed è in grado di rappresentare sistemi di scrittura che hanno direzioni di scrittura diverse da quella occidentale (ad esempio in arabo e in ebraico la scrittura va da destra 5 Ma HTML può essere definito anche utilizzando la sintassi XML, e in effetti il formalismo ormai più usato per HTML è proprio il cosiddetto XHTML. 6

7 verso sinistra). Dunque, potenzialmente, esso permette la redazione e distribuzione di documenti redatti in ogni lingua e alfabeto e di documenti multilingua 6. Queste caratteristiche si aggiungono agli elementi di base di HTML, che permettono di strutturare un documento e di inserire riferimenti ipertestuali e oggetti multimediali in una pagina Web. Ad esempio è possibile indicare i diversi livelli dei titoli di un documento, lo stile dei caratteri (corsivo, grassetto...), i capoversi, la presenza di liste (numerate o no). Volendo realizzare un documento ipermediale, avremo a disposizione anche marcatori specifici per la definizione dei link ipertestuali e per l inserimento di immagini. Naturalmente le immagini non sono parte integrante del file HTML, che in quanto tale è un semplice file di testo. I file grafici vengono inviati come oggetti autonomi dal server, e inseriti in una pagina Web solo durante l operazione di visualizzazione effettuata dal browser. I formati di immagini digitali standard su Web sono il GIF, JPEG e PNG (altro standard W3C). Si tratta di sistemi di codifica grafica in grado di comprimere notevolmente la dimensione del file, e pertanto particolarmente adatti a un uso su rete. Attraverso i marcatori HTML è possibile anche specificare alcune strutture interattive come moduli di immissione attraverso cui l utente può inviare comandi e informazioni al server e attivare speciali procedure (ricerche su database, invio di posta elettronica e anche pagamenti attraverso carta di credito!); oppure disegnare tabelle. Lo scopo di questa dispensa non è certo quello di insegnarvi come funziona HTML, di cui del resto molti di voi conoscono senz altro i primi rudimenti. A chi però non avesse mai dato un occhiata a HTML, consigliamo di farlo. Infatti, una delle caratteristiche fondamentali di Internet è proprio l estrema facilità con la quale è possibile diventare protagonisti attivi dello scambio informativo, e nonostante tutti gli editor facilitati offerti dai programmi di gestione di blog e simili, se si vuole compiere questo salto decisivo una conoscenza minima di HTML aiuta davvero molto. Non occorre avere timori reverenziali: HTML non è un linguaggio di programmazione, e imparare a usare le sue istruzioni di base non è affatto difficile, non più di quanto lo sia imparare a usare e a interpretare le principali sigle e abbreviazioni usate dai correttori di bozze. Del resto, gli stessi moduli con i quali scrivere messaggi nei nostri forum di piattaforma permettono di sperimentare un po di HTML: premendo il pulsantino <> disponibile nella finestra di scrittura del messaggio, passerete infatti proprio alla visualizzazione in HTML e potrete provare gi affetti di quasi tutti i marcatori del linguaggio. In rete comunque sono disponibili moltissimi corsi gratuiti di introduzione a HTML: un esempio è quello offerto dal sito HTML.it (si veda la Guida HTML all indirizzo Extensible Markup Language (XML) 6 Naturalmente questa definizione formale non basta a garantire l effettiva visibilità dei documenti. È necessario che il sistema operativo su cui opera il browser e il browser stesso siano in grado di gestire Unicode e che siano disponibili sulla macchina i caratteri grafici corrispondenti. 7

8 L evoluzione di Internet procede incessantemente. La crescente richiesta di nuove potenzialità e applicazioni trasforma la rete in un continuo work in progress, un laboratorio dove si sperimentano tecnologie e soluzioni innovative. Se da una parte questo processo produce sviluppi disordinati, spesso determinati da singole aziende che cercano di trarre il massimo profitto dal fenomeno Internet, dall altra le organizzazioni indipendenti che gestiscono l evoluzione della rete svolgono una continua attività di ricerca e di definizione di nuovi standard. Tra questi di gran lunga il più importante è senza dubbio Extensible Markup Language (XML), il nuovo linguaggio di markup definito dal W3 Consortium, che negli ultimi anni ha cambiato sostanzialmente l architettura del Web, e non solo. Lo sviluppo di XML ha rappresentato la risposta a due esigenze in parte convergenti: in primo luogo il potenziamento delle funzionalità di gestione logica e presentazionale dei contenuti per la rete; in secondo luogo la possibilità di erogare servizi e applicazioni avanzate mediante il Web. Sebbene la formalizzazione di HTML abbia rappresentato una importante evoluzione, tuttavia essa non forniva una soluzione adeguata per ovviare ad alcuni importanti limiti dell architettura originale del Web. La causa di tali limiti infatti risiede nel linguaggio HTML stesso. Possiamo suddividere i problemi determinati da HTML in due categorie: limiti rappresentazionali; limiti operativi. La prima categoria è relativa al modo in cui vengono rappresentati i documenti. La rappresentazione e la codifica dei dati sono il fondamento di un sistema di gestione dell informazione. Da questo punto vista HTML impone notevoli restrizioni: in primo luogo si tratta di un linguaggio di rappresentazione chiuso e non modificabile; come abbiamo già sottolineato, l autore di un documento può soltanto scegliere tra un insieme prefissato di elementi, anche se la struttura formale o quella semantica del suo documento richiederebbero di esplicitarne altri, o di qualificarli in modo diverso. In secondo luogo si tratta di un linguaggio scarsamente strutturato e con una sintassi troppo tollerante, che non consente di modellizzare esplicitamente oggetti informativi altamente organizzati come ad esempio una descrizione bibliografica, un record di database, un sonetto petrarchesco o (per venire a casi di nostro diretto interesse) un Learning Object; conseguentemente non può essere usato come formato per la rappresentazione e l interscambio di informazioni complesse (soprattutto se attori di tale scambio sono sistemi software). A questo si aggiunge la confusione determinata dalla presenza di istruzioni orientate più all impaginazione grafica che alla descrizione strutturale dei documenti. 8

9 Un ulteriore limitazione riguarda la definizione dei link ipertestuali. Si potrebbe dire che questo linguaggio di codifica usurpa il suo nome. Infatti è in grado di esprimere un solo tipo di collegamento ipertestuale, unidirezionale, il quale richiede che sia l origine sia la destinazione siano esplicitate nei rispettivi documenti. La ricerca teorica e applicata sui sistemi ipertestuali, invece, ha individuato sin dagli anni settanta una complessa casistica di collegamenti ipertestuali, che possono corrispondere a diverse relazioni semantiche. Dai limiti rappresentazionali discendono quelli operativi, che riguardano il modo in cui autori e lettori interagiscono con il sistema. In primo luogo il controllo sull aspetto di un documento, come abbiamo visto, è assai limitato e rigido. Una pagina Web deve essere progettata per uno schermo dotato di determinate caratteristiche, con il rischio di avere risultati impredicibili su altri dispositivi di visualizzazione o nella stampa su carta. Inoltre HTML non consente di generare dinamicamente viste differenziate di un medesimo documento in base alle esigenze del lettore. Tale capacità permetterebbe, ad esempio, di produrre diverse versioni linguistiche a partire da un unico documento multilingua; oppure, in un applicazione di insegnamento a distanza, di mostrare o nascondere porzioni di un documento a seconda del livello di apprendimento dell utente. E ancora, la scarsa consistenza strutturale impedisce la generazione automatica e dinamica di indici e sommari. E per lo stesso motivo si riduce notevolmente l efficienza della ricerca di informazioni su Web. I motori di ricerca, infatti, sono sostanzialmente sistemi di ricerca full-text, che non tengono conto della struttura del documento e restituiscono riferimenti solo a documenti interi. Per superare questi limiti alcuni anni fa fu proposto un vero e proprio salto di paradigma: la generalizzazione del supporto su Web allo Standard Generalized Markup Language (SGML). L idea di base era piuttosto semplice: HTML è una particolare applicazione SGML, che risponde ad alcune esigenze; perché non modificare l architettura del Web per consentire di usare anche altre applicazioni SGML? La possibilità di distribuire documenti elettronici in formato SGML avrebbe garantito ai fornitori di contenuti un notevole potere di controllo sulla qualità e sulla struttura delle informazioni pubblicate. Ogni editore elettronico avrebbe potuto utilizzare il linguaggio di codifica che maggiormente rispondeva alle sue esigenze, a cui associare poi uno o più fogli di stile al fine di controllare la presentazione dei documenti pubblicati. Questa soluzione, tuttavia, presentava non poche difficoltà: l uso generico di SGML avrebbe richiesto una vera e propria ristrutturazione dell architettura di World Wide Web; l implementazione di un browser SGML generico è dal punto di vista computazionale decisamente più complessa di quella di un normale browser HTML, 9

10 e peraltro comporta degli obblighi tecnici che limitano l efficienza del trasferimento di informazioni sulla rete; l uso consolidato di HTML aveva generato consuetudini e attese difficilmente modificabili. Per superare questi ostacoli il W3C decise di sviluppare un sottoinsieme semplificato di SGML, pensato appositamente per la creazione di documenti su Web: Extensible Markup Language (XML) 7. Il progetto XML ha avuto inizio alla fine del 1996, nell ambito della SGML Activity del W3C, ma l interesse che ha attirato sin dall inizio (testimoniato da centinaia di articoli sulle maggiori riviste del settore) ha portato il W3C a creare un apposito gruppo di lavoro (XML Working Group), composto da oltre ottanta esperti mondiali, e una commissione (XML Editorial Review Board) deputata alla redazione delle specifiche. Dopo oltre un anno di lavoro, nel febbraio del 1998 le specifiche sono divenute una raccomandazione ufficiale, con il titolo Extensible Markup Language (XML) 1.0, di cui è stata rilasciata la quarta revisione nel Esiste anche una versione 1.1 del linguaggio, la cui seconda revisione è anch essa del 2006 ma che è, per vari motivi, usata meno spesso. Come di consueto tutti i materiali relativi al progetto, documenti ufficiali, informazioni e aggiornamenti, sono pubblicati sul sito del consorzio all indirizzo XML, come si è detto, è un sottoinsieme di SGML semplificato e ottimizzato specificamente per applicazioni in ambiente Web. Rispetto al suo complesso progenitore è dotato di alcune particolarità tecniche che ne facilitano notevolmente l implementazione, pur mantenendone gran parte dei vantaggi 8. Anche XML, infatti, è un metalinguaggio che permette di specificare in modo formale il vocabolario e la grammatica di un particolare linguaggio di marcatura, definito applicazione XML. Questa, a sua volta, descrive la struttura logica di una classe o tipo di documenti o, in generale, di oggetti informativi. Tale struttura astratta viene specificata individuando gli elementi che la costituiscono (ad esempio: capitolo, titolo, paragrafo, nota, citazione, ecc.) e le relazioni che tra questi 7 La bibliografia e l elenco dei siti Web dedicati a XML sono ormai sterminati: inutile tentare una selezione. Ci limitiamo a segnalare tra i libri in italiano l agile e completo volume di R. Harold, W. S. Means, XML. Guida di riferimento, Apogeo/O Really, Milano Per le risorse Web, oltre al sito del W3C non ci sono dubbi: da più di dieci anni un punto di riferimento irrinunciabile per tutto ciò che riguarda SGML, XML e applicazioni connesse sono le Cover Pages, all indirizzo curate da Robin Cover. Una buona guida XML di base, gratuita, è poi disponibile sul già citato sito HTML.it, all indirizzo 8 Per conseguire questo risultato alcune delle caratteristiche più esoteriche di SGML sono state eliminate, sono state introdotte delle novità nella sintassi generale, ma soprattutto si è introdotto il concetto di documento ben-formato. 10

11 intercorrono, relazioni che possono essere di natura gerarchica e ordinale. Infatti in XML un documento viene considerato come dotato di una (e una sola) struttura ad albero. Diremo ora qualcosa di più su XML. Le pagine che seguono, pur avendo carattere assolutamente introduttivo, possono risultare, a una prima lettura, piuttosto ostiche. Vi consigliamo di dar loro una prima occhiata, poi di rivedere il tutoriale sviluppato in video e audio da Federico Meschini che vi era già stato distribuito l anno scorso (lo trovate fra i materiali del corso) e quindi di tornare nuovamente a (ri)leggere questa dispensa. Dubbi e problemi potranno poi essere discussi nel forum con i vostri colleghi e con tutor e docenti. Ricordate comunque che il nostro scopo non è imparare come funziona in dettaglio XML (non basterebbero due master!), ma solo capirne i principi di fondo, quel tanto che basta a non scappare terrorizzati davanti agli usi che di XML vengono fatti nel settore dell e-learning, in particolare per la descrizione (metadatazione) delle risorse di apprendimento (Learning Object, e non solo). Nel parlare di XML dobbiamo per prima cosa ricordare ancora una volta che XML viene usato per definire linguaggi (applicazioni) specificandone i marcatori e il loro uso, e che questo difficilmente lo faremo noi: di norma, piuttosto che definire una nostra applicazione XML ne useremo una già definita da esperti e riconosciuta come standard del settore. Tuttavia, capire qualcosa di XML ci servirà per capire i linguaggi (e cioè le applicazioni) definite utilizzando i suoi formalismi. Così, non saremo noi a definire una applicazione XML che fornisca i marcatori necessari a descrivere (metadatare) un Learning Object. Una applicazione di questo genere esiste già, ed è stata definita da esperti. Ma per capire come questa applicazione funzioni, e che forma abbiano, ad esempio, i file che contengono i metadati di un Learning Object, ci servirà capire qualcosa di XML e delle sue convenzioni (ad esempio, il modo per aprire e chiudere un marcatore). La struttura di una classe di documenti XML, e cioè l insieme dei marcatori utilizzati da una determinata applicazione e le loro regole di funzionamento, può essere specificata esplicitamente mediante la definizione di una vera e propria grammatica formale, denominata Document Type Definition (DTD). Il formalismo per specificare la DTD è una eredità di SGML ed è completamente stabilizzato e ampiamente adottato. Tuttavia, per ovviare ad alcuni limiti espressivi di tale formalismo, sono stati proposti numerosi formalismi alternativi, denominati Schema Definition Language (dove il termine schema eredita le funzioni di tipo di documento ). Al momento, tre delle numerose proposte sembrano, per diversi motivi, presentare elementi di interesse: 11

12 W3C XML Schema, il linguaggio sviluppato dal W3C e pubblicato in versione 1 nel maggio del 2001 ( il W3C lo considera il successore delle DTD. RelaxNG ( sviluppato da James Clark (uno dei guru del settore) e supportato dall OASIS (Organization for the Advancement of Structured Information Standards), un consorzio no-profit internazionale che si occupa di promuovere standard per la gestione dell informazione e della conoscenza in ambito commerciale; ISO DSDL, che unisce diversi schema language, fra i quali il già citato RelaxNG e Schematron ( sviluppato da Rick Jellife. Non intendiamo qui approfondire qui i dettagli tecnici (piuttosto complessi) di questi formalismi. Ci basti sapere che essi aiutano a specificare in maniera rigorosa i vari sottolinguaggi o applicazioni XML, compresi quelli utilizzati nel mondo dell e-learning. Una volta definito, un determinato linguaggio di markup può essere utilizzato per creare singoli documenti, che ne dovranno rispettare i vincoli grammaticali, oltre a conformarsi alle norme generali di sintassi XML. Nel documento, a ciascun elemento corrisponde una coppia di marcatori. La sintassi prevede che i marcatori siano racchiusi tra i simboli di minore e maggiore ( < e > ). Ogni elemento viene identificato da un marcatore iniziale e uno finale (costruito premettendo una barra al nome del marcatore iniziale), a meno che non sia un elemento vuoto (che non contiene cioè sotto-elementi o testo), nel qual caso è identificato solo da un marcatore iniziale che tuttavia presenta una barra / prima del carattere >. Molto spesso, gli editor semplificano la visualizzazione attraverso una rappresentazione anche grafica o colorata dei marcatori Un testo codificato in XML dunque può avere ad esempio il seguente aspetto 9 : 9 L esempio è tratto dal file Manifest che descrive una risorsa di apprendimento (un Learning Object) del nostro master. L editor evidenzia i marcatori (che nel documento originale sono al solito compresi fra parentesi acute) utilizzando dei box viola, e usa l indentazione per segnalarne la struttura innestata (i marcatori più indentati sono inclusi all interno di quelli immediatamente più esterni). 12

13 Figura 1 - Esempio di porzione di un documento XML, visualizzato all interno di un editor La rispondenza tra documento e grammatica viene effettuata in modo automatico da un parser. Un documento XML che ottempera a questa condizione viene detto valido. Tuttavia, a differenza di SGML, XML ammette anche l esistenza di documenti privi di una DTD o di uno schema espliciti. Naturalmente tali documenti dovranno comunque rispettare una serie di norme sintattiche generali (che valgono cioè per ogni documento XML), dette vincoli di buona-formazione. Tra i vincoli sintattici di un documento benformato ricordiamo ad esempio: deve esistere un solo elemento radice; le coppie di marcatori debbono essere sempre annidate; è obbligatorio inserire i marcatori di chiusura negli elementi non vuoti; gli elementi vuoti hanno una sintassi leggermente modificata. Ciò riduce notevolmente la complessità di implementazione di un browser XML, e facilita l apprendimento del linguaggio (le specifiche constano di venticinque pagine contro le cinquecento dello standard ISO). La semplificazione tuttavia non comporta incompatibilità: un documento XML valido è sempre un documento SGML valido (naturalmente non vale l inverso). La trasformazione di un applicazione o di un documento SGML in uno XML è (nella maggior parte dei casi) una procedura automatica. 13

14 XML, oltre alla sua capacità espressiva, offre una serie di vantaggi dal punto di vista del trattamento informatico dei documenti. In primo luogo, poiché un documento XML (proprio come una pagina HTML) è composto esclusivamente da una sequenza di caratteri in formato Unicode, esso è facilmente portabile su ogni tipo di computer e di sistema operativo. Inoltre un testo codificato in formato XML può essere utilizzato per scopi differenti (stampa su carta, presentazione multimediale, analisi tramite software specifici, elaborazione con database, creazione di corpus linguistici automatici), anche in tempi diversi, senza dovere pagare i costi di dolorose conversioni tra formati spesso incompatibili. E ancora, la natura fortemente strutturata di un documento XML si presta allo sviluppo di applicazioni complesse. Possiamo citare ad esempio l aggiornamento di database; la creazione di strumenti di information retrieval contestuali; la produzione e la manutenzione di pubblicazioni articolate come documentazione tecnica, manualistica, corsi interattivi per l insegnamento a distanza. L interesse che la comunità degli sviluppatori di applicazioni e servizi Web ha dimostrato verso XML è stata decisamente superiore alle stesse aspettative del W3C, che si attendeva un periodo di transizione assai lungo verso la nuova architettura. In breve tempo le applicazioni XML si sono diffuse in ogni settore: dalla ricerca umanistica (dove una applicazione XML denominata Text Encoding Iniziative è divenuta lo standard per la codifica e l archiviazione dei testi su supporto digitale e per la creazione di biblioteche digitali), a quella chimica (con il Chemical Markup Language, un linguaggio orientato alla descrizione di strutture molecolari), a quella matematica (con MathML, un linguaggio per la descrizione di formule e notazioni matematiche); dal commercio elettronico, alla distribuzione di applicazione distribuite su Internet; dall editoria on-line alle transazioni finanziarie. Anche i feed RSS di cui si è parlato l anno scorso, ricordate? non sono altro che una particolare applicazione XML (per la loro semplicità, sono anzi uno degli esempi più adatti per capire come è fatto un documento XML), e siccome i podcast utilizzano a loro volta feed RSS, anche il mondo dei podcast è strettamente legato a questo standard. E naturalmente, come vedremo ampiamente in questo secondo anno di master, l elearning non fa eccezione. Ma soprattutto sin dall inizio è stata resa disponibile una grande quantità di software (in gran parte open source) in grado di elaborare documenti XML: analizzatori sintattici (parser), editor, browser, motori di ricerca. Gran parte dell interesse è dovuto al fatto che XML, oltre che come formato di rappresentazione dei dati da presentare agli utenti, può essere utilizzato come formato per lo scambio di dati e messaggi tra applicazioni software che interagiscono in un ambiente distribuito e per le progettazione di soluzioni middleware, trovando applicazione nell area del commercio elettronico, del lavoro collaborativo e nella creazione di Web services. Si collocano in questo settore gli standard entrambi in formato XML WSDL (Web Services Description Language) e SOAP (Simple Object Access Protocol) che permettono rispettivamente di descrivere le proprietà e i metodi forniti da 14

15 applicazioni Web e di strutturare e formalizzare i dati e i messaggi (nel senso che questo termine assume nella programmazione a oggetti) che essi si possono scambiare. Tra le tante applicazioni XML, una menzione particolare merita XHTML ( Come abbiamo già accennato, si tratta della ridefinizione in XML di HTML realizzata dal W3C. Rispetto alla versione standard, essa si distingue per l aderenza ai vincoli di well-formedness di XML, ma al contempo può essere estesa senza problemi. Lo scopo di questa versione infatti è proprio quello di facilitare la transizione degli sviluppatori di risorse Web da HTML a XML con un passaggio intermedio rappresentato da XHTML. Gli standard correlati a XML La definizione del linguaggio XML non ha esaurito l attività di innovazione dell architettura Web. Infatti, intorno al progetto XML sono stati sviluppati o sono in via di sviluppo una serie di standard ulteriori che coprono altri aspetti, non meno importanti, del suo funzionamento. In particolare, ci riferiamo ai linguaggi per la creazione di fogli di stile CSS (Cascading Style Sheet) XSLT (Extensible Stylesheet Language Transformation) e XSL-FO (Extensible Stylesheet Language Formatting Object); ai linguaggi per la specificazione di collegamenti ipertestuali XLL (Extensible Linking Language) e Xpointer; ai linguaggi per la definizione di schemi, cui abbiamo già accennato; al linguaggio SMIL (Synchronized Multimedia Integration Language) per la sincronizzazione di contenuti e presentazioni multimediali di flusso. Un altro importante linguaggio XML, denominato RDF (Resource Description Framework), offre invece le fondamenta del progetto di Web Semantico, o Semantic Web, di cui abbiamo già parlato altrove. Nei prossimi paragrafi cercheremo di fornire alcune brevi informazioni su questi linguaggi, senza presumere di essere nemmeno lontanamente esaustivi. D altra parte la complessità di questi temi esulerebbe del tutto dagli scopi di questa dispensa e, in generale, del nostro master. Questioni di stile Se XML fornisce una soluzione ai problemi di rappresentazione strutturale dei dati e dei documenti, i fogli di stile offrono una risposta alle esigenza di un maggiore e più raffinato controllo sulla presentazione degli stessi. Per lungo tempo, nell architettura di World Wide Web, le regole di formattazione e la resa grafica di un documento sono state codificate nei browser. In questo modo, il controllo 15

16 sull aspetto della pagina da parte dell autore è molto limitato, e si basa sull uso di una serie di marcatori HTML ad hoc, introducendo inconsistenze strutturali nel documento. L introduzione dei fogli di stile risolve entrambi i problemi poiché: consente una cura dettagliata del progetto grafico di una pagina Web; separa la specificazione della grafica dalla struttura logica del contenuto. Il concetto di foglio di stile nasce nell ambito delle tecnologie di word processing e desktop publishing, e molti di voi avranno probabilmente presente l uso che ne viene fatto nei programmi di videoscrittura. L idea è quella di separare il contenuto testuale di un documento elettronico dalle istruzioni che ne governano l impaginazione, le caratteristiche grafiche e la formattazione. Per fare questo è necessario suddividere il testo in blocchi etichettati e associare poi a ogni blocco uno specifico stile, che determina il modo in cui quella particolare porzione del testo viene impaginata sul video o stampata su carta. Ad esempio, a un titolo di capitolo può essere associato uno stile diverso da quello assegnato a un titolo di paragrafo o al corpo del testo (lo stile titolo di capitolo potrebbe prevedere, poniamo, un carattere di maggiori dimensioni e in grassetto, la centratura, un salto di tre righe prima dell inizio del blocco di testo successivo; a un blocco di testo citato potrebbe invece essere assegnato uno stile che prevede un corpo lievemente minore rispetto al testo normale, e dei margini maggiori a sinistra e a destra per poterlo centrare nella pagina). Per chi usa un moderno programma di scrittura come Microsoft Word o il modulo di videoscrittura di Open Office questo meccanismo, almeno a un livello superficiale, dovrebbe risultare familiare. I fogli di stile facilitano la formattazione dei documenti, permettono di uniformare lo stile di diversi testi dello stesso tipo, e semplificano la manutenzione degli archivi testuali. Infatti la modifica delle caratteristiche formali di uno o più documenti non richiede di effettuare un gran numero di modifiche locali. Se, ad esempio, una casa editrice decide di cambiare il corpo tipografico dei titoli di capitolo nelle sue pubblicazioni, sarà sufficiente modificare il foglio di stile per quella porzione di testo, e automaticamente tutti i testi erediteranno la nuova impostazione grafica. Il meccanismo dei fogli di stile si presta facilmente a essere applicato ai documenti codificati mediante linguaggi di markup derivati da SGML e XML. Questo tipo di linguaggi, infatti, si basa proprio sulla esplicitazione degli elementi strutturali di un testo attraverso i marcatori. È sufficiente dunque definire una notazione che permetta di associare a ogni marcatore uno stile. Naturalmente è poi necessario che il browser sia in grado di interpretare questa notazione, e di applicare le relative istruzioni di formattazione. Una notazione di questo tipo è un linguaggio per fogli di stile. 16

17 Anche in questo settore il ruolo del W3C è stato determinante. Il Consortium, infatti, nell ambito dei suoi gruppi di lavoro, ha elaborato entrambi i linguaggi attualmente utilizzati per definire fogli di stile sul Web. Il primo, sviluppato inizialmente per essere utilizzato con documenti HTML e successivamente esteso a XML, si chiama Cascading Style Sheet (CSS). Ideato originariamente da Håkon Lie alla fine del 1994, ha avuto una prima formalizzazione nel dicembre Nel maggio del 1998 è stata rilasciata come raccomandazione la seconda versione, che ha esteso notevolmente la prima versione in molte aree. In particolare ricordiamo: il trasferimento dinamico dei tipi di carattere sulla rete, in modo tale da garantire che l aspetto di una pagina sia esattamente quello progettato anche se l utente non ha i font specificati sul suo sistema locale; la specificazione di appositi stili orientati ai software di conversione vocale e ai display per disabili; l estensione delle capacità di controllo sul layout e sulla numerazione automatica di liste, titoli ecc., e la capacità di gestire diversi supporti di impaginazione per un medesimo documento (ad esempio la visualizzazione su schermo e la stampa su carta). Il testo definitivo delle specifiche, con il titolo Cascading Style Sheets, level 2 (CSS2), è disponibile sul sito Web del W3C, all indirizzo Attualmente è in corso il lavoro per la definizione di una terza versione (CSS 3), alcune porzioni della quale sono già state pubblicate come raccomandazioni. La caratteristica fondamentale del CSS, dalla quale deriva il nome, è la possibilità di sovrapporre stili in cascata ; in questo modo l autore può definire una parte degli stili in un foglio globale che si applica a tutte le pagine di un sito, e un altra parte in modo locale per ogni pagina, o persino per singoli elementi HTML all interno della pagina. Le regole per risolvere definizioni conflittuali, esplicitate nelle specifiche, fanno sì che lo stile definito per ultimo prenda il sopravvento su tutte le definizioni precedenti. In teoria, se il browser lo consente, anche il lettore può definire i suoi stili. La sintassi CSS è molto semplice, almeno al livello base. Essa si basa sui selettori, che identificano gli elementi a cui attribuire un dato stile, e sulle proprietà, che contengono gli attributi di stile veri e propri. I selettori possono essere i nomi degli elementi, o una serie di valori di attributi, e sono seguiti dalle proprietà, racchiuse tra parentesi graffe e separate da punto e virgola. Ad esempio, per indicare che i titoli di primo livello in un documento HTML debbono usare un font Times con dimensione di 16 punti tipografici in stile grassetto occorre scrivere quanto segue: H1{font-type: Times ; font-size: 16pt; font-weight: bold} Per collegare un foglio di stile a un documento HTML sono previsti tre metodi: si può definire il foglio di stile in un file esterno, e collegarlo al file che contiene il documento HTML (mediante l elemento <LINK>); si possono inserire le direttive CSS direttamente all interno del file HTML, usando l istruzione speciale <STYLE>; e infine si possono associare 17

18 stili a ogni elemento usando l attributo style. Un meccanismo concettualmente simile, anche se basato su una sintassi diversa (per la precisione si utilizza una processing instruction) va utilizzato per associare un foglio di stile CSS a un documento XML 10. Allo stato attuale il supporto ai fogli di stile CSS versione 1 è completo in tutti i browser di ultima generazione. Anche la seconda versione è quasi totalmente implementata, anche se non mancano le inconsistenze nel comportamento dei vari browser. La seconda tecnologia di fogli stile proposta dal W3C, è stata sviluppata nell ambito delle attività correlate alla definizione di XML. Si tratta dei linguaggi della famiglia Extensible Stylesheet Language: XSL-Transformation (XSLT), XPath e XSL - Formatting Object (XSL-FO). Del primo è stata rilasciata la prima versione nel novembre de 1999 ( ed è in corso di definizione la seconda ( resa disponibile come raccomandazione nel gennaio 2007; lo stesso vale per XPath, che è in realtà un componente condiviso da altre specifiche XML; il terzo è stato definito in versione 1 nell ottobre del 2001 ( Per chi ha voglia di qualche informazione in più (ma questo paragrafo e quelli che seguono possono essere tranquillamente saltati da chi li trovi troppo complessi), possiamo aggiungere che in realtà considerare XSLT un semplice linguaggio per specificare la presentazione di un documento XML è assai limitativo. In effetti XSLT è un vero e proprio linguaggio di programmazione dichiarativo (e Turing-completo 11 ) che permette di trasformare un documento XML in un altro documento XML con una struttura diversa; per la precisione la trasformazione avviene da una data struttura astratta ad albero a un altra, che poi viene serializzata in un documento XML di output. Altro elemento qualificante di XSL è il fatto che la sua sintassi si basa su XML: un foglio di stile XSL è a sua volta un documento XML ben-formato. Il processo di trasformazione si basa sulla specificazione di una serie di regole modello (template) che determinano a quale nodo (o insieme di nodi) dell albero iniziale va applicata la trasformazione, e quale essa debba essere: ad esempio un nodo A può essere trasformato in un sottoalbero con un nodo padre A e due nodi figli B e C ; una serie di nodi Nome presenti nel documento iniziale possono essere estratti, collocati in un nodo Indice e ordinati, e così via. L individuazione dei nodi oggetto del processo 10 Per chi è interessato, rimandiamo al documento Associating Style Sheets with XML documents Version 1.0 ( 11 Si dice che un linguaggio di programmazione è Turing completo se ha la stessa potenza computazionale di una macchina di Turing. In realtà nessun sistema computazionale reale è in senso stretto Turing-completo, poiché dovrebbe disporre di risorse di tempo e memoria potenzialmente illimitate, ma lo può essere in linea di principio. Una interessante dimostrazione della potenza computazionale di XSLT è la simulazione di una macchina di Turing mediante trasformazioni XSLT di un insieme di quintuple (che caratterizzano una MT) espresse in Turing Markup Language, realizzata da Bob Lyons ( 18

19 avviene mediante pattern formulati con la sintassi di XPath. Questo linguaggio, infatti, consente di costruire espressioni che selezionano uno o più nodi di un albero XML in base alla loro collocazione gerarchica, ordinale e/o al verificarsi di certe condizioni. Una della applicazioni più immediate di XSLT (che ne giustifica il nome), è la trasformazione di un documento XML codificato con un linguaggio XML qualsiasi in un documento HTML, in modo che sia visualizzabile immediatamente da un browser Web. Per effettuare la trasformazione naturalmente, occorre utilizzare un programma in grado di interpretare ed eseguire le istruzioni XSLT, un processore XSLT. Ve ne sono numerosi, la maggior parte open-source. Tra gli altri anche Internet Explorer e Firefox integrano al loro interno un processore XSLT. Questo significa che è possibile pubblicare sul Web documenti XML generici associati a fogli di stile XSL: essi saranno elaborati e trasformati in pagine Web standard direttamente dal browser. Molti dei programmi di gestione di weblog (e in generale molti CMS) lavorano proprio così! Una strategia alternativa consiste nell effettuare sul server la trasformazione, operazione che si può effettuare sia in modo dinamico (cioè nel momento in cui il client chiede un certo documento XML) utilizzando un XML application server come Cocoon ( sia in modo statico. L ultimo esponente della famiglia, XSL-FO, infine, è un vero proprio linguaggio di formattazione. Anche XSL-FO adotta la sintassi XML. Possiamo dire che si tratta di un linguaggio di mark-up XML orientato a definire la formattazione e la presentazione grafica di un documento testuale, e a controllare il modo in cui il contenuto testuale e iconografico di un documento si dispone all interno di un pagina. Il livello di dettaglio che si può conseguire nel controllare l aspetto visivo di un documento è pari (almeno in teoria) a quello provvisto dai software di impaginazione professionali. Naturalmente il processo di elaborazione è assai diverso. Infatti, come alcuni lettori avranno già immaginato, l uso di XSL-FO richiede una serie di elaborazioni batch che iniziano con una trasformazione XSLT: per la precisione il documento XML sorgente viene trasformato, mediante un opportuno foglio di stile XSLT, in un documento corrispondente codificato con gli elementi XSL-FO. Quest ultimo a sua volta va sottoposto a un processore XSL-FO che lo converte in un formato adeguato alla stampa: di norma i processori XSL-FO producono file di output in formati PostScript, PDF, RTF o PCL (il linguaggio usato dalle stampanti HP). Extensible Linking Language E XPointer Come XML estende la capacità di rappresentare documenti sul Web, Extensible Linking Language è stato progettato per incrementare la capacità di creare collegamenti ipertestuali. 19

20 In un primo momento lo sviluppo di questo linguaggio è stato portato avanti in seno allo stesso gruppo di lavoro del W3C responsabile di XML; ma ben presto si è resa necessaria la formazione di un gruppo apposito, denominato XML Linking. Nel giugno 2001 è stata rilasciata la versione 1.0 dell XML Linking Language, introducendo importanti innovazioni. XLL si divide in due parti: XLink, che si occupa della costruzione dei link, e XPointer che si occupa della individuazione delle loro destinazioni. Per capire la distinzione funzionale tra i due prendiamo ad esempio un link espresso nella normale notazione HTML: <a href= >Vai alla Home page del Master<a> L intero elemento A, inclusi attributi e contenuto, esprime formalmente un link; il tipo di elemento A preso indipendentemente dalla sua attualizzazione in un documento HTML è un elemento astratto di collegamento ipertestuale; il valore dell attributo href (nella fattispecie una URL) è un puntatore che esprime la destinazione del link (il sito del nostro Master). XLink ( si occupa di definire gli elementi di collegamento che possono essere utilizzati in un documento XML, le loro caratteristiche e la sintassi in base alla quale vanno esplicitati. Rispetto al semplice costrutto ipertestuale di HTML, XLink costituisce un vero e proprio salto evolutivo. Esso prevede le seguenti tipologie di collegamenti ipertestuali: link unidirezionali semplici (come quelli di HTML) link bidirezionali link con destinazioni e origini multiple (uno a molti e molti a uno) link sequenziali, che identificano una collezione di documenti interrelati collezioni di link esterni ai documenti di origine e di destinazione. Inoltre sono indicati dei sistemi per associare metadati ai link, in modo da qualificarli in base a tipologie (le quali permettono all autore di predisporre diversi percorsi di esplorazione della rete ipertestuale, o al lettore di scegliere diversi percorsi di lettura) e di specificare il comportamento del browser all atto dell attraversamento del link. XPointer invece specifica una sintassi formale per individuare le porzioni di un documento XML a cui un link può puntare. Attualmente le specifiche di XPointer (che sono articolate in quattro distinti documenti, raggiungibili dall indirizzo sono candidate a divenire raccomandazioni. 20

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

XSL: extensible Stylesheet Language

XSL: extensible Stylesheet Language XSL: extensible Stylesheet Language XSL è un insieme di tre linguaggi che forniscono gli strumenti per l elaborazione e la presentazione di documenti XML in maniera molto flessibile. I tre linguaggi devono

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

XML: extensible Markup Language

XML: extensible Markup Language XML: extensible Markup Language Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Introduzione XML: extensible Markup

Dettagli

XML. XML è contemporaneamente: XML non è:

XML. XML è contemporaneamente: XML non è: XML XML è contemporaneamente: Linguaggio di annotazione (Markup) che permette di creare gruppi di marcatori (tag set) personalizzati (MathML, XHTML, chemicalml, ecc..) Formato standard per lo scambio dei

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

WORD 97 SCRIVERE UNA TESI DI LAUREA

WORD 97 SCRIVERE UNA TESI DI LAUREA WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora

Dettagli

5. Fondamenti di navigazione e ricerca di informazioni sul Web

5. Fondamenti di navigazione e ricerca di informazioni sul Web 5. Fondamenti di navigazione e ricerca di informazioni sul Web EIPASS Junior SCUOLA PRIMARIA Pagina 43 di 47 In questo modulo sono trattati gli argomenti principali dell universo di Internet, con particolare

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte I: elementi di base World Wide Web Si basa sul protocollo HTTP ed è la vera novità degli anni 90 Sviluppato presso il CERN di Ginevra è il più potente

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Capitolo 1 GESTIONE DEL SOFTWARE APPLICATIVO:

Capitolo 1 GESTIONE DEL SOFTWARE APPLICATIVO: Capitolo 1 GESTIONE DEL SOFTWARE APPLICATIVO: IL WORD PROCESSOR SOMMARIO 1. Introduzione. - 2. Requisiti di base per le operazioni di Word Processing. - 3. La creazione di un documento di testo. - 4. La

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Guida rapida all uso di Moodle per gli studenti

Guida rapida all uso di Moodle per gli studenti Guida rapida all uso di Moodle per gli studenti Introduzione La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi on-line. Per chi accede come studente, essa

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Insegnare con il blog. Materiale tratto da:

Insegnare con il blog. Materiale tratto da: Insegnare con il blog Materiale tratto da: Weblog La parola "blog" nasce dalla contrazione del termine anglosassone "weblog" che, letteralmente, significa "traccia nella rete". Il blog infatti rappresenta

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Office 2007 Lezione 08

Office 2007 Lezione 08 Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,

Dettagli

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Creare un Ipertesto. www.vincenzocalabro.it 1

Creare un Ipertesto. www.vincenzocalabro.it 1 Creare un Ipertesto www.vincenzocalabro.it 1 Obiettivi Il corso si prefigge di fornire: Le nozioni tecniche di base per creare un Ipertesto I consigli utili per predisporre il layout dei documenti L illustrazione

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

Sommario. Prefazione...9. Introduzione...11

Sommario. Prefazione...9. Introduzione...11 Sommario Prefazione...9 Introduzione...11 1. L interfaccia utente e le operazioni più comuni...13 La scheda File... 20 Ridurre la barra multifunzione... 24 Personalizzare la barra multifunzione... 25 La

Dettagli

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa WWW.ICTIME.ORG NVU Manuale d uso Cimini Simonelli Testa Cecilia Cimini Angelo Simonelli Francesco Testa NVU Manuale d uso EDIZIONE Gennaio 2008 Questo manuale utilizza la Creative Commons License www.ictime.org

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE

GUIDA STUDENTI HOMEPAGE DEI CORSI ON-LINE GUIDA STUDENTI Benvenuti sulla piattaforma Des-K, basata su Moodle. Di seguito una breve introduzione alla navigazione tra i contenuti e le attività didattiche dei corsi on-line e una panoramica sui principali

Dettagli

Esercitazione n. 10: HTML e primo sito web

Esercitazione n. 10: HTML e primo sito web + Strumenti digitali per la comunicazione A.A 0/4 Esercitazione n. 0: HTML e primo sito web Scopo: Creare un semplice sito web con Kompozer. Il sito web è composto da una home page, e da altre due pagine

Dettagli

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1

Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Manuale scritto da Fuso Federico 4 A Anno scolastico 2011/2012 Parte 1 Chi può riuscire a creare pagine HTML? La realizzazione di pagine web non eccessivamente sofisticate è alla portata di tutti, basta

Dettagli

PROCESSO DI INDICIZZAZIONE SEMANTICA

PROCESSO DI INDICIZZAZIONE SEMANTICA PROCESSO DI INDICIZZAZIONE SEMANTICA INDIVIDUAZIONE DEI TEMI/CONCETTI SELEZIONE DEI TEMI/CONCETTI ESPRESSIONE DEI CONCETTI NEL LINGUAGGIO DI INDICIZZAZIONE TIPI DI INDICIZZAZIONE SOMMARIZZAZIONE INDICIZZAZIONE

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Book 2. Conoscere i contenuti digitali. Saper riconoscere diversi tipi di contenuti digitali

Book 2. Conoscere i contenuti digitali. Saper riconoscere diversi tipi di contenuti digitali Book 2 Conoscere i contenuti digitali Saper riconoscere diversi tipi di contenuti digitali Centro Servizi Regionale Pane e Internet Redazione a cura di Roger Ottani, Grazia Guermandi, Sara Latte Luglio

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

7.4 Estrazione di materiale dal web

7.4 Estrazione di materiale dal web 7.4 Estrazione di materiale dal web Salvataggio di file Salvataggio della pagina Una pagina web può essere salvata in locale per poterla consultare anche senza essere collegati alla Rete. Si può scegliere

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

Minerva. Un ambiente integrato per la Didattica e la Divulgazione. dr. Augusto Pifferi. dr. Guido Righini. http://minerva.mlib.cnr.

Minerva. Un ambiente integrato per la Didattica e la Divulgazione. dr. Augusto Pifferi. dr. Guido Righini. http://minerva.mlib.cnr. Minerva Un ambiente integrato per la Didattica e la Divulgazione dr. Augusto Pifferi Istituto di Cristallografia C.N.R. dr. Guido Righini Istituto di Struttura della Materia C.N.R. http://minerva.mlib.cnr.it

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Newsletter. Notiziario settimanale 3-9 marzo 2003. Finanziarie. La ÒsofferenzaÓ sanata va cancellata dalla banca dati

Newsletter. Notiziario settimanale 3-9 marzo 2003. Finanziarie. La ÒsofferenzaÓ sanata va cancellata dalla banca dati Newsletter Notiziario settimanale Versione ottimizzata per la stampa Finanziarie. La ÒsofferenzaÓ sanata va cancellata dalla banca dati Sindacati. Finalitˆ pubblica o niente nomi allõassessore comunale

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Cos è un word processor

Cos è un word processor Cos è un word processor è un programma di videoscrittura che consente anche di applicare formati diversi al testo e di eseguire operazioni di impaginazione: font diversi per il testo impaginazione dei

Dettagli

Informatica per la comunicazione" - lezione 10 -

Informatica per la comunicazione - lezione 10 - Informatica per la comunicazione" - lezione 10 - Evoluzione del Web" Nell evoluzione del Web si distinguono oggi diverse fasi:" Web 1.0: la fase iniziale, dal 1991 ai primi anni del 2000" Web 2.0: dai

Dettagli

L'efficienza non è solo energetica!

L'efficienza non è solo energetica! La rivoluzione digitale nella pubblica amministrazione con l'introduzione dei file XML Relatore: Stefano Borsani Convegno Street & Urban Lighting - Padova 10 ottobre 2013 La rivoluzione digitale nella

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1 Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

Dettagli

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML

MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML Thomas Imolesi imolesi@libero.it fti@bologna.enea.it XML un linguaggio

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Università Politecnica delle Marche. Progetto Didattico

Università Politecnica delle Marche. Progetto Didattico Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro

Dettagli

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA Biblioteca di Cervia NOZIONI BASE DI INFORMATICA NOZIONI DI INFORMATICA Il PC è composto solitamente di tre parti principali: - Il Case, ovvero il contenitore del cuore del computer, da qui si accende

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Guida rapida all uso di Moodle per gli studenti

Guida rapida all uso di Moodle per gli studenti Guida rapida all uso di Moodle per gli studenti Introduzione La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi on-line. Per chi accede come studente, essa

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione 4 LEZIONE: Programmazione su Carta a Quadretti Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10 Minuti Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione SOMMARIO:

Dettagli

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL

Alfa Layer S.r.l. Via Caboto, 53 10129 Torino ALFA PORTAL ALFA PORTAL La struttura e le potenzialità della piattaforma Alfa Portal permette di creare, gestire e personalizzare un Portale di informazione in modo completamente automatizzato e user friendly. Tramite

Dettagli

Servizio Feed RSS del sito CNIT

Servizio Feed RSS del sito CNIT Servizio Feed RSS del sito CNIT Informiamo tutti gli utenti CNIT che è possibile sincronizzare i propri Reader (RSS) per essere aggiornati in tempo reale sulle nuove pubblicazioni di articoli postati sul

Dettagli

Un corso (accessibile) sull accessibilità dei siti web. di Gianluca Affinito gianluca.affinito@gmail.com

Un corso (accessibile) sull accessibilità dei siti web. di Gianluca Affinito gianluca.affinito@gmail.com Un corso (accessibile) sull accessibilità dei siti web di Gianluca Affinito gianluca.affinito@gmail.com La conoscenza della Legge 4/2004 nella scuola italiana Un recente questionario, proposto dall'istituto

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli