[successivo] [precedente] [inizio] [fine] [indice generale] [docinfo] [Indice analitico]
Alml ha una gestione abbastanza ricca delle informazioni che si ricollegano attraverso riferimenti incrociati. La caratteristica fondamentale di Alml è di far sì che tutto ciò che è fruibile in forma elettronica, rimanga accessibile anche in forma stampata su carta. Per esempio, non è prevista la possibilità di annotare un riferimento ipertestuale a una risorsa di cui non si possa vedere l'indirizzo nella forma stampata.
I riferimenti incrociati si realizzano attraverso l'indicazione di ancore (o etichette se si preferisce il termine) e di puntatori a tali ancore. Esistono diversi modi per definire un'ancora e un riferimento a questa: tutti gli elementi che dispongono di un attributo id, sono ancore oppure sono puntatori alle ancore.
Fino a questo punto sono stati descritti gli elementi che delimitano i titoli dei volumi, delle parti, dei capitoli e delle sezioni; inoltre sono stati visti gli elementi che avvolgono le figure e le tabelle. Tutti questi sono ancore a cui si può puntare, ma per inserire un'ancora nel testo normale, è possibile usare l'elemento vuoto anchor, anche questo provvisto di attributo id. Tuttavia, l'elemento anchor è speciale, perché provvisto anche dell'attributo type, con cui è possibile stabilire se si voglia un'ancora invisibile oppure visibile. L'esempio seguente inserisce un'ancora visibile, mentre se si omette l'attributo type, l'ancora è invisibile in modo predefinito:
|
Un'ancora {a}visibile è qualcosa che viene mostrato in modo evidente nella composizione stampata; il suo scopo è quello di poter fare dei riferimenti a posizioni esatte nel testo. Per esempio, la parola «visibile» di questo paragrafo si trova nella posizione 12.1:a. Se l'ancora non fosse visibile, il riferimento che si otterrebbe riguarderebbe soltanto la sezione in cui questa è contenuta.
Esistono diversi elementi vuoti per fare riferimento alle ancore: sectionref, per ottenere un riferimento alla sezione in cui si trova l'ancora; figureref per fare riferimento a una figura; tableref per fare riferimento a una tabella; listingref per fare riferimento a un listato; exampleref per fare riferimento a un esempio.
In particolare, gli elementi figureref, tableref, listingref e exampleref possono essere usati anche senza l'attributo id per fare riferimento all'ultima ancora di una figura, di una tabella o di un listato, come è già stato mostrato nell'uso delle didascalie.
Quando si realizza un documento che può includere o meno una certa porzione a cui puntano alcuni riferimenti, per evitare che vengano mostrati questi collegamenti mancanti, si può usare l'elemento ifref, con il quale si delimita la parte da non comporre se manca il riferimento indicato nell'attributo id.
Tabella 12.1. Gestione dei riferimenti incrociati.
Elemento o attributo | Contenuto | Descrizione |
tomeheading | Titolo di un volume. | |
id | Attributo | Ancora di riferimento per il titolo del volume. |
h0 | Titolo di una parte. | |
id | Attributo | Ancora di riferimento per il titolo della parte. |
h1 | Titolo di un capitolo. | |
id | Attributo | Ancora di riferimento per il titolo di un capitolo. |
h2 | Titolo di una sezione. | |
id | Attributo | Ancora di riferimento per il titolo di una sezione. |
h3 | Titolo di una sottosezione. | |
id | Attributo | Ancora di riferimento per il titolo di una sottosezione. |
h4 | Titolo di una sotto-sottosezione. | |
id | Attributo | Ancora per il titolo di una sotto-sottosezione. |
anchor | Vuoto | Ancora inserita nel testo. |
id | Attributo | Stringa di identificazione dell'ancora. |
type | Attributo | Si possono attribuire le parole chiave hidden (predefinita) o visible. Assegnando la seconda parola chiave, si ottiene un'ancora visibile. |
sectionref | Vuoto | Riferimento a un'ancora del testo. |
id | Attributo | Stringa a cui si fa riferimento. |
figure | Involucro di una figura. | |
id | Attributo | Ancora di riferimento per la figura. |
figureref | Vuoto | Riferimento a un'ancora di una figura. |
id | Attributo | Stringa a cui si fa riferimento. |
table | Involucro di una tabella. | |
id | Attributo | Ancora di riferimento per la tabella. |
tableref | Vuoto | Riferimento a un'ancora di una tabella. |
id | Attributo | Stringa a cui si fa riferimento. |
listing | Involucro di un listato. | |
id | Attributo | Ancora di riferimento per il listato. |
listingref | Vuoto | Riferimento a un'ancora di un listato. |
id | Attributo | Stringa a cui si fa riferimento. |
exampleref | Vuoto | Riferimento a un'ancora di un esempio. |
id | Attributo | Stringa a cui si fa riferimento. |
ifref | componenti lineari o blocchi | Delimita un'area da comporre solo se l'ancora esiste veramente. |
id | Attributo | Stringa a cui si fa riferimento. |
Alml prevede l'utilizzo di tre tipi di annotazioni: avvertimenti che devono risaltare in un riquadro e due tipi di note a piè pagina. Le note evidenziate sono indicate all'interno di un elemento frame, mentre quelle a piè pagina sono inserite nell'elemento footnote, oppure blockfootnote.
Le note a piè pagina normali sono quelle dell'elemento footnote, che si colloca all'interno delle righe; al contrario, blockfootnote rappresenta un blocco di testo, che rimane solo per compatibilità con il passato.
|
L'esempio precedente mostra l'utilizzo di un riquadro, mentre quello successivo mostra l'uso di un piè pagina normale.
|
Tabella 12.2. Annotazioni a vario titolo.
Elemento o attributo | Contenuto | Descrizione |
frame | blocchi | Riquadro. |
blockfootnote | componenti lineari | Piè pagina tra i blocchi di testo. |
footnote | componenti lineari | Piè pagina all'interno di una riga di testo. |
Alcuni elementi sono specializzati per fare riferimento a qualcosa di esterno. Il caso più comune riguarda l'elemento uri, con il quale si indica un URI:
|
Per indicare il riferimento a una pagina di manuale, si può usare l'elemento man, in modo da ottenere una rappresentazione uguale a quella tradizionale:
|
La tabella 12.3 riepiloga questi e altri elementi affini.
Tabella 12.3. Riferimenti esterni.
L'elemento uristr è una variante di uri, con lo scopo di non generare un riferimento ipertestuale. Ciò può servire per rappresentare un indirizzo di fantasia, oppure un indirizzo reale che non è più valido. Si possono indicare in questo modo anche i nomi di dominio.
L'elemento blockquote è previsto per delimitare una citazione in uno o più blocchi. Alla fine dell'elemento blockquote è prevista la possibilità di usare un solo elemento quoteinfo, con lo scopo di contenere informazioni relative alla citazione:
|
Diversi tipi di elementi nella struttura di Alml sono predisposti per accumulare informazioni da restituire a richiesta. La situazione più semplice è data dalla gestione degli indici analitici, dove con l'elemento indexentry si inserisce una voce nell'indice analitico generale o in un altro individuato da un nome libero:
|
L'elemento indexentry appartiene al gruppo di quelli che possono essere inseriti all'interno di una riga; nell'esempio si vede la situazione tipica in cui lo si inserisce nel testo di un titolo. In questo caso, sono state indicate due voci dell'indice analitico generale: la parola «arcobaleno» viene inserita in modo normale, mentre la parola «color» viene inserita con un carattere dattilografico.
Ogni indice analitico ha un nome e quello generale, o predefinito, corrisponde a main. L'esempio mostrato sopra sarebbe perfettamente equivalente a quello seguente:
|
Per recuperare l'elenco di un indice analitico si utilizza l'elemento printindex, in cui, lo stesso attributo index permette di stabilire quale indice estrapolare.
Tabella 12.4. Gestione degli indici analitici.
Elemento o attributo | Contenuto | Descrizione |
indexentry | #PCDATA | code | Dichiarazione di una voce per l'indice analitico. |
index | Attributo | Nome dell'indice analitico in cui inserire la voce. |
special | #PCDATA | Termine speciale. |
special | Attributo | Nome dell'indice analitico in cui inserire la voce. |
printindex | Vuoto | Inserisce l'elenco dell'indice analitico richiesto. |
index | Attributo | Nome dell'indice analitico richiesto. |
indexcontext | Attributo | Specifica un contesto tra: all, tome, part, chapter. È predefinito il contesto all, che richiede l'indice completo. |
indexref | Attributo | Specifica in che modo devono apparire i riferimenti: default, section. In pratica, con la parola chiave section si impone di mostrare numeri di sezione e non le pagine. |
Esiste anche un altro elemento che inserisce voci negli indici analitici; si tratta di special, che inserisce una voce nell'indice corrispondente al nome indicato con l'attributo che ha lo stesso nome: special.
La struttura di Alml dispone di un elemento speciale che si può inserire nel testo lineare, il cui scopo è quello di annotare alcune informazioni sul software e su lavori simili. Si osservi l'esempio seguente:
|
Solo gli elementi workname e worklicense sono obbligatori, dal momento che il loro contenuto appare in un piè pagina locale. L'elemento worklicensetext è facoltativo e può essere utile per annotare una licenza unica, per la quale non possa essere individuato un riferimento standard; inoltre, un altro elemento, worknotes, permette di annotare qualcosa al riguardo.
Dove lo si ritiene più opportuno, si può collocare l'elemento printworkinfo, per ottenere l'elenco ordinato di queste informazioni accumulate.
Tabella 12.5. Tracciamento di informazioni sul software citato.
Elemento o attributo | Contenuto | Descrizione |
workinfo | Dichiarazione del blocco di informazioni. | |
workname | #PCDATA | Nome del software o di altro lavoro. |
worklicense | #PCDATA | Denominazione o descrizione breve della licenza. |
worklicensetext | blocchi | Testo della licenza specifica. |
worknotes | blocchi | Annotazioni. |
printworkinfo | Vuoto | Inserisce le informazioni accumulate in modo ordinato. |
workinforef | Attributo | Specifica in che modo devono apparire i riferimenti: default, section. In pratica, con la parola chiave section si impone di mostrare numeri di sezione e non le pagine. |
In situazioni particolari, potrebbe essere necessario, o anche solo utile, tenere traccia dell'origine di una sezione del documento, assieme a delle annotazioni a vario titolo. Per questo si può utilizzare l'elemento docinfo, che questa volta costituisce un blocco.
|
L'esempio mostra in particolare l'uso dell'elemento docinfo per annotare lo storico delle modifiche fatte su quella porzione di documento; come si può vedere, vengono indicate prima le azioni più recenti, ma questo dipende solo da una scelta organizzativa.
Per ottenere l'elenco delle informazioni accumulate in questo modo, si utilizza l'elemento vuoto printdocinfo.
Tabella 12.6. Tracciamento di informazioni su sezioni particolari del documento globale.
Elemento o attributo | Contenuto | Descrizione |
docinfo | blocchi | Annotazioni sul documento (volume, parte, capitolo o sezione inferiore). |
printdocinfo | Vuoto | Inserisce nel testo le informazioni accumulate. |
È previsto un contenitore speciale per indicare le condizioni particolari che riguardano una certa sezione (anche un volume intero). Si tratta dell'elemento specialcondition, all'interno del quale può eventualmente apparire l'elemento vuoto nomod:
|
L'esempio dovrebbe rendere l'idea della cosa. Il testo contenuto nell'elemento specialcondition viene mostrato effettivamente, utilizzando un carattere un po' diverso da quello normale, in modo da risaltare.
L'elemento vuoto nomod serve per tenere traccia in particolare di quelle sezioni che non possono essere modificate. Evidentemente, può essere utile solo se il documento, nella sua globalità, è inteso come modificabile, in base alle condizioni della licenza. In generale non dovrebbe essere necessario, perché se nella sezione che non si può modificare è scritto chiaramente come stanno le cose al riguardo, non dovrebbe servire alcun elenco di tali sezioni; tuttavia, in questo modo, è possibile poi ottenere un elenco dettagliato di tutte le sezioni che non possono essere modificate, con l'elemento vuoto printnomod.
Tabella 12.7. Annotazione delle condizioni particolari di una sezione.
Elemento o attributo | Contenuto | Descrizione |
specialcondition | #PCDATA | nomod | Dichiarazione di condizioni particolari. |
nomod | Vuoto | Annotazione di sezione non modificabile. |
printnomod | Vuoto | Elenco delle sezioni non modificabili. |
Editoria elettronica con Alml 2004.10.10 --- Copyright © 2000-2004 Daniele Giacomini -- <daniele (ad) swlibero·org>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome riferimenti_note_e_altre_informazioni.html
[successivo] [precedente] [inizio] [fine] [indice generale] [docinfo] [Indice analitico]