Talk:JRT: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Spachel (talk | contribs)
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..."
 
Otiks (talk | contribs)
Line 1: Line 1:
==Hinnang meeskonna JRT esitatud XML-failidele==
==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_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>


Name: Peeter Banaan<br />
JRT esitatud töö asub [https://wiki.itcollege.ee/index.php/JRT#XML siin].
Member status: gold<br />
Workouts and prices:
* Balance: 39.99EUR
* Balance: 39.99EUR
* Balance: 39.99EUR
* Gym: 69.99EUR
* Yoga: 39.99EURYoga: 39.99EURYoga: 39.99EUR

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.