Newsgroup: it.comp.lang.perl
Titolo: DTD da Perl

Ho appena realizzato un sito scritto interamente in perl, e penso di
pubblicarlo entro breve. Tengo molto alla validazione xhtml e desidero
un dtd strict.
CGI Perl però mi produce pagine Transitional e non riesco a trovare
informazioni utili che mi permettano di modificare il programma in modo
da creare pagine strict.
Qualcuno può aiutarmi a trovare le informazioni?
Ciò che riesco a fare è il seguente:
print $q->header(-charset=>'UTF-8');
print $q->start_html(
		-encoding => 'utf-8',
		-dtd      => 'XHTML 1.0',
    );
non trovo il parametro giusto per impostare strict

Oreste wrote:

Se il problema è solo quello di generare il doctype corretto, allora 
basta questo:
-dtd => '-//W3C//DTD XHTML 1.0 Strict//EN"
         "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
',
Se mi permetti un commento pleonastico, che poi l'intero documento sia 
realmente XHTML strict valido è *tua* responsabilità e non di CGI, 
perché ad esempio potresti utilizzare tag non permessi (o in posizioni 
non permesse) e questo CGI non te lo impedirebbe.
Per la generazione dell'HTML sarebbe meglio utilizzare un template 
engine anziché CGI.pm, che ti da più controllo sull'HTML stesso, 
specialmente se hai certe esigenze di strictness.
In ogni caso fai sempre una verifica dell'HTML generato su:
http://validator.w3.org/
(o mediante strumenti similari), ma immagino che tu lo faccia già ;-)
Ciao,
Emanuele.

Ti ringrazio Emanuele, lo provo subito, alle volte le soluzioni sono
davanti agli occhi ma non si riescono a vedere.
Proprio oggi il sito è attivo, l'ho realizzato con 50 linee di
programma, sò di poter fare meglio, ma non voglio esagerare, si può
osservare all'indirizzo 
www.feciv.org
Ora preparo il pannello di controllo per dare la possibilità ad utenti
non esperti di modificare i contenuti.
Se lo trovi interessante invio il codice completo.
Sulla verifica 
w3.org
, ho caricato un plugin per FireFox che si chiama
Tidy, il quale mostra l'informazione in tempo reale sulla conformità.
Un plugin che consiglio vivamente, fa risparmiare un sacco di tempo, lo
si trova all'indirizzo:
http://users.skynet.be/mgueury/mozilla/
Un caro saluto
Oreste


 osservare all'indirizzo 
www.feciv.org
Complimenti per la realizzazione, e complimenti per averlo fatto in Perl ;-)
Ho notato che nella pagina del forum:
http://www.feciv.org/cgi-bin/feciv/forum/mf_browse.pl
usi un css (inline) dove manca il background.
Un trucco per rilevare quest'errore (frequentissimo su una quantità di 
siti, anche famosi) è quello di impostare il background di default del 
browser diverso dal classico "bianco", così salta subito all'occhio.
Complimenti anche per il fatto di perseguire la XHTML compliancy, che è 
una cosa tanto importante quanto trascurata.
Ciao e buon lavoro,
Emanuele.
-- 
What does VISTA mean?
Viruses, Infections, Spyware, Trojan horses & Adware.

 
http://www.feciv.org/cgi-bin/feciv/forum/mf_browse.pl
Il forum è una copia dove ho operato alcune modifiche, si può usare
gratuitamente seguendo i link in basso, invece il resto l'ho fatto ex
novo.
Fra poco terminerò anche il pannello di controllo per dare la
possibilità a chiunque di modificare il contenuto. La difficoltà
risiede nel farlo a prova di "incapace" ed evitare errori.
La XHTML compliancy appare difficoltosa all'inizio, ma è vincente a
medio e lungo termine perchè lavori su un codice facile da modificare
anche se fatto da altri, non c'è confronto con l'uso smodato di
<table> <td> e <tr>.
Uno dei lavori che seguo è il sito 
www.cinemarena.org
 costruito da una
azienda italiana amante di DreamWeaver, ogni modifica è simile ad un
incubo.
Ciao buon lavoro anche a te,
Oreste

 la differenza non è l'*X*HTML, sono i CSS :-)
d'accordo, inoltre bolle in pentola il CSS3 che permetterà
l'attivazione di eventi da CSS, trasformando quest'ultimo da semplice
supporto a (X)HTML a linguaggio vero e proprio, anche se non può
esistere da solo. Secondo me, quando tenterà di imporsi come nuovo
standard, inizierà una lenta erosione a JavaScript.
Il bello è che Perl non viene minimamente intaccato, un programma Perl
genera il codice XHTML il quale si interfaccia da solo a CSS, una
roccia destinata a durare.