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…

Potrebbero interessarti anche i seguenti articoli

  • ConclusioneConclusione Ti ho mostrato come integrare il validatore SP in FrontPage e, quindi, come migliorare facilmente la qualità complessiva dei tuoi documenti web. Chiaramente ci […]
  • IntroduzioneIntroduzione Quante volte hai scritto dei documenti web utilizzando editor di pagine o di testo non in grado di generare correttamente il linguaggio web corrispondente? Potresti non […]
  • Integrazione validatore XHTML in FrontPageIntegrazione validatore XHTML in FrontPage Questo articolo mostra come migliorare la qualità delle tue pagine HTML/XHTML integrando la funzionalità offline di validazione HTML/XHTML in Microsoft FrontPage, […]
  • Integrazione col tuo web server ASPIntegrazione col tuo web server ASP Questa appendice descrive alcuni passi che potrebbero tornarti utili se volessi inserire la validazione all'interno di un web server ASP - come Internet […]
  • Integrazione con FrontPageIntegrazione con FrontPage Microsoft FrontPage (versione 2000 o 2002) supporta Visual Basic for Applications (VBA) che utilizzeremo per integrare la validazione nei menu di sistema così che la […]

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.