Minions: Difference between revisions
Line 327: | Line 327: | ||
<nowiki>See on ebakorrektne, peaks olema <ul><li>Tingimused: </li><ul>... ning järgnev ul on ka ülearune, pigem sobiks <div></nowiki> | <nowiki>See on ebakorrektne, peaks olema <ul><li>Tingimused: </li><ul>... ning järgnev ul on ka ülearune, pigem sobiks <div></nowiki> | ||
<nowiki><b> asemel on tänapäeval kasutusel <strong> jne, aga see pole XHTML'i retsensioon, seega andeks antav</nowiki> | <nowiki><b> asemel on tänapäeval kasutusel <strong> jne, aga see pole XHTML'i retsensioon, seega andeks antav</nowiki> | ||
XSD | |||
SpeedMeasure oleks võinud defineerida enum'ina, et saaks valida inult MHz ja GHz, sest praegusel vabateksti kujul annab sisestada ka mhz ja asd jne | |||
==Projekti lähtekood== | ==Projekti lähtekood== | ||
Useradmin teenus + klient ja lisaks CarBuilder teenus | Useradmin teenus + klient ja lisaks CarBuilder teenus | ||
https://googledrive.com/host/0B2pwyo9UUzS8aUg5cUVjS2Qtdzg/ | https://googledrive.com/host/0B2pwyo9UUzS8aUg5cUVjS2Qtdzg/ |
Revision as of 10:36, 16 June 2014
XML kodutöö
Süsteemi unixi kasutajate loetelu koos servicitega
XML fail
<?xml version="1.0"?> <kasutajad xmlns="http://www.w3schools.com/useradmin.xsd"> <kasutaja id="0" name="Ülemboss"> <username>superroot</username> <services> <service id="0" option="0"> <comment>Root-level user w/ most superior access</comment> </service> <service id="1" option="0"> <comment>Premium subscription until end of service</comment> </service> </services> <contacts> <contact type="email">superroot@dev.null</contact> <contact type="phone">+372 543 210 00</contact> </contacts> </kasutaja> <kasutaja id="1" name="Juurkasutaja"> <username>root</username> <services> <service id="0" option="0"> <comment>Root-level user w/o premium service</comment> </service> </services> <contacts> <contact type="email">root@dev.null</contact> <contact type="phone">+372 543 210 01</contact> </contacts> </kasutaja> <kasutaja id="2" name="Administraator"> <username>admin</username> <services> <service id="0" option="1"> <comment>Admin-level user w/o premium service</comment> </service> </services> <contacts> <contact type="email">admin@dev.null</contact> <contact type="phone">+372 543 210 02</contact> </contacts> </kasutaja> <kasutaja id="3" name="Kaspar Kund"> <username>kaspar</username> <services> <service id="0" option="1"> <comment>Admin-level user</comment> </service> <service id="1" option="0"> <comment>Premium subscription until end of service</comment> </service> </services> <contacts> <contact type="email">kaspar.kund@itcollege.ee</contact> <contact type="phone">+372 543 210 03</contact> </contacts> </kasutaja> <kasutaja id="4" name="Tõnis Markus"> <username>tonis</username> <services> <service id="0" option="0"> <comment>Admin-level user</comment> </service> <service id="1" option="0"> <comment>Premium subsciption until end of service</comment> </service> </services> <contacts> <contact type="email">tonis.markus@itcollege.ee</contact> <contact type="phone">+372 543 210 04</contact> </contacts> </kasutaja> <kasutaja id="5" name="Lasse Kolkanen"> <username>lasse</username> <services> <service id="0" option="1"> <comment>Admin-level user</comment> </service> <service id="1" option="0"> <comment>Premium subsciption until end of service</comment> </service> </services> <contacts> <contact type="email">lasse.kolkanen@itcollege.ee</contact> <contact type="phone">+372 543 210 05</contact> </contacts> </kasutaja> <kasutaja id="6" name="Moderaator"> <username>mod</username> <services> <service id="0" option="2"> <comment>Moderator-level user</comment> </service> </services> <contacts> <contact type="email">mod@dev.null</contact> <contact type="phone">+372 543 210 06</contact> </contacts> </kasutaja> <kasutaja id="7" name="Peamoderaator"> <username>supermod</username> <services> <service id="0" option="2"> <comment>Moderator-level user</comment> </service> <service id="1" option="0"> <comment>Premium subsciption until end of service</comment> </service> </services> <contacts> <contact type="email">supermod@dev.null</contact> <contact type="phone">+372 543 210 07</contact> </contacts> </kasutaja> <kasutaja id="8" name="Pro moderaator"> <username>promod</username> <services> <service id="0" option="2"> <comment>Moderator-level user</comment> </service> <service id="1" option="1" date="2015-02-01"> <comment>Finite period premium user</comment> </service> </services> <contacts> <contact type="email">promod@dev.null</contact> <contact type="phone">+372 543 210 08</contact> </contacts> </kasutaja> <kasutaja id="9" name="Pro kasutaja"> <username>prouser</username> <services> <service id="0" option="3"> <comment>Consumer-level user</comment> </service> <service id="1" option="1" date="2015-01-01"> <comment>Finite period premium user</comment> </service> </services> <contacts> <contact type="email">promod@dev.null</contact> <contact type="phone">+372 543 210 09</contact> </contacts> </kasutaja> <kasutaja id="10" name="Kasutaja"> <username>user</username> <services> <service id="0" option="3"> <comment>Consumer-level user</comment> </service> </services> <contacts> <contact type="email">user@dev.null</contact> <contact type="phone">+372 543 210 10</contact> </contacts> </kasutaja> </kasutajad>
Skeemifail
<?xml version="1.0"?> <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.w3schools.com/useradmin.xsd" xmlns:this="http://www.w3schools.com/useradmin.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="kasutajad"> <xs:complexType> <xs:sequence> <xs:element name="kasutaja" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="username" type="xs:token" minOccurs="1" maxOccurs="1"/> <xs:element name="services"> <xs:complexType> <xs:sequence> <xs:element name="service" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="id" type="xs:long" use="required"/> <xs:attribute name="option" type="xs:integer" /> <xs:attribute name="date" type="xs:date" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="contacts" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="contact"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" use="required" > <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="email"/> <xs:enumeration value="phone"/> <xs:enumeration value="skype"/> <xs:enumeration value="mobile"/> <xs:enumeration value="website"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:long" use="required" /> <xs:attribute name="name" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
1. XSL
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:s="http://www.w3schools.com/useradmin.xsd"> <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Kasutajad</title> </head> <body> <h1>Kasutajate teenused</h1> <ul> <xsl:for-each select="s:kasutajad/s:kasutaja"> <li> <xsl:value-of select="s:username"/> <ul> <xsl:for-each select="s:services/s:service"> <li> <xsl:value-of select="s:comment"/> </li> </xsl:for-each> </ul> </li> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet>
2. XSL
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:s="http://www.w3schools.com/useradmin.xsd"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <andmed> <xsl:for-each select="s:kasutajad/s:kasutaja"> <kasutaja> <nimi> <xsl:value-of select="s:username"/> </nimi> <xsl:for-each select="s:services/s:service"> <teenus> <xsl:value-of select="s:comment"/> </teenus> </xsl:for-each> </kasutaja> </xsl:for-each> </andmed> </xsl:template> </xsl:stylesheet>
Retsensioon MRPD xmli kodutööle
XML ArvuteidKlassis="2" on üleliigne, alamelementide arvu saab xslt's count funktsiooniga kätte ning kui elemente peaks juurde tulema, siis võib atribuudi väärtuse muutmine ära ununeda ja andmed ei klapi enam
1 xslt puhul annab oletada, et esimesel katsel ei suudetud xpath'i nimedega kasutada ning mindi massiivi elementide järjekorra numbri järgi küsimise teed "*/*[1]" või siis demonstreeritii, et nii saab ka, xslt loetavusele see kaasa ei aita, xml'ist või xsd'st tuleb järgi vaadata, milline on 1. element, milline 2. jne
2 xslt puhul "arvuti( t )" asemel on kasutatud when tingimust, et tagada õige väljend kui on 1 või rohkem arvutit - see on tervitatav
JAH / EI tekstide kuvamise jaoks oleks võinud kasutada eraldi template'i, siis ei pea kahes kohas muutma, kui otsustatakse kirjaviisi muuta, näiteks Jah / Ei.
"Tingimused:" asub <ul> vahel <ul> See on ebakorrektne, peaks olema <ul><li>Tingimused: </li><ul>... ning järgnev ul on ka ülearune, pigem sobiks <div> <b> asemel on tänapäeval kasutusel <strong> jne, aga see pole XHTML'i retsensioon, seega andeks antav
XSD SpeedMeasure oleks võinud defineerida enum'ina, et saaks valida inult MHz ja GHz, sest praegusel vabateksti kujul annab sisestada ka mhz ja asd jne
Projekti lähtekood
Useradmin teenus + klient ja lisaks CarBuilder teenus https://googledrive.com/host/0B2pwyo9UUzS8aUg5cUVjS2Qtdzg/
Minions | ||
Õppeaine: | Võrgurakendused II | |
Meeskond: | Tõnis Markus (Projektijuht) Kaspar Kund Lasse Kolkanen | |
Juhendaja: | Mait Poska |