Meeskond "KM"
From ICO wiki
Jump to navigationJump to search
LIIKMED
- Kristian Kalm
- Hendri Mikita
Kodutöö XML osa
Teemaks oleme valinud liiklus teooria eksami sooritamise keskonna.
XML Fail
Juurelemendiks on <node>, mille sees asuvad alam elemendid <result> , iga päringuga tuleb kaasa result element, kus on ära määratud päringu tulemus, juhul kui tulemus leitakse antakse sisu elemendis mille alamelemendid on <user> <tests> <schools> <testquestions> - viimasel kolmel on alam elemendid sama nimetusega ainsuses.
<test> - hoitakse kasutaja testi ajalugu <testquestion> - hoitakse ühe testi tulemust ja vastavaid küsimusi omakorda <question> elemendis <school> - hoitakse autokoole, kaasa antakse ka elemendis <reviews> antud ülevaated kooli kohta
XML koos näidisandmetega
<?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="liiklustest.xsl"?> <node> <result> <id>1</id> <success>true</success> <message>Andmed leiti</message> </result> <data> <user> <id>11</id> <name>Enn Seen</name> <email>email@email.com</email> <hash>1b855b48c60892590f99f09fa082b344</hash> <birthday>1995-02-19</birthday> <school>Autosoit OÜ</school> <reg_date>2014-02-19</reg_date> <last_seen>2014-02-19</last_seen> <facebook_id>100000921243013</facebook_id> <level>1</level> </user> <tests> <test> <id>1</id> <type>0</type> <start_date>2014-02-19 00:00:00</start_date> <end_date></end_date> <time_count>3500</time_count> <question_count>60</question_count> <correct_count>0</correct_count> </test> <test> <id>2</id> <type>0</type> <start_date>2014-02-19 00:00:00</start_date> <end_date>2014-02-19 00:01:00</end_date> <time_count>0</time_count> <question_count>60</question_count> <correct_count>45</correct_count> </test> <test> <id>3</id> <type>0</type> <start_date>2014-02-19 00:00:00</start_date> <end_date>2014-02-19 00:01:00</end_date> <time_count>1500</time_count> <question_count>50</question_count> <correct_count>49</correct_count> </test> <test> <id>4</id> <type>2</type> <start_date>2014-02-19 00:00:00</start_date> <end_date>2014-02-19 00:01:00</end_date> <time_count>200</time_count> <question_count>50</question_count> <correct_count>20</correct_count> </test> <test> <id>5</id> <type>1</type> <start_date>2014-02-19 00:00:00</start_date> <end_date>2002-02-19 00:01:00</end_date> <time_count>500</time_count> <question_count>50</question_count> <correct_count>33</correct_count> </test> </tests> <schools> <school> <id>1</id> <name>ABC Koolitus</name> <agent>Jaan Ervin ÜksJalg-Värav</agent> <address>Kohila 4</address> <mobile>564321</mobile> <number></number> <email>jeüjv@abc.ee</email> <rating>4.5</rating> <reviews> <review> <id>1</id> <user_name>Enn</user_name> <stars>5</stars> <comment>Korralik koht, Jaan oli veits ülbe</comment> </review> <review> <id>2</id> <user_name>Teet</user_name> <stars>4</stars> <comment>Soovitan</comment> </review> </reviews> </school> <school> <id>2</id> <name>Autokool Tühi Kumm</name> <agent>Peeter Eeter</agent> <address>Moskva 6</address> <mobile>3725555555</mobile> <number>56783333</number> <email>eeter@kumm.ee</email> <rating>3</rating> <reviews> <review> <id>3</id> <user_name>Teele Eeter</user_name> <stars>3</stars> <comment>Jama</comment> </review> <review> <id>4</id> <user_name>Tiit</user_name> <stars>2</stars> <comment>Väga kallis ja jube koht</comment> </review> <review> <id>5</id> <user_name>Aleksei</user_name> <stars>4</stars> <comment>Norm</comment> </review> </reviews> </school> </schools> <testquestions> <testquestion> <id>1</id> <answer>111</answer> <answer_correct>1</answer_correct> <date>2014-02-19</date> <question> <id>1</id> <name>Millised isikukahjud nimetatutest hüvitatakse liikluskindlustuse seaduse alusel?</name> <answ_one>Ajutisest või püsivast töövõimetusest tulenev kahju.</answ_one> <answ_two>Kannatanu ravikulud.</answ_two> <answ_three>Isikukahjuga seotud valu ja vaev.</answ_three> <bin_answ>111</bin_answ> <picture></picture> <category>a</category> <language>est</language> </question> </testquestion> <testquestion> <id>2</id> <answer>101</answer> <answer_correct>0</answer_correct> <date>2014-02-19</date> <question> <id>2</id> <name>Millised ohud tekivad sõites märjal munakivisillutisel?</name> <answ_one>Rattad võivad pidurdamisel kergesti blokeeruda.</answ_one> <answ_two>Kukkumisoht on suurenenud.</answ_two> <answ_three>Kiirendusel võib tagaratas libisema hakata.</answ_three> <bin_answ>111</bin_answ> <picture></picture> <category>a</category> <language>est</language> </question> </testquestion> <testquestion> <id>3</id> <answer>10</answer> <answer_correct>0</answer_correct> <date>2014-02-19</date> <question> <id>3</id> <name>Millele peate tähelepanu pöörama, kui soovite kaasa võtta kaassõitja?</name> <answ_one>Kaassõitja võiks kanda sobivat kaitseriietust.</answ_one> <answ_two>Rehvirõhk peab olema koormusega kohandatud.</answ_two> <answ_three></answ_three> <bin_answ>11</bin_answ> <picture></picture> <category>a</category> <language>est</language> </question> </testquestion> <testquestion> <id>4</id> <answer>110</answer> <answer_correct>1</answer_correct> <date>2014-02-19</date> <question> <id>4</id> <name>Millele peate tähelepanu pöörama, kui soovite mootorrattale peale võtta kaassõitja?</name> <answ_one>Millele peate tähelepanu pöörama, kui soovite mootorrattale peale võtta kaassõitja?</answ_one> <answ_two>Mootorrattal peab olema kaassõitja jaoks ettenähtu...</answ_two> <answ_three>Asulasisestel teedel sõites pole kaassõitjal motokiivrit vaja.</answ_three> <bin_answ>110</bin_answ> <picture></picture> <category>a</category> <language>est</language> </question> </testquestion> </testquestions> </data> </node>
XML Skeemifail
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="node"> <xs:complexType> <xs:sequence> <xs:element name="result"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:string" name="success"/> <xs:element type="xs:string" name="message"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="data"> <xs:complexType> <xs:sequence> <xs:element name="user"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:string" name="name"/> <xs:element type="xs:string" name="email"/> <xs:element type="xs:string" name="hash"/> <xs:element type="xs:date" name="birthday"/> <xs:element type="xs:string" name="school"/> <xs:element type="xs:date" name="reg_date"/> <xs:element type="xs:date" name="last_seen"/> <xs:element type="xs:long" name="facebook_id"/> <xs:element type="xs:int" name="level"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tests"> <xs:complexType> <xs:sequence> <xs:element name="test" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:int" name="type"/> <xs:element type="xs:string" name="start_date"/> <xs:element type="xs:string" name="end_date"/> <xs:element type="xs:short" name="time_count"/> <xs:element type="xs:int" name="question_count"/> <xs:element type="xs:int" name="correct_count"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="schools"> <xs:complexType> <xs:sequence> <xs:element name="school" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:string" name="name"/> <xs:element type="xs:string" name="agent"/> <xs:element type="xs:string" name="address"/> <xs:element type="xs:long" name="mobile"/> <xs:element type="xs:string" name="number"/> <xs:element type="xs:string" name="email"/> <xs:element type="xs:float" name="rating"/> <xs:element name="reviews"> <xs:complexType> <xs:sequence> <xs:element name="review" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:string" name="user_name"/> <xs:element type="xs:int" name="stars"/> <xs:element type="xs:string" name="comment"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="testquestions"> <xs:complexType> <xs:sequence> <xs:element name="testquestion" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:int" name="answer"/> <xs:element type="xs:int" name="answer_correct"/> <xs:element type="xs:date" name="date"/> <xs:element name="question"> <xs:complexType> <xs:sequence> <xs:element type="xs:int" name="id"/> <xs:element type="xs:string" name="name"/> <xs:element type="xs:string" name="answ_one"/> <xs:element type="xs:string" name="answ_two"/> <xs:element type="xs:string" name="answ_three"/> <xs:element type="xs:int" name="bin_answ"/> <xs:element type="xs:string" name="picture"/> <xs:element type="xs:string" name="category"/> <xs:element type="xs:string" name="language"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XML Stiilifail
Üldine vaade test andmetele
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <xsl:if test="node/data/user"> <h2>Minu kasutaja</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Nimi</th> <th>Email</th> <th>Sünnipäev</th> <th>Autokool</th> <th>Registreeritud</th> </tr> <xsl:for-each select="node/data/user"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="email"/></td> <td><xsl:value-of select="birthday"/></td> <td><xsl:value-of select="school"/></td> <td><xsl:value-of select="reg_date"/></td> </tr> </xsl:for-each> </table> </xsl:if> <xsl:if test="node/data/tests"> <h2>Minu ajalugu</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Tüüp</th> <th>Alustatud</th> <th>Lõpetatud</th> <th>Küsimusi</th> <th>Testi aeg</th> </tr> <xsl:for-each select="node/data/tests/test"> <tr> <td><xsl:choose> <xsl:when test="type = 0" > ARKi eksam </xsl:when> <xsl:when test="type = 1" > Kooli eksam </xsl:when> <xsl:otherwise> Harjutamine </xsl:otherwise></xsl:choose></td> <td><xsl:value-of select="start_date"/></td> <td> <xsl:choose> <xsl:when test="end_date != ''" > <xsl:value-of select="end_date"/> </xsl:when> <xsl:otherwise> Jätka </xsl:otherwise></xsl:choose> </td> <td> <xsl:choose> <xsl:when test="end_date != ''" > <xsl:value-of select="correct_count"/>/<xsl:value-of select="question_count"/> - <xsl:value-of select="100 div question_count*correct_count"/>% </xsl:when> <xsl:otherwise> <xsl:value-of select="question_count"/> </xsl:otherwise></xsl:choose> </td> <td><xsl:choose> <xsl:when test="end_date != ''" > Kulus <xsl:value-of select="round(question_count - time_count div 60)"/> minutit </xsl:when> <xsl:otherwise> Aega jäänud <xsl:value-of select="round(time_count div 60)"/> minutit </xsl:otherwise></xsl:choose> </td> </tr> </xsl:for-each> </table> </xsl:if> <xsl:if test="node/data/testquestions"> <h2>Test id = <xsl:value-of select="node/data/testquestions/testquestion/id"/> </h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Vastus</th> <th>Õige vastus</th> <th>Kuupäev</th> <th>Küsimus</th> </tr> <xsl:for-each select="node/data/testquestions/testquestion"> <tr> <td><xsl:value-of select="answer"/></td> <td> <xsl:choose> <xsl:when test="answer_correct = 0" > Ei </xsl:when> <xsl:otherwise> Jah </xsl:otherwise></xsl:choose> </td> <td><xsl:value-of select="date"/></td> <td> <table border="1"> <tr bgcolor="#9aFF32"> <th>Küsimus</th> <th>Vastus1</th> <th>Vastus2</th> <th>Vastus3</th> </tr> <tr> <td><xsl:value-of select="question/name"/></td> <td><xsl:value-of select="question/answ_one"/></td> <td><xsl:value-of select="question/answ_two"/></td> <td><xsl:value-of select="question/answ_three"/></td> </tr> </table> </td> </tr> </xsl:for-each> </table> </xsl:if> <xsl:if test="node/data/schools"> <h2>Minu ajalugu</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Nimi</th> <th>Esindaja</th> <th>Aadress</th> <th>Mobiil</th> <th>Lauatelefon</th> <th>Email</th> <th>Hinne</th> <th>Ülevaated</th> </tr> <xsl:for-each select="node/data/schools/school"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="agent"/></td> <td><xsl:value-of select="address"/></td> <td><xsl:value-of select="mobile"/></td> <td><xsl:value-of select="number"/></td> <td><xsl:value-of select="email"/></td> <td><xsl:value-of select="rating"/></td> <td> <xsl:if test="reviews"> <table border="1"> <tr bgcolor="#9acd32"> <th>Nimi</th> <th>Hinne</th> <th>Hinnang</th> </tr> <xsl:for-each select="reviews/review"> <tr> <td><xsl:value-of select="user_name"/></td> <td><xsl:value-of select="stars"/></td> <td><xsl:value-of select="comment"/></td> </tr> </xsl:for-each> </table> </xsl:if> </td> </tr> </xsl:for-each> </table> </xsl:if> </body> </html> </xsl:template> </xsl:stylesheet>
Teenus
Tegemisel...
Klientrakendus
Tegemisel...
Logi
15.03.2014
- XML retsensioonid valmis
05.03.2014
- XML Wikisse laadimine
04.03.2014
- XML fail sai valmis