Minions: Difference between revisions
Line 311: | Line 311: | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</pre> | </pre> | ||
=== 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. | |||
<nowiki>"Tingimused:" asub <ul> vahel <ul></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> | |||
==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:26, 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
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 |