Talk:JRT: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Otiks (talk | contribs)
Spachel (talk | contribs)
No edit summary
Line 14: Line 14:
* 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.
* 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.  
Tööga on nähtud vaeva, XSLTd 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:'''
'''Näide:'''

Revision as of 17:05, 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, XSLTd 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.