Un normale testo viene letto in maniera sequenziale. Nel momento in cui non conosciamo il significato di una parola siamo costretti a interrompere la normale lettura per fare una ricerca. Un ipertesto invece può essere letto in modo non lineare: possiamo scegliere gli argomenti che più ci interessano e saltare quelli che già conosciamo. Inoltre, e soprattutto, alcune parole del testo possono essere collegate ad altre parti di esso. Cliccando su queste parole "attive", possiamo visualizzare le parti del testo collegate. Se Don Abbondio avesse avuto a disposizione un ipertesto, non avrebbe mai pronunciato la famosa frase: "Carneade? chi era costui?". Infatti, con un semplice clic del mouse sulla parola "Carneade" gli sarebbero state mostrate tutte le informazioni relative al filosofo greco. Questi collegamenti, chiamati "link", contraddistinguono un ipertesto. Un ipermedia è un’estensione dell'ipertesto: a una parola potrebbe essere collegato qualcosa di diverso da un testo: un'immagine, un filmato, una musica. Ad esempio, cliccando sulle parole "Nabucco di Verdi", potremmo ascoltare un brano dell’opera. Esistono molti programmi per costruire ipertesti. In ambito scolastico, per molto tempo, è stato abbastanza diffuso Toolbook che, al di fuori della scuola, era utilizzato per preparare presentazioni. Oggi il tipo di ipertesto dominante è quello utilizzato per costruire le pagine web di Internet attraverso un linguaggio che si chiama HTML (HyperText Markup Language). Ci sono diversi motivi per preferire l'HTML nel costruire ipertesti::
Anche se esistono diversi programmi che aiutano a costruire questi ipertesti (in primo luogo Microsoft FrontPage o Macromedia Dreamweaver), noi vedremo la via più semplice, quella che permette di capire meglio la struttura dell'HTML. Gli strumenti indispensabili per costruire e visualizzare una pagina HTML sono:
Se si dispone di un sistema operativo multitasking (che permette l'esecuzione contemporanea di più programmi), un buon metodo consiste nell'aprire contemporaneamente due finestre: una con l'editor in cui si compone l'ipertesto, l'altra con il browser in cui si visualizza l'ipertesto. Struttura di una pagina HTML: nozioni essenziali Ogni pagina di un ipertesto deve essere contenuta in un file diverso, che deve avere estensione HTM o HTML. Ad esempio, un nome valido di una pagina è:
Una pagina HTML contiene, oltre al normale testo, una serie di comandi che consentono, ad esempio, di cambiare la dimensione, il colore o l'allineamento dei caratteri, oppure di inserire immagini, suoni o altri oggetti che vedremo in seguito. Questi comandi sono chiamati "tag". Ogni tag è contenuta fra i simboli di minore (<) e maggiore (>), ad esempio: Quando un comando dato in precedenza deve terminare il suo effetto, si usa lo stesso comando preceduto dalla barra (/). Ad esempio: Le tag possono essere scritte sia in lettere maiuscole, sia in lettere minuscole. Una pagina HTML è sempre contenuta fra le tag: <BODY> Questo e` un semplice <b>ipertesto</b>. </BODY> </HTML> Per visualizzare la pagina che abbiamo creato, apriamo Netscape e nel menu FILE selezioniamo APRI PAGINA. Quando ci viene richiesto il nome del file, scriviamo PROVA.HTM, facendo attenzione alla directory in cui si trova. Quello che vedremo sarà: Se si vuole visualizzare la vocale accentata, si dovrebbe usare una notazione particolare. Ad esempio, la vocale "e" accentata deve essere indicata così: <BODY> Questo è un semplice <b>ipertesto</b>. </BODY> </HTML> Una tag molto utilizzata è quella relativa a un commento, cioè una linea che non viene visualizzata dal browser, ma serve solo a chi costruisce l'ipertesto per ricordarsi che cosa sta facendo: Da questi semplici esempi si comprende che la costruzione di un ipertesto HTML richiede solo la conoscenza di queste tag. Qui tratteremo solo delle tag principali, mentre per una conoscenza completa si rimanda a testi specifici. Visualizzazione di immagini Le immagini da usare negli ipertesti dovrebbero essere solo nei formati GIF o JPEG, perché sono gli unici che i browser possono visualizzare direttamente. Formati differenti potrebbero richiedere programmi aggiuntivi e le immagini verrebbero visualizzate in una finestra separata. Le immagini JPEG hanno il vantaggio di visualizzare un numero molto elevato di colori (oltre 16 milioni) e quindi vanno usate, in particolare, quando si richiede una qualità fotografica. Le immagini GIF, invece, consentono di visualizzare contemporaneamente al massimo 256 colori. In molti casi 256 colori sono sufficienti per ottenere una qualità accettabile dell'immagine. Oltre alla qualità dell'immagine, dobbiamo considerare la dimensione del file che la contiene. Quanto più aumenta la dimensione del file, tanto più si allunga il tempo di trasmissione sulla linea telefonica. Di solito con le JPEG, se il numero di colori è elevato, si hanno file di dimensioni più contenute, ma non è raro che le GIF si rivelino più compatte. In generale, nella scelta del formato, si dovrebbero tenere presenti le seguenti regole:
Dobbiamo tenere presente, inoltre, che alcune immagini GIF possono essere animate. Sono costituite da un insieme di immagini (fotogrammi) che, mostrate una dopo l'altra, producono l'effetto di movimento. Per costruire GIF animate è necessario un programma specifico, ma se ne trovano moltissime su Internet. Le GIF potrebbero anche essere "interlacciate": le righe di punti non sono visualizzate in modo sequenziale. Per visualizzare un'immagine nell'ipertesto si usa la tag: <BODY> Questa è una foto:<BR> <IMG SRC="FOTO.JPG"> </BODY> </HTML> Si noti l'aggiunta della tag <BR> (Break) che ha l'effetto di spostare alla riga successiva tutto ciò che segue. Va inoltre notato che questa operazione non è automatica; infatti, il seguente esempio: <BODY> Prima riga Seconda riga </BODY> </HTML>
Nota: Nella tabella, il simbolo "|" che separa alcune parole (per esempio LEFT | CENTER) ha il significato di "oppure". Le URL URL è l'acronimo di Uniform Resource Locator e indica semplicemente l'indirizzo di una pagina web in Internet. Un esempio di URL è: Le tre "w" che seguono sono convenzionali e potrebbero non esserci. Sono le iniziali delle parole World Wide Web (la "ragnatela" mondiale). Il punto serve solo da separatore fra le diverse parole. Le ultime lettere (in questo caso "it") indicano che il sito si trova in Italia. Oltre alla nazionalità, le ultime lettere possono indicare il tipo di sito. Ad esempio, nella URL: Oppure, nella URL: Le URL possono essere un po' più complesse. Ad esempio: In sintesi, possiamo accedere a qualsiasi directory e a qualsiasi file di un sito. L'indirizzo completo del file è analogo a quello che si usa in DOS per indicare il nome di un file. Queste le differenze principali:
Le URL possono sempre essere utilizzate al posto del nome di un file. Così, se sappiamo che sul sito MC-link vi è un'immagine chiamata LOGO.GIF, possiamo visualizzarla nel nostro ipertesto con il comando: La URL del sito in cui si trova il nostro ipertesto (il nostro computer) è soltanto: TAG per la formattazione del testo Riassumiamo le principali tag nella seguente tabella:
Le tag <big> e <small> possono essere utilizzate più volte, per duplicare o moltiplicare l'effetto; per esempio: I link I link sono collegamenti fra una parola e un testo. Le parole che sono collegate ad altre parti del testo sono visualizzate in colore diverso (di solito blu). Passando sopra una di esse, la freccia del mouse cambia forma, di solito si trasforma in una manina. Quando si clicca su una di queste parole, viene visualizzato il testo collegato. I link sono di due tipi: esterni e interni. Un link interno (il meno usato) è un collegamento a una parte di testo che si trova all'interno della stessa pagina, ma in una posizione diversa da quella della parola visualizzata. Un link esterno è un collegamento a una pagina diversa. I link esterni Un link esterno viene creato con la tag <a> (àncora) nella seguente maniera: <a href="dante.htm>Dante Alighieri</a> nel tredicesimo secolo. All'interno delle due tag <a>...</a>, potrebbero non esserci parole (o solamente parole), ma un'immagine. Per esempio: <a href="dante.htm><img src="dante.gif"></a> Al posto del nome della pagina (dopo href) vi possono essere molte altre cose: il nome di un'immagine, il nome di un file sonoro o anche una URL. Ad esempio: I link interni I link interni vengono creati ugualmente con la tag <a>, ma con una sintassi leggermente differente: <a href="#leopardi">Giacomo Leopardi</a> ... ... ... <a name="leopardi">Nota</a> Giacomo Leopardi è un poeta nato a Recanati nel 1797 Si possono anche combinare link esterni con quelli interni secondo una sintassi del tipo: Un link particolare è: Liste Le liste possono essere di due tipi: ordinate e non ordinate. Nelle liste ordinate ogni elemento è preceduto da un numero; in quelle non ordinate è preceduto da un punto o da un trattino. Liste non ordinate Le liste non ordinate (unordered list) sono create dalla tag <ul>...</ul>. All'interno delle tag, ogni elemento viene identificato dalla tag <li> (list item). Per quest'ultima tag non è obbligatoria la tag di chiusura (</li>) perché l'elemento termina automaticamente quando inizia un nuovo elemento o quando termina la lista. Ecco un esempio di lista non ordinata: <ul> <li>Roma <li>Frosinone <li>Latina <li>Rieti <li>Viterbo </ul>
Liste ordinate Le liste ordinate (ordered list) vengono create con la tag <ol>...</ol>. Ogni elemento viene identificato sempre dalla tag <li>. Ecco un esempio di lista ordinata: <ol> <li>Po <li>Adige <li>Tevere </ol> che produrrà il seguente effetto:
Tabelle Una tabella è creata dalla tag <table>...</table>. All'interno di queste tag ci deve essere la definizione delle righe, con la tag <tr>, e delle colonne, con la tag <td>. Queste ultime tag non richiedono obbligatoriamente la tag di chiusura. Facciamo un esempio di tabella di tre righe per due colonne: <!-- prima riga --> <tr> <td>Regione <td>Capoluogo <!-- seconda riga --> <tr> <td>Lazio <td>Roma <!-- terza riga --> <tr> <td>Lombardia <td>Milano </table>
Ogni elemento della tabella può contenere non solo parole, ma anche un'immagine o un'altra tabella. Ad esempio: <tr> <td><img src="file.gif"> <td>A sinistra vi è un'immagine </table> Due celle contigue della tabella possono essere unite in una sola cella, con la tag: valign=top | middle | bottom> La tabella potrebbe avere anche una riga di intestazione (titolo), con la tag <th> (table header) che sostanzialmente equivale a <td>, ma con la differenza che l'intestazione viene visualizzata centrata e in grassetto. La tabella può avere anche una riga di commento, mediante la tag: Le tabelle possono avere una immagine di sfondo se si aggiunge, nella tag <table>, il comando background="nome_img". Ad esempio: Le frame La finestra del browser può essere suddivisa in più parti per visualizzare una pagina differente in ciascuna di esse. La suddivisione è particolarmente utile quando, ad esempio, in una parte della finestra vogliamo rappresentare un indice (che rimane fisso) e nell'altra le pagine che si visualizzano di volta in volta cliccando sulla voce corrispondente dell'indice. Ognuna di queste suddivisioni viene chiamata frame ("cornice"). Non bisogna abusare delle frame, che appesantiscono molto la pagina e infastidiscono i lettori. La creazione di una frame richiede una pagina apposita, che ne definisce le caratteristiche. La tag necessaria è: x e y rappresentano il numero dei punti che devono far parte di ognuna delle due frame. Alla lettera y può essere sostituito un asterisco, a indicare che la seconda frame viene dimensionata automaticamente fino a comprendere tutti i punti della finestra che le rimangono a disposizione. I valori di x e y possono essere seguiti dal segno "%", a indicare che questi valori rappresentano non il numero di punti, ma la percentuale dell'intera finestra. Dopo aver creato le frame, dobbiamo definire le pagine che in esse devono venire visualizzate, con la tag: Ecco un esempio di una frame: <frameset cols="240,*"> <frame src="indice.htm" noresize marginwidth=0 marginheight=0 name="indice" target="images"> <frame src="image1.htm" noresize marginwidth=5 marginheight=0 name="images"> </frameset> </html> La prima tag, <frameset>, suddivide lo schermo verticalmente in due colonne, la prima di 240 punti. Le due tag <frame> definiscono le caratteristiche di ognuna delle due frame, la prima di nome indice e l'altra di nome images. Nella prima deve essere visualizzata la pagina indice.htm, nella seconda la pagina image1.htm. Compaiono anche altri comandi che definiscono le caratteristiche delle frame; ad esempio noresize ne impedisce il ridimensionamento da parte del lettore. Se all'interno della pagina visualizzata in una frame compare un link, cliccando su di esso la pagina collegata verrà visualizzata nella frame in cui è presente il link. Per cambiare questa impostazione, si aggiunge il comando target che definisce la frame in cui deve essere visualizzata la pagina collegata. In questo caso, cliccando sui link della prima frame, le pagine collegate verranno visualizzate nella frame images, cioè nella seconda. Ciascuna frame può essere suddivisa in due ulteriori frame mediante gli stessi comandi. Così, se vogliamo dividere in due frame orizzontali la seconda frame dell'esempio precedente, dobbiamo fare queste modifiche: <frameset cols="240,*"> <frame src="indice.htm" noresize marginwidth=0 marginheight=0 name="indice" target="images"> <frameset rows="200,*" <frame src="titolo.htm" noresize name="titolo"> <frame src="image1.htm" noresize marginwidth=5 marginheight=0 name="images"> </frameset> </frameset> </html> I link in una pagina con frame In una pagina con frame, quando si clicca su un link, la pagina collegata viene visualizzata, normalmente, nella stessa frame in cui si trova il link. Se si vuole modificare questa impostazione (ad esempio se, cliccando su una voce di indice della frame di sinistra, si vuole visualizzare una pagina nell'altra frame), si può aggiungere il comando "target" alla tag relativa al link: Se tutti i link di una frame hanno come destinazione un'altra frame, si può aggiungere, prima del body, un'intestazione (header) del tipo: <base target="nome"> </head> Altre TAG La tabella seguente contiene altre tag utili:
Nota: La giustificazione del testo, per quanto prevista sin dalla versione 3 dell'HTML, è stata implementata solo dalle più recenti versioni dei browser. Caratteri speciali La tabella che segue riporta alcuni caratteri speciali:
Le mappe sensibili Supponiamo di avere un'immagine suddivisa in parti di qualsiasi forma; se vogliamo, cliccando su ciascuna di queste parti, effettuare un link a una pagina diversa, possiamo usare le mappe. Come mappa sensibile possiamo utilizzare ad esempio la mappa dell'Italia divisa in regioni; cliccando su ciascuna regione, si visualizzano informazioni sulla regione stessa. Oppure, nella pianta di una casa, cliccando su ogni singola stanza possiamo visualizzare i dettagli sulla stanza stessa. La costruzione di una mappa sensibile può essere laboriosa e richiedere l'uso di programmi aggiuntivi. Anzitutto dobbiamo visualizzare l'immagine e informare il browser che questa è suddivisa in parti sensibili; si usa la solita tag <IMG> con l'aggiunta del comando USEMAP: link è il collegamento da attivare cliccando sulla parte dell'immagine che viene definita. Al posto di questo comando potrebbe esserci nohref; in tal modo, all'area definita non sarà associato alcun collegamento. coordinate sono le coppie di coordinate (ascissa e ordinata, separate dalla virgola) che definiscono l'area; ogni coppia di coordinate è separata dalla virgola. Il numero di coordinate dipende dal tipo di figura. tipo di figura è una stringa che indica la forma dell'area definita. Può essere rect, poly, circle oppure default. Quest'ultima si riferisce all'intera immagine. aree rettangolari un'area rettangolare è definita da due coppie di coordinate che rappresentano rispettivamente il vertice in alto a sinistra e quello in basso a destra. Ad esempio: aree circolari un'area circolare è definita dalle coordinate del centro e dal raggio del cerchio. Ad esempio: aree poligonali un'area poligonale è definita da un numero di coppie di coordinate pari al lati del poligono. Ad esempio: Questo che segue è un esempio completo per una mappa poligonale: <map name="map_l"> <area shape="poly" coords="101, 15, 21, 7, 13, 92, 75, 99, 76, 69, 83, 59, 89, 60, 96, 66, 101, 14" href="http://www.tin.it/miosito/pagina.htm" alt="L'abbazia di Acquapagana"> <area shape="poly" coords="200,6,122,11,128,95,209,90, 202,5" href="http://www.giubileo.net/altrosito" alt="La chiesa della Madonna del Piano" > <area shape="poly" coords="104, 69, 104, 69, 85, 58, 76, 68, 76, 168, 151, 170, 151, 135, 137, 124, 137, 116, 123, 104, 103, 107, 105, 105, 105, 69" href="http://www.staff.it/sito3" alt="Il sito di Cesi"> <area shape="poly" coords="11, 153, 19, 237, 99, 229, 94, 169, 74, 168, 73, 146, 9, 153" href="www.mercurio.it/sito4" alt="Il comune"> <area shape="poly" coords="210, 149, 150, 144, 150, 168, 129, 168, 122, 224, 200, 232, 202, 234, 210, 148" href="http://www.citinv.it/sito5/directory" alt="Progetto tendopoli"> <area shape="default" nohref> </map> E questo è il risultato (alcuni link potrebbero non esistere più): Conclusioni Questi appunti contengono le informazioni indispensabili per costruire un ipertesto. È ovvio che non tutte le tag potranno essere ricordate a memoria se non vengono usate con una certa frequenza. La cosa importante è ricordare le possibilità di cui disponiamo nella costruzione dell'ipertesto; le tag corrispondenti potranno essere ricercate velocemente in un manuale o in una tabella come quelle che abbiamo riportato. Qui non abbiamo esaminato alcune caratteristiche che possiamo chiamare "avanzate": i form, i fogli di stile, i layer, i javascript ecc. Ricordiamo che l'HTML è in continua evoluzione: l'ultima versione è la 4.0. ed è facile prevedere che vengano presto introdotte nuove possibilità. Inoltre, i browser prevedono spesso possibilità aggiuntive non comprese nello standard; è buona regola non utilizzarle, perché si impedirebbe di visualizzare correttamente una pagina a utenti che non usano quel browser. Un'ultima considerazione: costruire una pagina HTML con il metodo illustrato può essere complicato e per questo molti fanno uso di programmi specifici (come Frontpage o Dreamweaver) che hanno però l'inconveniente di produrre un codice tutt'altro che ottimizzato. Spesso, inoltre, tali programmi non sfruttano appieno le potenzialità dell'HTML ed è quindi sempre consigliato rivedere l'ipertesto con un editor per correggerlo e modificarlo. Nota bibliografica Nel sito Internet della W3C, la società che provvede alle specifiche sull'HTML, si può trovare la documentazione completa sull'ultima versione dell'HTML (4.0). L'indirizzo completo al quale trovare queste specifiche è: |