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 | |