HtmlFixer.java siistii ja korjaa syötteenä annetun HTML-fragmentin. Korjatun HTML-fragmentin ympärille lisätään <div>-elementti. Jos siistiminen ei onnistu, ohjelma ei palauta mitään.
Ohjelma käyttää siistimiseen JTidy-ohjelmaa. Ulostulo on useimmissa tilanteissa validia HTML 1.0 Strict -koodia, mutta JTidy ei takaa tuloksen validiutta.
Ohjelma sisältää yksikkötestauksen, jossa mitataan laskentaan menevä aika. Testitapausten ulostulo on koottu tiedostoon out.html. Testi on ajettavissa testrun.sh-skriptillä. Yksittäisen lyhyen (<10KB) fragmentin korjaukseen menee aikaa n. 10-100 ms.
Validator.java demonstroi HTML-dokumentin osan tai minkä tahansa XML-dokumentin validointia. Validointi on toteutettu SAX-parserina, joka ei käsittele koodia mitenkään, mutta heittää poikkeuksen ensimmäisestä löytämästään virheestä.
Koodi perustuu pääosin Sunin sivuilla olevaan tutoriaaliin XML:n käsittelystä Javalla: Working with XML.
Yksinkertaiset virheet saa poistettua koodista esikäsittelemällä tiedot HTML Tidy -ohjelmalla. Käyttöesimerkki: (linux, julkaisupäivä 1.2.2002)
Esimerkin asetustiedostolla Tidy muuntaa lähtötiedoston striktiin XHTML 1.0 -muotoon.
Miika Nurminen
22.10.2003