[PLUTO-ildp] Learning The Shell, tabelle in sgml (ulteriori precisazioni)

Hugh Hartmann hhartmann a fastwebnet.it
Lun 21 Apr 2014 20:18:20 CEST


Ciao Marco,
e un saluto "un po' festivo" si propaga a tutti i partecipanti alla 
lista ... :-)

Allora, uno si potrebbe chiedere come mai a Pasqua e Pasquetta qualcuno 
si diletta a smanettare su file sgml e più precisamente su come creare 
tabelle all'interno del sgml di LinuxDoc ... Rispondere è facile; ci 
vuole pure qualcuno che si occupi di un argomento così poco trattato. 
... :-))

In effetti l'argomento tabelle, all'interno di file sgml non è molto 
discusso nemmeno in rete ...

Allora ho pensato di fare un po' di esperimenti ... :-)

Ho notato che, con il passare degli anni, diversi tag non vengono più 
adeguatamente processati dal linuxdoc. A volte anche la documentazione 
su sgml come la "Linuxdoc-tools guide" è estremamente stringata e non 
riporta, salvo rari casi, le modifiche che sono state apportate ad 
alcuni tag affinché funzionino correttamente all'interno di un file sgml.

A titolo di esempio riporto una tabella che dovrò integrare nel file 
sgml della precedente versione tradotta dal sottoscritto e presente sul 
sito dell'Ildp.

Ho creato un file sgml (table.sgml) dove è stata inserita la tabella che 
segue, l'ho trasformato in file html con il comando:

$ linuxdoc -B html table.sgml <invio>

Bene, i tag <tabrow> e </tabrow> come altri non vengono riconosciuti e 
quindi non si riesce a fare la tabella in html ...

E' la tabella dei tipi di file presente nel capitolo Navigazione del 
Learning The Shell (riporto solo alcune righe):

[...]

<table border=1 align="center">
<tabular ca="|l|l|l|">
<tabrow><em>Tipo di 
File</em><colsep><em>Descrizione</em><colsep><em>Visualizzabile come 
testo?</em></tabrow>
<tabrow>ASCII text<colsep>The name says it all<colsep>si</tabrow>
...
<tabrow>RPM<colsep>A Red Hat Package Manager archive<colsep>no</tabrow>
</tabular>
</table>
[...]

Come si può notare ci sono dei tag che definiscono la tabella:
il primo (ma non sempre necessario) è:

<table>

che apre la tabella, nel nostro caso vengono inoltre definiti dei parametri:

<table border=1 align="center">

Purtroppo i parametri border=1 e allign="center" non sono riconosciuti 
dalla versione più recente di linuxdoc-tools(è probabile che 
funzionassero regolarmente con una vecchia versione di linuxdoc, quella 
che si chiamava linuxdoc-sgml...)

Invece, come consigliato da negli Appunti Linux di Giacomini, il 
parametro da associare a table è loc (location) e più precisamente il 
tag table diventa:

<table loc="htbp">

Dove h=here (posizione attuale), t=top (superiore), b=bottom (inferiore) 
p=page (pagina)

Generalmente dopo il tag <table> di apertura si usa il tag <tabular> che 
definisce le caratteristiche di una tabella infatti, come nel nostro caso:

<tabular ca="|l|l|l|">

all'interno del tag tabular è stato specificato il parametro ca (coulumn 
alignment) e le tre l presenti (l=left) rappresentano l'allineamento a 
sinistra per ogni voce delle tre colonne della tabella.

Se si volesse un allineamento centrato per ogni voce di ogni colonna
allora si dovrebbe usare il tag:

<tabular ca="|c|c|c|">

la lettera c=center

Se si desidera l'allineamento a destra per ogni voce di ogni colonna 
allora, si dovrebbe utilizzare il tag:

<tabular ca="|r|r|r|">

Con le versioni recenti di linuxdoc-tools cambiando i parametri l in r o 
c in ca non cambia nulla, l'allineamento rimane sempre lo stesso, cioè 
ogni voce di ogni colonna rimane con l'allineamento a sinistra.
Non so perchè ....

Ogni riga della tabella inizia con un tag <tabrow> e finisce con un 
</tabrow>.

Questi tag non funzionano .. invece, alla fine di ogni riga si mette un 
separatore di riga <rowsep> o anche un @ che è equivalente.

Le colonne vengono separate l'una dall'altra usando il tag <colsep>, o 
con una | che è equivalente ... anche questo è abbastanza intuitivo.

Dato che la prima riga è quella che specifica il Tipo di File, la 
Descrizione, Visualizzabile come testo?, queste voci devono essere 
enfatizzate e quindi vengono racchiuse dai tag <em> e </em>.

Questo funziona!

Per finire la tabella sono necessari, nell'ordine corretto, i tag
</tabular> e </table>.

Quindi la tabella precedente diventa (forma completa):
[...]
<table loc="htbp">
<tabular ca="|l|l|l|">
<bf>Tipo di 
File</bf><colsep><bf>Descrizione</bf><colsep><bf>Visualizzabile come 
testo?</bf><rowsep>
ASCII text<colsep>The name says it all<colsep>si<rowsep>
Bourne-Again shell script text<colsep>Uno script Bash<colsep>si<rowsep>
ELF 32-bit LSB core file<colsep>A core dump file (a program will create 
this when it crashes)<colsep>no<rowsep>
ELF 32-bit LSB executable<colsep>An executable binary 
program<colsep>no<rowsep>
ELF 32-bit LSB shared<colsep>A shared library object<colsep>no<rowsep>
GNU tar archive<colsep>A tape archive file. A common way of storing 
groups of files.<colsep>no, use tar tvf to view listing.<rowsep>
gzip compressed data<colsep>An archive compressed with 
gzip<colsep>no<rowsep>
HTML document text<colsep>A web page<colsep>si<rowsep>
JPEG image data<colsep>A compressed JPEG image<colsep>no<rowsep>
PostScript document text<colsep>A PostScript file<colsep>si<rowsep>
RPM<colsep>A Red Hat Package Manager archive<colsep>usare rpm -q per 
esaminare il contenuto.<rowsep>
Zip archive data<colsep>An archive compressed with zip<colsep>no
</tabular>
<caption>
		Varie specie di file
</caption>
</table>
[...]

Nell'ultima riga non si mette il tag <rowsep> altrimenti si aggiunge una 
riga vuota.

Inoltre èstato aggiunto un titolo della tabella mediante i tag <caption> 
e </caption> posto tra il tag </tabular> e </table>.


Ecco, spero di essere stato ancora più utile, riportando questo esempio, 
per chi volesse inserire delle tabelle all'interno di un file sgml di 
LinuxDoc.


Au Revoire
Buona Pasquetta!

Hugh Hartmann


-- 
CONFIDENTIALITY NOTICE

This message and its attachments are addressed solely to the persons 
above and may contain confidential information. If you have received
the message in error, be informed that any use of the content here of is 
prohibited. Please return it immediately to the sender and delete
the message.

         Thank you





Maggiori informazioni sulla lista pluto-ildp