Integrazione di TidyCOM in ASP e Python

Per testare le funzionalità del prodotto utilizzeremo l’esempio fornito da Satheesh Babu. I passi per completare l’operazione sono i seguenti:

  1. Estrarre i documenti contenuti nel documento compresso all’interno di una cartella del server web (ad esempio, tidy).
  2. Aprire il documento bad.html: questo documento è generato da Microsoft Word 97 dal quale è stato salvato tramite l’opzione “Salva come HTML”.
  3. Aprire il browser e richiamare la pagina web  http://localhost/tidy/simple.asp (nel caso si trovi nel server locale)
  4. Se non compaiono errori, aprire sia il documento bad.html che il documento good.html visionandone i sorgenti considerando che in questo esempio HTML Tidy non è stato configurato per eliminare le informazioni di Word 2000.

Nel caso di simple.asp la configurazione viene gestita direttamente dal codice ASP:

<%
Dim oTidy
' Crea l'oggetto Tidy
Set oTidy = CreateObject("TidyCOM.TidyObject")

' Imposta le opzioni per Tidy
oTidy.Options.Doctype="strict"
oTidy.Options.DropFontTags=true
oTidy.Options.OutputXhtml=true
oTidy.Options.Indent=2
oTidy.Options.TabSize=8

' Effettua la pulizia di bad.html generando good.html
oTidy.TidyToFile Server.MapPath("bad.html"), Server.MapPath("good.html")

' Pulizia effettuata.
Set oTidy = Nothing
%>

Il secondo documento disponibile è useconf.asp che contiene un richiamo alla configurazione esterna di tidy, ossia al documento tidyconf.txt che potrà essere personalizzato seguendo le indicazioni contenute nella guida di Tidy. Per richiamare il file di configurazione è sufficiente una singola riga di richiamo delle opzioni:

<%
Dim oTidy
' Crea l'oggetto Tidy
Set oTidy = CreateObject("TidyCOM.TidyObject")

' Imposta le opzioni per Tidy
oTidy.Options.Load Server.MapPath("tidyconf.txt")

' Effettua la pulizia di bad.html generando good_2.html
oTidy.TidyToFile Server.MapPath("bad.html"), Server.MapPath("good_2.html")

' Pulizia effettuata.
Set oTidy = Nothing
%>

In questo caso verrà generato un nuovo documento, good_2.html che conterrà il documento originale convertito in XHTML 1.0 Strict senza gli elementi ed attributi di Microsoft Word.

Per quanto riguarda l’integrazione con Python il codice da utilizzare è il seguente:

import win32com.client
objTidy = win32com.client.Dispatch("TidyCOM.TidyObject")
objTidy.Options.Load("tidyconf.txt")
objTidy.TidyToFile("bad.html","good_2.html")
objTidy = NULL

Se invece necessitiamo di pulire dei contenuti presenti all’interno di un database, anziché utilizzare la funzionalità TidyToFile sono disponibili due diverse funzionalità:

  1. TidyToMem (nomedocumento): consente di caricare un documento HTML restituiendo una stringa contenente  il nuovo documento conforme alla DTD ed alle opzioni definite in tidyconf.txt
  2. TidyMemToMem(stringacontenuti): consente di caricare una stringa (proveniente,ad esempio, da un campo di un database) restituiendo una stringa contenente  il nuovo documento conforme alla DTD ed alle opzioni definite in tidyconf.txt

E’ chiaro quindi che per convertire un intero sito web da statico in contenuto dinamico oppure per rendere conforme del codice già presente all’interno di un database è necessario utilizzare queste due ultime funzionalità, creando dei cicli di lettura dei dati presenti in archivio, effettuandone la pulizia e quindi il salvataggio nell’archivio.

Per concludere non resta che raccomandare una corretta definizione dei contenuti di tidyconf.txt, basandosi anche sulle opzioni consentite dal programma TidyCOM facendo presente che Tidy non consente l’esecuzione di più di una sessione dell’oggetto.

Potrebbero interessarti anche i seguenti articoli

  • Installazione di TidyCOMInstallazione di TidyCOM E' oramai risaputo che Dave Raggett è l'autore di HTML Tidy, lo strumento che consente di correggere il contenuto di una pagina web rendendola conforme […]
  • Generare codice XHTML 1.0 Strict in ASP e PythonGenerare codice XHTML 1.0 Strict in ASP e Python Uno dei problemi maggiori che si riscontra in fase di aggiornamento o novazione di siti web esistenti è la conversione dei contenuti attuali. Questa fase è […]
  • 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 […]
  • LIFT Text TranscoderLIFT Text Transcoder Il nuovo prodotto di UsableNet, LIFT Text Transcoder, è un software server che consente di generare istantaneamente una versione solo-testo del vostro sito Web. […]
  • Mappe immagine lato serverMappe immagine lato server Nel caso di mappe server-side, la maggior parte del codice si trova nel server. Il browser non deve fare altro che concatenare - in corrispondenza di un click - le […]
Condividi:

Informazioni sull'autore

Roberto Scano
Roberto Scano
  • Seguilo su

Roberto Scano si occupa di accessibilità dall'inizio del millennio. Ha collaborato allo sviluppo delle WCAG 2.0, delle ATAG 2.0 nonché della normativa italiana in materia di accessibilità. Autore di tre libri in materia, è consulente e formatore nell'ambito della tematica della qualità dei servizi delle P.A. e delle aziende.

Commenti

Nessun commento

    Rispondi

    Link e informazioni