Il validatore

Come già accennato in precedenza, il validatore che useremo è James Clark’s SGML Conforming Parser (SP).  Ma cos’è SGML? SGML è l’acronimo di Standard Generalized Markup Language ed è un sistema per la definizione di linguaggi di markup. Gli autori applicano il markup sui propri documenti rappresentando le informazioni strutturali, di formato e semantiche accanto ai contenuti. Lo stesso HTML è un linguaggio basato sui marcatori. In verità, la maggioranza dei linguaggi utilizzati in Internet è basata su SGML.

Se vuoi approfondire la conoscenza di SGML rispetto ad HTML, puoi leggere la prima sezione del tutorial su SGML presso http://www.w3.org/TR/html4/intro/sgmltut.html .

Noi, per le nostre esigenze di validazione, usiamo la versione eseguibile del validatore SP – nsgml.exe. Lo puoi scaricare su http://www.jclark.com/sp/howtoget.htm. Se hai intenzione di validare documenti XHTML, devi anche procurarti da W3 le definizioni SGML per l’XHTML 1.0, presso http://www.w3.org/TR/xhtml1/xhtml1.zip (puoi scompattarle nella cartella pubtext di SP)

Per ottenere quanto ci necessita, manderemo in esecuzione nsgml.exe con alcuni parametri:

  • Un file contenente la specifica delle entità e la definizione del linguaggio SGML che il parser dovrebbe utilizzare – essenzialmente una definizione di DTD. Da specificare usando l’opzione -c.
  • Il nome di un file che conterrà l’output. Da specificare usando l’opzione -f.
  • Il file che deve essere validato.

In realtà, nsgml.exe prevede molti altri parametri che non verranno descritti in questa sede. Troverai la documentazione completa presso http://www.jclark.com/sp/nsgmls.htm

Nota che nsgml.exe proverà a connettersi ad Internet per recuperare il DTD da W3 se non lo hai localmente – di solito nella cartella pubtext.

Ecco un esempio di riga di comando che esegue la validazione di un file XHTML 1.0 dal nome myfile.xhtml: 

c:program filesvalidatornsgmls -s -c pubtextxhtml.soc -f outputfile.log myfile.xhtml

Puoi omettere il parametro -f se desideri l’output nella console.

Nello stesso modo, puoi validare un documento HTML; nell’ipotesi che tu stia utilizzando HTML 4.1:

  c:program filesvalidatornsgmls -s -c pubtexthtml4.soc myfile.html

Presso http://ktmatu.com/info/do-it-yourself-offline-html-validator/ c’è un’ottima descrizione su come incorporare facilmente la funzionalità di validazione nell’explorer di Windows.

I messaggi di errore di SP sono, a prima vista, alquanto criptici, ma dopo un po’ di pratica non sono così difficili da interpretare. Di solito contengono abbastanza informazioni per riuscire a risalire alle linee di codice incriminate. Numeri come “3:12” indicano che qualcosa è andato storto nella linea 3, colonna 12. Si può anche costruire un semplice parser che prelevi la linea, la colonna ed il messaggio di errore. Ma credo che ciò sia proprio quello che è stato implementato dal servizio di validazione del W3

Ora integriamolo con FrontPage…

Condividi:

Roberto Castaldo

Sono nato e vivo a Napoli, ed opero professionalmente nel mondo dell'informatica da più di vent'anni. In realtà l'informatica, insieme alla musica e ad altre poche cose, è stato da sempre un mio chiodo fisso, e la buona sorte mi ha aiutato a trasformarlo in un mestiere. Sin dalle mie primissime esperienze lavorative - insegnavo dattilografia ed i primi rudimenti di informatica in una scuola privata - mi sono trovato a mio agio nel settore della formazione e della divulgazione, certamente aiutato dai miei studi classici. Nel 1987 ho iniziato la mia attività come insegnante d'informatica in un Istituto Professionale Statale - per circa due anni sono stato il più giovane insegnante di ruolo d'Italia. Ho avuto svariate esperienze anche nel settore privato come sviluppatore (TPascal - lo ricordate? - VB, ASP e, più di recente VB.NET ed ASP.NET), ma soprattutto come docente e come divulgatore. Ho effettuato attività di formazione presso le più grandi realtà imprenditoriali italiane (IBM, Omnitel, Telecom Italia, TIM, Unicredito, Ekip, BNL, SSGRR), ma anche all'estero in qualità di docente e/o progettista di percorsi formativi; gli argomenti spaziano dal mondo Office fino al multimedia ed alla programmazione avanzata ASP ed ASP.NET. Ho collaborato con l'Istituto Italiano per gli Studi Filosofici di Napoli, ho redatto articoli/tutorial per un'importante rivista informatica (Win98 Magazine), ed ho partecipato allo sviluppo di CD-Rom Multimediali (IBM, Selfin, BNL) curando personalmente la registrazione dei commenti audio ed il montaggio delle musiche (CoolEdit), l'eventuale connessione a database remoti, l'assemblaggio degli elementi testuali, grafici e multimediali (Director 8) fino alla creazione del master definitivo. Negli anni 1998-2000 ho collaborato con la Gazzetta dello Sport Online curando, in occasione dei più importanti avvenimenti sportivi (Mondiali ed Europei di calcio, Giro d'Italia, Campionato di Serie A) le pagine contenenti la traduzione in inglese e francese degli articoli in italiano. Il mio compito consisteva nell'inviare ai miei traduttori la cronaca in italiano, riceverne la traduzione, creare le pagine inglesi e francesi del sito www.gazzetta.it e pubblicarle sul server, il tutto entro 90 minuti dalla fine dell'evento. Nel frattempo, mi avvicinavo in maniera sempre più approfondita alle problematiche legate all'accessibilità di siti web, progettando percorsi di formazione ad hoc, ed aderendo entusiasticamente al progetto webaccessibile.org. Sono stato per diversi mesi membro del XML Protocol Working Group del W3C, ed attualmente partecipo ai lavoro del WAI Web Content Accessibility Guidelines (WCAG) Working Group e del E&O Education ad Outreach Working Group.