Talk:Sille

From EIK wiki

Retsensioon XML ülesandele.

Ülesande lahendamiseks on meeskond “Sille” loonud oma wiki lehe ning teinud sellel kättesaadavaks oma XML ülesande lahenduse. Lahenduse sisuks on erinevate riigimaanteedel olevate sildade ning nende parameetrite kaardistamine.

XML

Meeskonna poolt loodud XML fail ei vasta täielikult ülesande püsitusele (nõutud minimaalse 4 loogilise dimensiooni asemel on peamiselt realiseeritud 3: Sillad, Sild, Asukoht/Ylevaatus jne; mõnedes kohtades on viimane neist eraldi lahti võetud, mis kohati loob 4 dimensiooni). Ülesandes oli kohustuseks vähemalt kolme loogilise dimensiooni puhul kasutada atribuute, mis on keerulisemat kui lihtsalt ID. See nõue on realiseeritud samuti osaliselt, sest tasandeid, millel eraldi atribuute kasutatakse on enamasti kaks (<Sild>, <Asukoht>) või koguni sama tasandi eri olemites (<Asukoht>, <Kandevõime> jne jms). Sellele vaatamata on XML-iga kaasas piisav kogus andmeid andmaks ettekujutuse, mis on käesoleva XML faili funktsioon. Validaator (http://www.w3schools.com/) XML failis vigu ei leidnud.

XSL

Meeskond on valmistanud kaks transformatsioonifaili nagu nõutud. HMTL transformatsiooni mõte seisneb selles, et XML failist valitakse Pärnu maakonna sillad ning need kuvatakse järjest loendina (<li>). Teiseks kuvatakse need sillad, mille kasutamissagedus on alla 500 auto 24h kohta. Nõutud kontrollidest on kasutatud üht (if [maakonna ja liikussageduse valimisel]). Tingimuslikult olid nõutud parameetrid ning neid on meeskond oma töös ka kasutanud (näiteks: name="maakond" select="'Pärnu'"). Samuti on käigus for-each klausel. Validaator (http://www.w3schools.com/) leidis XSL failis ühe vea 39. real, 89. tulbas: “Unexpected ‘<’ not allowed in attribute values”.

Teises transformatsioonifailis (XSLT 2) realiseeritakse XML transformatsioon taaskord HTML-iks. Seega on meeskond koostanud kaks HTML faili transformatsiooni, kuid jätnud esitamata transformatsiooni, mis XML faili formaati. Nii või teisiti realiseeritakse teises transformatsioonis nende XML failis olevate sildade selekteerimine, mille kandevõime on seotud valitud piirväärtusega. Kahetsusväärsel moel on valikusse sattunud kahel korral sama parameeter (<xsl:value-of select="$kandevõime"/>), mis muudab transformatsiooni sisu mõistmise natuke raskeks. Kolmanda parameetrina kutsutakse välja autorongide osakaal (mis on sooritatud tulemuslikult). Transformatsioonis on kasutatud üht tingimuskontrolli (when) kandevõimete ning osakaalude omavaheliseks võrdluseks ning vastavatele tingimustele vastavate sillanimede väljakutsumiseks. Kasutusel on ka for-each klausel. Validaator (http://www.w3schools.com/) leidis XSL failis ühe vea 32. real, 45. tulbas: “Unexpected ‘<’ not allowed in attribute values”.

XSD

Skeemi fail tundub olevat kompileeritud automaatselt. Validaator (http://www.w3schools.com/) XSD failis vigu ei leidnud. Positiivse poole pealt tuleb märkida, et on kasutatud mitmeid piiravaid tingimusi. Samas jääb arusaamatuks “kandevõime” enumeratsioon. Tundub, et on järjest loetletud xml failis toodud väärtusi. Milleks selline piirang, kui pea iga sillaga tekib teoreetiliselt uus väärtus? Ilmselt võiks antud piirangu kasutamisest hoiduda või proovida leida mingit süsteemsemat lähenemist.

Retsenseeris Vrii-team.