HW01

Pēdējais mainījis superadmin 2018-01-12 21:34

HW01 - HTML Tīrīšana

Mērķis:
Priekš dažām Web vietnēm iztīrīt Web lapas un pārveidot tās XHTML formātā pirms noglabāšanas datubāzē. Izveidot atbilstošas "pluginojamas" Spring bean komponentes satura attīrīšanai.
Apraksts:
Tipiskas Web vietnes satur HTML, kurās konkrētā dokumenta saturam apkārt izvietotas navigācijas joslas, reklāmas baneri. Arī pašos dokumentos mēdz būt sastopams aplams vai nevajadzīgs HTML marķējums, vai arī HTML, kuru nevar apstrādāt kā XML (t.i. kā XHTML). Jūsu uzdevums ir pārveidot to vajadzīgajā formātā ar regulārām izteiksmēm.

Ievads

Ir vairāki veidi, kā veikt HTML tīrīšanu:
  • Var lietot regulāru izteiksmju aizvietošanu (sk., piemēram, <<>> pakotni.) Piemēram, lai izdzēstu no dokumenta visus "FONT" tagus, var lietot sekojošu regulāras izteiksmes aizvietošanu:

    "<font[^<>]*>(.*?)</font>"
    aizstāt ar 
    "1"
    

    Tas nozīmē, ka ikvienu atverošā un tuvākā aizverošā "FONT" taga pāri izdzēš un patur tikai to izteiksmes daļu, kas nonāca pirmajās apaļajās iekavās - (.*?), t.i. visu,kas bija rakstīts STARP šiem tagiem neizdzēš.

  • Veic parsēšanas darbības ar TagSoup parsētāju.
  • Dokumentam pielieto HTML Tidy procesu, kas dokumentā iztīra ļoti daudzus nevajadzīgos tagus; turklāt var pārveidot to XHTML (t.i. XML-iskā) formā.
  • XML Dokumentam pielieto XSLT transformāciju

    Ņemot vērā daudzās bibliotēkas, ir būtiski izmantot modulāru/objektorientētu projektējumu, nevis rakstīt visus izsaukumus garā, nepārskatāmā un nekonfigurējamā virknē

Uzdevuma apraksts

Izvēlēties vienu no 4 tīrīšanas paņēmieniem un izveidot tam atbilstošu komponenti (t.i. regulāro izteiksmju aizvietotāju, XML Tidy procesu, XSLT transformāciju vai TagSoup rīka komandrindu). Konfigurēt Jūsu kodu kopā ar 1.praktisko darbu tā, lai Jūsu definētā konfigurējamā tīrīšanas klase tiktu pielietota saturam no visām URL adresēm, kuras atbilst noteiktam "URL-paternam" (t.i. URL-iem, kas atbilst dotajai regulārai izteiksmei). Izveidot JUnit testus, kuri pārbauda, ka dokumentu, ko ievada kā String vai Reader objekti tiek pareizi iztīrīti.

Aplikācijas raksturlielumi

Piegādājamais kods:
Klase (Spring konfigurējama komponente), kura nodrošina konfigurējamu tīrīšanas procesu saskaņā ar vienu no 4 minētajām stratēgjijām.
Ievade/Izvade:
Katra tīrīšanas komponente saņem satura dokumentu kā String mainīgo un arī tīrīšanas rezultāts ir String mainīgais.

Bibliogrāfija

Tagi:
Izveidojis Kalvis Apsītis 2007-10-19 15:19
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation