Il mar, 2002-04-09 alle 12:37, linux.anc@email.it ha scritto: > Ciao > [snip[ > > > > > meno di non considerare buona una perdita consistente di dati ? > > > > > > > > la cosa migliore sarebbe una XSLT che processi l'HTML e produca il TXT > > > > (quell'html non e` poi cosi' malvagio, dopo tutto). pero` non sono a > > > > conoscenza di nessuno script che lo faccia. > > > Non e' possibile. XSLT richiede un imput ben formato (XML), HTML non lo > > > e', pensa ad esempio al tag <br>, che in HTML e' regolare, mentre in XML > > > non lo e'... > > > > XSLT si applica ad un albero DOM e se leggi attentamente il testo della > > specifica del W3C scopri che DOM vale anche per HTML. la libxml2 e' > > perfettamente in grado di fare i parsing di un file HTML (purche' non > > contenga errori, come un tag <td> non chiuso), poi puoi processarlo con > > la libxslt1. vedi anche i comandi xsltproc e xmlshell. > Esattamente, ma html _contiene_ tag non chiusi (a meno che chi lo scrive > si preoccupi di controllare accuratamente il tutto), ma lo standard HTML > accetta tag del genere <BR> che, invece un DOM per formattato non puo' > accettare (aperto e non chiuso). allora, visto che continui a battere sui tasti come una scimmia impazzita invece di pensare (od andare a leggere gli standard del w3c), per favore fai attenzione alla frase seguente. * * * html ben formato != tutti i tag chiusi * * * chiaro? ok, andiamo avanti... un parser html (come quello presente nella libxml2) e' *perfettamente* in grado di produrre un albero dom a partire da un file html con i tag aperti. in effetti, la definizione (nel DTD) di <br> *specifica* che deve essere aperto. e <p> viene consideramo *implicitamente* chiuso al prossimo tag di un certo tipo. > Io non so se qualche buonanima ha implemetato una liberia che preveda > queste eccezioni (nel senso XML), comunque se provi a gestire tramite > xslt un html 9 volte su 10 hai casini. perche' e' html sbagliato. se segue il dtd il problema non sussiste. se ancora non mi credi, ti mando la xslt che esegue il parsing dei risultati di google, senza alcun problema. -- Federico Di Gregorio Debian GNU/Linux Developer & Italian Press Contact fog@debian.org INIT.D Developer fog@initd.org Best friends are often failed lovers. -- Me
Attachment:
signature.asc
Description: PGP signature