Talk:Meeskond "Symphony No. 7 in C-sharp minor"

From EIK wiki

Retsensioon XML, XSD ja XSL kohta.

Ülesande lahendamiseks on Meeskond "Symphony No. 7 in C-sharp minor" loonud oma wiki lehe ning teinud sellel kättesaadavaks oma XML ülesande lahenduse. Lahenduse sisuks on kortermajades asuvate vee-, elektri- ja gaasimõõtjate näitude kuvamine korterite, korruste ja majade kaupa.

XML

Meeskonna poolt loodud XML fail vastab ülesandes püstitatud dimensionaalsuse nõudele (nõutud 4 dimensiooni asemel on käigus koguni 6 dimensiooni: maja, korterid, korter, mõõtjad, mõõtja, mõõtja andmed). Ülesande püsituses oli nõutud, et  kolmel dimensiooni tulnuks kasutada atribuute, mis on midagi enamat kui lihtsalt ID. Seda on meeskond teinud (kasutusel on hoone: address, hoone suurus, korterite arv; korter: korrus, korteri number, korteri suurus; mõõtja: mõõtja tüüp). XML faili on kogutud märkimisväärne hulk mõõtjate andmeid, seda eriti mõõtjate näitude osas, kus lisaks ID-le kasutatakse veel kaht atribuuti (mõõtmise aeg, mõõdiku näit). Validaator (http://www.w3schools.com/) XML failis vigu ei leidnud.

XSL

Meeskond on hindamiseks esitanud kaks transformatsioonifaili (XmlTransform ja HtmlTransform). Neist esimene transformeerib XML-i teiseks XML-iks, mille tulemust näeme failis XmlTransform.Result. Selle XML transformatsiooni mõte seiseneb selles, et andmete tervikust kuvatakse kõik esimesel korrusel olevad korterid suuruse järjekorras (sort). Toodud on ka maja number. Juhul kui korteris on elektrimõõtja, kuvab transformatsioon ka selle väärtuse. Teisisõnu täidab see transformatsioon ülesande püstituses seatud tingimuskontrolli kriteeriumit (when). Kasutusel on ka üks for-each klausel. Validaator (http://www.w3schools.com/) leidis kontrolli käigus 4. real, 41. tulbas ühe vea: “detected an error in element content”.

Teises transformatsioonifailis (HtmlTransform) transformeeritakse XML-i sisu HTML-iks. Transformatsioonis on kasutatud predefineeritud stylesheet’i. Selle transformatsiooni tulemust on näha failis “HtmlTransform.Result”. Andmed on transformeeritud selliselt, et neid on võimalik sorteerida majade kaupa (collapse). Iga maja kohta on näha ka seal olevate korruste arv (Number of floors). Transformatsioonis kasutatakse tingimuskontrolle (if [registreeritud mõõtjate kontrolliks], when [mõõtja taatlemise kontrolliks]). Ülejäänud osa transformatsioonist on XML väärtuste selekteerimine ning template’i implementeerimine. Validaator (http://www.w3schools.com/) leidis kontrolli käigus 4. real, 41. tulbas ühe vea: “detected an error in element content”. HTML väljundis võiks näidu tulem olla vähemate komakohtadega parema loetavuse mõttes. Väljundisse tekib mitme “valiidse” mõõdiku tulemeid, mis tekitab lugejas segadust - miks on 2 elektrinäitu? Kui neist üks on öine ja teine päevane näit, siis võiks seda ka atribuudiga esile tuua. Sama ka veenäitudega, kus loogiliselt saaks lugeda “sooja” ning “külma” vett, paraku antud andmetega see ei selgu. Tegemist pole antud ülesande skoopi arvestades vigadega, vaid pigem väljundi parema loetavuse nimel tehtavate soovitustega.

XSD

XSD fail on olemas ning jätab mulje nagu seda oleks tublisti käsitsi modifitseeritud. Meeskond ei kasuta päises attributeFormDefault’i ning skeemi andmed on sorditud nimeliste complexType’ide alusel (ArrayOfHouse, House, ArrayOfFlat, Flat, ArrayOfMeter, Meter, ArrayOfMeterReading, MeterReading, TypeOfMeter). Validaator (http://www.w3schools.com/) XSD failis vigu ei leidnud.

Retsenseeris Vrii-team.