3) creare: Flashcards
cosa significa produrre un contenuto digitale:
Produrre un contenuto digitale significa gestire questioni di:
* Linguaggio. Scegliere il linguaggio formale più adeguato a seconda dello scopo, dell’obiettivo e della funzione del file generato
* Formato. Ogni tipo di oggetto ha un formato più adatto a seconda, di nuovo, dello scopo o della funzione che deve svolgere
* Modello. Ogni oggetto realizzato rispecchia un modello di riferimento che, chi l’ha prodotto, aveva in mente
Oltre a costruire file, creare risorse digitali significa provvedere alla realizzazione di un ambiente di accesso e fruizione
i formati dei file: estensione e naming;
Il formato spiega l’applicazione (o le applicazioni) che ha generato il file e la/le applicazione/i che possono aprirlo, modificarlo ed utilizzarlo
I più comuni formati per il web:
* Testo – CSV, TXT (=semplici sequenze di stringhe di carattere), HTML, CSS, JS
* Immagini – JPG, GIF, PNG (=più recente)
* Audio - MP3
* Video – MP4
Il nome è fondamentale (l’estensione, in alcuni casi, si può cambiare!):
ilmiofile.estensione
IlMioFile.estensione
il-mio-file.estensione
il_mio_file.estensione
Col nome è meglio scegliere una forma e portare avanti quella (ex. scritta “cammello”, scritta divisa da trattini…), non mischiare
Fra i formati di testo non appare Doc, poichè essendo un formato “proprietario” (=legato ad un’applicazione specifica), vincola il file all’applicazione che lo ha generato. Il web preferisce formati non proprietari, che possono quindi essere letti da varie applicazioni.
la creazione di ipertesti/ipermedia:
Costruire un sito Web è prima di tutto una questione di creare testi, corredati di immagini, eventualmente audio o video (inseriti o richiamati nel flusso dei caratteri del testo).
In prima battuta è dunque necessario capire come si produce il testo digitale in termini di linguaggi, formati e modelli.
Produrre un testo per il Web significa:
1. Creare i contenuti che il sito ospiterà
2. Scegliere (o realizzare) le componenti multimediali che si voglio integrare (inserire o richiamare)
3. Creare l’ambiente per l’accesso e la navigazione di quei contenuti
la codifica del testo:
La codifica del testo basata sulle sole tavole dei codici, insieme ai limiti di portabilità e compatibilità comporta un’ulteriore restrizione:
* essa consente di rappresentare nella memoria del computer solo la sequenza dei segni grafici che rappresentano il testo
* un testo, sia esso a stampa o manoscritto, come noto, contiene una serie di informazioni, a diversi livelli, che superano la mera sequenza di caratteri.
Distingueremo la codifica di ‘basso livello’ o codifica dei dati elementari da una codifica di ‘alto livello’ o rappresentazione dei dati a livello di ‘strutture intermedie’ che chiamiamo markup.
cosa intendiamo con ‘markup’:
Con markup ci riferiamo alla possibilità di aggiungere alla sequenza di caratteri che rappresentano il testo digitale, altre stringhe di caratteri denominate marcatori, utili a descrivere determinati aspetti funzionali alla produzione della risorsa digitale.
Questo processo di aggiunta di stringhe al flusso dei caratteri permette di specificare determinate caratteristiche del testo.
Siamo abituati all’uso dei word processors che ci consentono di effettuare questa operazione manipolando un’interfaccia grafica costituita da bottoni e menù: definire grassetti, realizzare corsivi, assegnare ad una porzione di testo uno stile, cambiare il tipo di carattere o le sue dimensioni.
il markup come modellazione/atto interpretativo:
La codifica dei caratteri prima e il markup poi rappresentano un processo interpretativo, risultato dell’analisi del testo.
Riguardano quindi la costruzione di un modello di quel testo più adeguato alle esigenze della rappresentazione digitale.
Codificare tramite linguaggi formali di rappresentazione del testo significa:
* effettuare un’analisi del testo, mirata ad individuarne le caratteristiche
* formulare un’interpretazione della fonte, sulla base delle features del documento in modo direttamente proporzionale agli scopi del trattamento informatico
si iniziò a parlare i markup guardando le note che l’autore lasciava a margine del testo finalizzate a istruire lo stampatore (l’output in questo caso).
da dove deriva il termine ‘markup’:
Il termine markup deriva dalla stampa tipografica tradizionale per riferirsi a quell’insieme di simboli e annotazioni che l’autore o l’editore aggiunge al manoscritto per istruire lo stampatore sulle caratteristiche del documento da destinare alla stampa (p.e. ‘centrato’, ‘titolo’, ‘nota’, ‘grassetto’, ‘a capo’).
funzione dei linguaggi di markup:
Funzione dei linguaggi di markup è di fornire un insieme di strumenti che consentano di aggiungere notizie sul testo. Tali notizie possono riguardare due differenti livelli:
* l’aspetto: formattazione (stili, tipi di carattere, colore e dimensione dei font, ecc.) e disposizione degli elementi nella pagina (allineamento, organizzazione spaziale delle componenti testuali, disposizione di note e annotazioni, ecc.).
* la struttura logica (o astratta o formale): funzione dei blocchi di testo (paragrafi, titoli, note, capitoli, ecc.), cioè organizzazione delle porzioni secondo un sistema formale identificabile.
Tuttavia questi sono limitanti perché legano la struttura del documento al software del proprietario che lo ha generato, e l’applicativo ne inserisce direttamente la marcatura.
cosa sono i ‘word-processors’:
programmi che consentono all’utente di effettuare operazioni di scrittura, correzione, lettura di un qualsiasi testo, permettendo così la preparazione del formato dello stesso testo al fine della stampa.
i sistemi WYSISYG:
I sistemi di text processing (cioè di manipolazione o
trattamento del testo) basati sull’impiego di word-processors sono detti di tipo WYSISYG (What You See Is What You Get) cioè: ciò che vedi (sullo schermo dell’elaboratore) è ciò che ottieni (una volta stampato il documento).
Questi sistemi agevolano notevolmente il lavoro dell’utente,
consentendogli di interagire tramite l’interfaccia grafica.
Permettono quindi di manipolare la rappresentazione
visibile sullo schermo, e gestire le attività di formattazione e
impaginazione
i limite dei software proprietari:
Il problema sostanziale è che questi sistemi legano l’elaborazione del testo ad un determinato programma, rendendo quindi problematica la portabilità tra ambienti hardware e software diversi.
Si pensi al programma di videoscrittura Word della casa
produttrice Microsoft che non solo pone limitazioni alla portabilità del formato doc da un PC a un Mac, ma
crea anche difficoltà di lettura da una versione all’altra del programma stesso.
Impiegando cioè, al fine della rappresentazione del testo, dei caratteri di controllo invisibili, immessi dentro il file di testo, questi linguaggi rendono il file leggibile esclusivamente dal sistema che l’ha generato.
Tuttavia questi caratteri di controllo sono limitanti perché legano la struttura del documento al software del proprietario che lo ha generato, e l’applicativo ne inserisce direttamente la marcatura.
tipi di estensioni:
- alcune di queste estensioni come l’html e l’xml si basano su elementi di struttura
- altri, come l’rtf si basano su elementi di layout
i linguaggi di markup:
Se i word processors consentono una forma di markup del testo, si parla più propriamente di markup languages, detti in italiano linguaggi di marcatura del testo, per riferirsi a linguaggi che si basano su un insieme di istruzioni e indicazioni orientate alla descrizione dei fenomeni di strutturazione, composizione, impaginazione del testo stesso.
I marcatori si configurano come sequenze di caratteri visibili,e vengono immessi dentro il file, secondo una determinata sintassi, immediatamente accanto alla sequenza di caratteri a cui si riferiscono e cioè marcando direttamente i blocchi di testo cui intendono assegnare una determinata funzione.
Garantiscono in questo modo la leggibilità (cioè può essere letto con qualsiasi applicazione; che non necessariamente significa però completa comprensione) del codice introdotto.
il markup funziona perchè ci sono regole che ne regolano la sintassi
due tipi di markup:
È possibile distinguere 2 diverse classi di linguaggi di markup, che differiscono per il tipo di indicazioni impiegate all’atto dell’operazione di marcatura ovvero per la tipologia e la funzione dei marcatori utilizzati:
* markup specifico (o procedurale)
* markup generico (o dichiarativo)
linguaggi di markup dichiarativo:
Principali linguaggi di markup dichiarativo: (dichiarativo perchè consente di dichiarare la struttura logica a cui appartiene la sequenza di stringhe di carattere):
1. SGML (1986), il capostipite
2. HTML (1991), una sua diretta derivazione pensata per
l’implementazione di ipertesti
3. XML (1998), un sottoinsieme semplificato dell’SGML pensato
per la realizzazione di testi elettronici portabili anche sul Web
e a scopi di preservazione.
La differenza fra il secondo e il terzo sta nel fatto che l’html pende le regole sintattiche di SGML e vi aggiunge un vocabolario comune di termini, per descrivere un particolare tipo di documenti, che sono gli ipertesti.
I linguaggi dichiarativi:
- si basano principalmente sulla descrizione della struttura
logica del documento e sono quindi prevalentemente utilizzati
a scopo descrittivo;
- il formato dei dati non è proprietario;
- i marcatori sono leggibili dall’utente;
- sono platform-independent perche basati esclusivamente su
istruzioni espresse in formato ‘solo testo’.
il formato dei dati non è proprietario, quindi sono indipendenti e non serve un’applicazione specifica per leggerli.
l’SGML:
SGML (Standard Generalized Markup Language), GML prima di diventare standard, è stato elaborato nel 1986 da Charles Goldfarb con lo scopo di definire uno schema linguistico standard a livello internazionale nell’ambito della codifica dei testi e superare la moltitudine di sistemi di codifica fino ad allora sviluppati.
Obiettivo primario dello standard è consentire l’interscambio di documenti in formato elettronico tra ambienti hardware e software differenti e garantire quindi la portabilità dei dati.
differenza strutturale fra web e linguaggi di markup:
In informatica una quota importante per il funzionamento dei linguaggi è la consapevolezza della struttura dati che c’è dietro. Cioè le modalità attraverso cui i linguaggi funzionano.
- Il web = struttura a grafo
- i linguaggi di markup = struttura ad albero/gerarchica
la struttura grarchica ad albero:
SGML (ma anche XML e tutti i linguaggi derivati come HTML) si basa su di un markup generico, orientato alla descrizione della struttura logica di un testo piuttosto che del suo aspetto.
Si fonda sull’idea che ogni documento sia dotato di una struttura astratta (o logica) definibile tramite una organizzazione rigidamente gerarchica dei suoi elementi costitutivi.
La struttura astratta di un qualsiasi documento viene identificata in una rappresentazione ad albero in cui:
* a ciascun nodo dell’albero corrisponde un elemento (e cioè ogni partizione logica della fonte)
* ai rami uscenti da ogni nodo corrispondono le relazioni tra elementi e sotto-elementi ad un dato livello (le relazioni tra elementi possono essere relazioni di inclusione, di ordine e di ricorrenza: per esempio potremmo dire che un elemento paragrafo è incluso in un elemento capitolo e può ricorrere molteplici volte, oppure che un elemento introduzione deve precedere un elemento capitolo, ecc.)
* alle foglie corrispondono gli elementi finali (generalmente i caratteri del testo).
Un esempio di albero gerarchico per un semplice documento è: nodo radice corrispondente al testo stesso; testo composto da un’eventuale introduzione, seguita da un certo numero di capitoli; a loro volta capitoli composti, ognuno, da un titolo, seguito da uno o più paragrafi; nodi terminali, o foglie, contenenti stringhe di caratteri costituenti il testo stesso (indicati con PCDATA) o altri elementi marcati, a seconda delle esigenze del markup (e.g. persone, luoghi, date, nomi, citazioni, etc.).
il concetto di ‘classe’:
Fondandosi su di una codifica di tipo dichiarativo, SGML (e XML) consente di definire (o di dichiarare), in modo assolutamente personale ed autonomo, un insieme di marcatori (tags) che adempiano al compito primario dello standard, che consentano cioè di fare il markup della struttura logica del documento.
Questo gruppo di marcatori, più precisamente, individua una classe di documenti testuali che presentano le medesime caratteristiche strutturali.
Con classe intenderemo un insieme di documenti che condividono determinate proprietà: i testi poetici, i testi narrativi, i testi drammatici sono per esempio tre classi che possiedono una specifica struttura logica; una poesia sarà di conseguenza marcata secondo le proprietà della classe testi poetici.
Oltre alla struttura ad albero, per capire i markup è necessario stabilire le categorie di riferimento, e gli elementi di descrizione del markup.
elementi, attributi e valori:
Ogni porzione testuale può essere dunque individuata e descritta tramite ricorso ad un nome convenzionale che prende il nome di elemento (p.e. ‘p’ per paragrafo, ‘n’ per nota ecc.) racchiuso tra due delimitatori; la porzione strutturale viene quindi rappresentata tramite:
* un marcatore
* un tag di apertura ed uno di chiusura.
È possibile anche associare agli elementi degli attributi, che possiedono un determinato valore.
Per i tags, la sintassi di SGML ci suggerisce una forma grafica simbolica: parentesi ad angolo, o delimitatori, racchiudenti il nome dell’elemento, cioè l’identificatore dell’elemento, come tag d’apertura (<elemento>); stesse parentesi ma con l’identificatore preceduto dal simbolo dello slash / per il **tag di chiusura**: </elemento>).
funzioni di SGML:
Più esattamente diremo che SGML è dotato di una sintassi astratta che spiega come operare il markup di un documento testuale, fornendo regole che istruiscono l’utente su come aggiungere i marcatori (cioè si dovranno porre una tag iniziale e una tag finale ad ogni porzione testuale; ogni tag sarà costituita da un nome convenzionale, che identifica l’elemento, racchiuso tra due delimitatori), senza però fornire norme specifiche sui nomi per elementi ed attributi. E questo vale anche per XML.
SGML non fornisce dunque nessuna indicazione circa il vocabolario per gli elementi, e nemmeno speciali caratteri inqualità di delimitatori (non obbliga cioè l’uso delle parentesi angolate, suggerisce solo questo tipo di notazione simbolica).
SGML e XML come metalinguaggi:
Per questo è lecito affermare che SGML e XML più che linguaggi sono classificabili come metalinguaggi, e forniscono esclusivamente le regole sintattiche necessarie alla creazione di altri linguaggi di markup di testi.
Dal momento che ragionano per classi di documenti, diremo che ciascuno dei linguaggi derivati si configura come un peculiare modello del testo o, più esattamente, di un insieme di testi aventi caratteristiche logico-strutturali analoghe.
il concetto di DTD:
- Il metalinguaggio non fornisce dunque alcuna prescrizione relativamente alla tipologia, alla quantità o al nome dei marcatori, ma si occupa esclusivamente di fornire precise regole sintattiche, necessarie a definire un insieme di marcatori
- Il valore di tali marcatori va specificato in un vocabolario di marcatura, che è detto “definizione del tipo di documento”, o DTD (Document Type Definition)
- La DTD è quindi la grammatica del metalinguaggio o anche il linguaggio impiegato per la rappresentazione di determinati parametri logico-strutturali di gruppi di documenti aventi le medesime caratteristiche
- Si pensi alla tradizionale suddivisione per il testo letterario fra testo in prosa, testo in versi, testo drammatico, testo parlato, ecc. Ciascuno di questi macro-raggruppamenti è un tipo di documento. Ma anche il testo letterario in sé può essere considerato tale.
La DTD si chiama anche lo schema di codifica (a partire da XML abbiamo Schemi invece di DTDs) cui un testo fa riferimento – o anche il modello – che ha il compito di definire da un lato i diversi aspetti della fonte che possono essere oggetto di intervento interpretativo e, dall’altro, specificare il vocabolario associato a ciascuno degli aspetti.
funzioni della DTD:
- i marcatori per gli elementi (elements) che identificano la serie delle proprietà di un testo o di una certa classe di documenti; per ciascuno di tali elementi è definito un nome convenzionale che qualifica la proprietà strutturale della porzione della fonte che andrà ad identificare: p.e. ‘t’ per testo, ‘intro’ per introduzione, ‘cap’ per capitolo, ‘p’ per paragrafo, ‘n’ per nota, ecc.;
- la descrizione del contenuto di ogni elemento (content model), quindi quali altri elementi possono apparire, con quale ordine e con quale frequenza (una sezione sarà suddivisa in paragrafi, ogni un paragrafo potrà contenere parole e le parole potranno contenere lettere);
- i marcatori per gli attributi (attributes) assegnabili ad un qualsivoglia elemento (un titolo potrà essere caratterizzato dalla sua tipologia di livello, un capitolo dal suo numero progressivo, ecc.); i simboli (stringhe di testo ascii/Unicode) per le entità (entity) che possono occorrere all’interno del documento e che rappresentano: caratteri non esistenti nel code set impiegato alla codifica, forme contratte che vanno estese in fase di layout (per esempio un’abbreviazione), oggetti esterni (altri file sgml o non- sgml).