Talk:JRT: Difference between revisions
Created page with "==Hinnang meeskonna JRT esitatud XML-failidele== [https://wiki.itcollege.ee/index.php/JRT#XML JRT failid asuvad siin] Koostaja: [https://wiki.itcollege.ee/index.php/Team_SPO..." |
|||
Line 1: | Line 1: | ||
==Hinnang meeskonna JRT esitatud XML-failidele== | ==Hinnang meeskonna JRT esitatud XML-failidele== | ||
Koostaja: [https://wiki.itcollege.ee/index.php/Team_SPOT Team SPOT] | Koostaja: [https://wiki.itcollege.ee/index.php/Team_SPOT Team SPOT] | ||
Line 19: | Line 17: | ||
'''Näide:''' | '''Näide:''' | ||
<blockquote style="background-color: whitesmoke; border: solid thin grey; display: inline-block; padding:10px"> | |||
Name: Peeter Banaan<br>Member status: gold<br>Workouts and prices: | |||
<ul> | |||
<li> Balance: 39.99EUR</li> | |||
<li> Balance: 39.99EUR</li> | |||
<li> Balance: 39.99EUR</li> | |||
<li> Gym: 69.99EUR</li> | |||
<li> Yoga: 39.99EURYoga: 39.99EURYoga: 39.99EUR</li> | |||
</ul> | |||
</blockquote> | |||
JRT esitatud töö asub [https://wiki.itcollege.ee/index.php/JRT#XML siin]. | |||
Revision as of 16:40, 26 March 2017
Hinnang meeskonna JRT esitatud XML-failidele
Koostaja: Team SPOT
Meeskond JRT on esitanud XML-faili, skeemifaili ja kaks XSLT-faili andmete transformeerimiseks HTML- ja XML-formaati. Transformatsioonid sisaldavad enam kui ühte for-each-klauslit. HTML-väljundiga transformatsioonis on kasutatud nelja for-eachi ja kolme if-tingimust. XML-väljundiga transformatsioonis on kasutatud viite for-eachi ja kolme if-tingimust. XML valideerub ja loogilisi dimensioone on viis. Neljal dimensioonil on kasutatud atribuute, mis on enam kui lihtsalt ID. Töö põhinõuded on täidetud.
Märkused XMLi/XSD kohta:
- elemendi <user> id-atribuudi väärtuse unikaalsus ei ole tagatud
- elemendile <user> saab lisada piiramatul arvul sama alamelementi: <firstName>, <lastName>, <born>, <sex>, …
- elemendil <user> on kõigi <subscription>-elementide type määratud kõige ülemisel tasemel status-atribuudiga, aga see võiks olla <subscription>-tasemel, et võimaldada rohkem paindlikkust
- atribuuti id (unikaalset) võiks kasutada ka teiste “liigielementide” puhul, sest:
- elemente <subscription> saab sama name-atribuudiga lisada piiramatul arvul
- elemendi <subscription> alla saab lisada piiramatul arvul <price>-elemente samade type- ja currency-atribuutide väärtustega
- elemendi <subscription> name-atribuudiga võib tekkida probleeme, kui atribuuti pandud nimi sisaldaks erimärke, seega oleks mõistlikum name-atribuut asendada eraldi alamelemendiga <name></name>, kus saaks kasutada CDATAt.
Tööga on nähtud vaeva, XSLid on koostatud arusaadavalt, kuid XSD ja XML vajaksid täiendamist, et vältida võimalikke ohukohti andmete saatmisel. Vastasel korral võivad ka transformatsioonid ootamatusi toota (vt näidet). Põhiline oleks XSDs ära märkida, kui palju mingit elementi esineda võib ning tagada ka id-atribuudi unikaalsus. XMLi koostamise puhul tuleks läbi mõelda kas atribuudid on mõistlikult valitud või saaks neid esitada paremini alamelementidena.
Näide:
Name: Peeter Banaan
Member status: gold
Workouts and prices:
- Balance: 39.99EUR
- Balance: 39.99EUR
- Balance: 39.99EUR
- Gym: 69.99EUR
- Yoga: 39.99EURYoga: 39.99EURYoga: 39.99EUR
JRT esitatud töö asub siin.