VRJ: Difference between revisions
Line 364: | Line 364: | ||
Selle töö ülesandeks oli luua XML andmefail, kaks XSLT faili XML ja HTML väljunditega ja tiimil kõik need osad on ära tehtud. Loogilisi dimensiooni arv rahuldab püstitatud ülesande, samuti atribuutide arv (id erinev) on kolmel elementidel. Võiks ka olla kasutusel CDATA kus seda vaja, et välistada võimalust, et sisu interpreteeritakse XML-na Minu arust XML struktuuri võiks natuke parandada ja loogilisem teha: kuna <Logs> on konkreetse | Selle töö ülesandeks oli luua XML andmefail, kaks XSLT faili XML ja HTML väljunditega ja tiimil kõik need osad on ära tehtud. Loogilisi dimensiooni arv rahuldab püstitatud ülesande, samuti atribuutide arv (id erinev) on kolmel elementidel. Võiks ka olla kasutusel CDATA kus seda vaja, et välistada võimalust, et sisu interpreteeritakse XML-na. Minu arust XML struktuuri võiks natuke parandada ja loogilisem teha: kuna <Logs> on konkreetse | ||
<User> logid, siis neid võiks panna alamelementidena, mitte samal tasemel kõrvuti. | <User> logid, siis neid võiks panna alamelementidena, mitte samal tasemel kõrvuti. | ||
Line 374: | Line 374: | ||
</pre> | </pre> | ||
XSD on automaatselt genereeritud ja siin palju ütelda ei saa, aga mõned kohad vajavad tähelepanu:<xs:attribute name="id" type="xs:unsignedByte" use="required" />, igal pool id väärtuste tüübiks võiks olla int. Departments elemendi sees vist ei ole vaja sequence, võiks panna All. <xs:attribute name="week" type="xs:unsignedByte" use="required" />, siin on sama vihje, et | XSD on automaatselt genereeritud ja siin palju ütelda ei saa, aga mõned kohad vajavad tähelepanu:<xs:attribute name="id" type="xs:unsignedByte" use="required" />, igal pool id väärtuste tüübiks võiks olla int. Departments elemendi sees vist ei ole vaja sequence, võiks panna All. <xs:attribute name="week" type="xs:unsignedByte" use="required" />, siin on sama vihje, et võiks inti panna. XML esimene transformatioon ei vasta ülesande nõutele, kuid väljastab kogu informatsiooni, mis on olemas ehk täidab ikkagist oma ülesande. XML teine transformatsioon on hästi tehtud, kasutatud tsüklid, tingimuste kontrollid, sum, choose jne. | ||
XML | |||
==Logi== | ==Logi== |
Revision as of 20:34, 27 March 2016
Meeskonna liikmed
- Jevgeni Gavrilov
- Vladimir Nitsenko
- Riho Uusjärv
Teema
Teemaks erinevate autode hoidla, millest väljastame sobiva kriteeriumi järgi HTML-i.
XML
<?xml version="1.0" encoding="utf-8" ?> <automargid> <automark nimetus="Volkswagen" riik="Saksamaa"> <mudelid> <mudel nimi="Passat" varv="punane"> <andmed> <voimsus yhik="kw"><![CDATA[118]]></voimsus> <kaigukast><![CDATA[automaat]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[1990]]></aasta> </andmed> </mudel> <mudel nimi="Touareg" varv="roheline"> <andmed> <voimsus yhik="kw"><![CDATA[250]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[2000]]></aasta> </andmed> </mudel> <mudel nimi="Jetta" varv="roheline"> <andmed> <voimsus yhik="kw"><![CDATA[100]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[1980]]></aasta> </andmed> </mudel> </mudelid> </automark> <automark nimetus="Audi" riik="Saksamaa"> <mudelid> <mudel nimi="A8" varv="punane"> <andmed> <voimsus yhik="kw"><![CDATA[200]]></voimsus> <kaigukast><![CDATA[automaat]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[2005]]></aasta> </andmed> </mudel> <mudel nimi="R8" varv="must"> <andmed> <voimsus yhik="kw"><![CDATA[350]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[2015]]></aasta> </andmed> </mudel> <mudel nimi="A1" varv="valge"> <andmed> <voimsus yhik="kw"><![CDATA[100]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[2008]]></aasta> </andmed> </mudel> </mudelid> </automark> <automark nimetus="Honda" riik="Jaapan"> <mudelid> <mudel nimi="Accord" varv="kollane"> <andmed> <voimsus yhik="kw"><![CDATA[108]]></voimsus> <kaigukast><![CDATA[Manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[1988]]></aasta> </andmed> </mudel> <mudel nimi="TypeR" varv="punane"> <andmed> <voimsus yhik="kw"><![CDATA[80]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[1992]]></aasta> </andmed> </mudel> <mudel nimi="Civic" varv="must"> <andmed> <voimsus yhik="kw"><![CDATA[130]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[2002]]></aasta> </andmed> </mudel> </mudelid> </automark> <automark nimetus="Jeep" riik="Ameerika"> <mudelid> <mudel nimi="Grand Cherokee" varv="pruun"> <andmed> <voimsus yhik="kw"><![CDATA[110]]></voimsus> <kaigukast><![CDATA[Automaat]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[2005]]></aasta> </andmed> </mudel> <mudel nimi="Cherokee" varv="valge"> <andmed> <voimsus yhik="kw"><![CDATA[85]]></voimsus> <kaigukast><![CDATA[automaat]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[2005]]></aasta> </andmed> </mudel> <mudel nimi="Wrangler" varv="punane"> <andmed> <voimsus yhik="kw"><![CDATA[89]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[diisel]]></kutus> <aasta><![CDATA[1994]]></aasta> </andmed> </mudel> </mudelid> </automark> <automark nimetus="Lada" riik="Venemaa"> <mudelid> <mudel nimi="Kalina" varv="oranz"> <andmed> <voimsus yhik="hj"><![CDATA[98]]></voimsus> <kaigukast><![CDATA[automaat]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[2014]]></aasta> </andmed> </mudel> <mudel nimi="Niva" varv="must"> <andmed> <voimsus yhik="kw"><![CDATA[60]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[2002]]></aasta> </andmed> </mudel> <mudel nimi="110" varv="valge"> <andmed> <voimsus yhik="kw"><![CDATA[59]]></voimsus> <kaigukast><![CDATA[manuaal]]></kaigukast> <kutus><![CDATA[bensiin]]></kutus> <aasta><![CDATA[2001]]></aasta> </andmed> </mudel> </mudelid> </automark>> </automargid>
XSD
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="automargid"> <xs:complexType mixed="true"> <xs:sequence> <xs:element maxOccurs="unbounded" name="automark"> <xs:complexType> <xs:all> <xs:element name="mudelid"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="mudel"> <xs:complexType> <xs:all> <xs:element name="andmed"> <xs:complexType> <xs:all> <xs:element name="voimsus"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="yhik" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="kaigukast" type="xs:string" /> <xs:element name="kutus" type="xs:string" /> <xs:element name="aasta" type="xs:int" /> </xs:all> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="nimi" type="xs:string" use="required" /> <xs:attribute name="varv" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute name="nimetus" type="xs:string" use="required" /> <xs:attribute name="riik" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XSLT 1
<?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" > <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Autod</title> </head> <body> <h2>Kõikide automarkide autod koos andmetega</h2> <xsl:for-each select="/automargid/automark"> <xsl:value-of select="@nimetus"/> <ul> <xsl:for-each select="mudelid/mudel"> <li> <xsl:value-of select="@nimi"/> </li> <ul> <xsl:for-each select="andmed"> <li> <xsl:text>Võimsus: </xsl:text> <xsl:value-of select="voimsus"/> <xsl:text> </xsl:text> <xsl:value-of select="voimsus/@yhik"/> </li> <li> <xsl:text>Võimsus: </xsl:text> <xsl:value-of select="kaigukast"/> </li> <li> <xsl:text>Kütus: </xsl:text> <xsl:value-of select="kutus"/> </li> <li> <xsl:text>Aasta: </xsl:text> <xsl:value-of select="aasta"/> </li> </xsl:for-each> </ul> </xsl:for-each> </ul> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>
XSLT 1 pilt
XSLT 2
Siin väljastame tolle
<?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" > <xsl:output method="html" indent="yes"/> <xsl:template match="/"> <html> <head> <title>Autod</title> </head> <body> <h2>Kõikide automarkide autod</h2> <xsl:for-each select="/automargid/automark"> <li> <b> <xsl:value-of select="concat(position(),'/',last(),' - ',@nimetus)"/> </b> </li> <ol> <xsl:for-each select="mudelid/mudel"> <xsl:sort select="andmed/voimsus"/> <xsl:choose> <xsl:when test="@varv='roheline'"> <div style="color:green"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='punane'"> <div style="color:red"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='valge'"> <div style="color:gray"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='kollane'"> <div style="color:yellow"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='must'"> <div style="color:black"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='pruun'"> <div style="color:brown"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> <xsl:when test="@varv='oranz'"> <div style="color:orange"> <li> <xsl:value-of select="@nimi"/> </li> </div> </xsl:when> </xsl:choose> </xsl:for-each> </ol> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>
XSLT 2 pilt
Retsensioon
Meeskond Aeg
Selle töö ülesandeks oli luua XML andmefail, kaks XSLT faili XML ja HTML väljunditega ja tiimil kõik need osad on ära tehtud. Loogilisi dimensiooni arv rahuldab püstitatud ülesande, samuti atribuutide arv (id erinev) on kolmel elementidel. Võiks ka olla kasutusel CDATA kus seda vaja, et välistada võimalust, et sisu interpreteeritakse XML-na. Minu arust XML struktuuri võiks natuke parandada ja loogilisem teha: kuna <Logs> on konkreetse <User> logid, siis neid võiks panna alamelementidena, mitte samal tasemel kõrvuti.
<User> <Logs> </Logs> </User>
XSD on automaatselt genereeritud ja siin palju ütelda ei saa, aga mõned kohad vajavad tähelepanu:<xs:attribute name="id" type="xs:unsignedByte" use="required" />, igal pool id väärtuste tüübiks võiks olla int. Departments elemendi sees vist ei ole vaja sequence, võiks panna All. <xs:attribute name="week" type="xs:unsignedByte" use="required" />, siin on sama vihje, et võiks inti panna. XML esimene transformatioon ei vasta ülesande nõutele, kuid väljastab kogu informatsiooni, mis on olemas ehk täidab ikkagist oma ülesande. XML teine transformatsioon on hästi tehtud, kasutatud tsüklid, tingimuste kontrollid, sum, choose jne.
Logi
- 10.03.2016 - Moodustasime meeskonna, wiki põhi valmis, kokkulepitud esimese kodutöö teema.
- 11.03.2016 - Bitbucket tehtud ja õigused jagatud.
- 13.03.2016 - Kokkuleppe, mis päevaks peab esimene versioon valmis olema.
- 15.03.2016 - Wiki täiendamine.
- 18.03.2016 - Wiki täiendamine.