Flauto

From ICO wiki
Jump to navigationJump to search

Meeskond Flauto

  • Lelet Hollo

XML failis on valikuline info Eesti veinitootjate kohta. Loetelus on Google otsingu tulemusena leitud 5 suuremat veinitööstust, puuduvad väiketootjad ja veinitalud. Info internetis on veinitootjate kohta üsnagi puudulik, näiteks Tarco Vein AS toodetavate veinide osas teave praktiliselt puudub ja nende kodulehe viide infomaterjalides suunab lehele estiko.ee, mis on Tartu kinnisvara haldusega ning pakkematerjalide tootmisega tegelev ettevõte. Ka AS Karme (Karksi veinid) koduleht on uuendamisel ning nende veinide osas oli info saadaval vaid pildimaterjalina. Mitmed veinitööstused on ka tegevuse lõpetanud või mõne suurema ettevõttega ühinenud.

XML

XML

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="veinitootjad.xslt"?>
<veinitootjad>
  <veinitootja id="1" regKood="10215730">
    <nimi>Karme AS</nimi>
    <koduleht><![CDATA[www.karksi.com]]></koduleht>
    <tooteLiigid>
      <tooteLiik tyyp="vein">
        <nimetus><![CDATA[puuvilja- ja marjaveinid]]></nimetus>
        <toode vol="11" maht="750" yhik="ml">Karksi Jõhvikavein</toode>
        <toode vol="11" maht="750" yhik="ml">Karksi Kirsivein</toode>
        <toode vol="11" maht="750" yhik="ml">Karksi Mustasõstravein</toode>
      </tooteLiik>
    </tooteLiigid>
  </veinitootja>
  <veinitootja id="2" regKood="10034030">
    <nimi>Põltsamaa Felix AS</nimi>
    <koduleht><![CDATA[www.felix.ee]]></koduleht>
    <tooteLiigid>
      <tooteLiik tyyp="vein">
        <nimetus><![CDATA[puuvilja- ja marjaveinid]]></nimetus>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Tõmmu</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Punane</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Kuldne</toode>
        <toode vol="11" maht="750" yhik="ml">Põltsamaa Lossivein 19</toode>
        <toode vol="11" maht="750" yhik="ml">Põltsamaa Lossivein 28</toode>
        <toode vol="11" maht="750" yhik="ml">Põltsamaa Lossivein 85</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Kirsisuudlus</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Vaarikamusi</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa Kuldne 2005</toode>
        <toode vol="14" maht="500" yhik="ml">Põltsamaa tõmmu</toode>
      </tooteLiik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[hõõgveinid]]></nimetus>
        <toode vol="14" maht="700" yhik="ml">Põltsamaa Klassikaline Glögg</toode>
        <toode vol="4.5" maht="1" yhik="l">Põltsamaa Glögg</toode>
        <tooteliik tyyp="vein">
          <nimetus><![CDATA[vahuveinid]]></nimetus>
          <toode vol="8.5">Põltsamaa Fest Classic</toode>
        </tooteliik>
      </tooteliik>
    </tooteLiigid>
  </veinitootja>
  <veinitootja id="3" regKood="10229471">
    <nimi>Võhu Vein AS</nimi>
    <koduleht><![CDATA[www.vohuvein.ee]]></koduleht>
    <tooteLiigid>
      <tooteLiik tyyp="vein">
        <nimetus><![CDATA[puuvilja- ja marjaveinid]]></nimetus>
        <toode vol="12" maht="500" yhik="ml">Valgesõstravein</toode>
        <toode vol="12" maht="500" yhik="ml">Mustsõstravein</toode>
        <toode vol="12" maht="500" yhik="ml">Rabarberivein</toode>
      </tooteLiik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[viinamarjaveinid]]></nimetus>
      </tooteliik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[kangendatud puuviljaveinid]]></nimetus>
        <toode vol="19" maht="500" yhik="ml">Munga Kirsipisar</toode>
        <toode vol="18" maht="500" yhik="ml">Sõstravein Kange</toode>
        <toode vol="21" maht="500" yhik="ml">21 punane</toode>
        <toode vol="18" maht="500" yhik="ml">Wiru Karge Winemix Blackcurrant</toode>
      </tooteliik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[hõõgveinid]]></nimetus>
        <toode vol="13" maht="750" yhik="ml">Hõõguv Helbeke</toode>
      </tooteliik>
      <tooteliik tyyp="siider">
        <nimetus><![CDATA[siidrid]]></nimetus>
        <toode vol="5.5" maht="750" yhik="ml">Pirni Siider Fresh</toode>
        <toode vol="5.5" maht="750" yhik="ml">Õuna Siider Fresh</toode>
      </tooteliik>
    </tooteLiigid>
  </veinitootja>
  <veinitootja id="4" regKood="10060078">
    <nimi>Tarco Vein AS</nimi>
    <koduleht><![CDATA[www.estiko.ee]]></koduleht>
    <tooteLiigid>
      <tooteLiik tyyp="vein">
        <nimetus><![CDATA[puuvilja- ja marjaveinid]]></nimetus>
        <toode vol="0" maht="0" yhik="0">Info puudub</toode>
      </tooteLiik>
    </tooteLiigid>
  </veinitootja>
  <veinitootja id="5" regKood="10067318">
    <nimi>Valtu Vein AS</nimi>
    <koduleht><![CDATA[www.karastusjoogid.ee]]></koduleht>
    <tooteLiigid>
      <tooteLiik tyyp="vein">
        <nimetus><![CDATA[puuvilja-marjaveinid]]></nimetus>
        <toode vol="11" maht="700" yhik="ml">Tegija Kirsi</toode>
        <toode vol="11" maht="700" yhik="ml">Tegija Vaarika</toode>
        <toode vol="11" maht="700" yhik="ml">Tegija Mustasõstra</toode>
        <toode vol="11" maht="700" yhik="ml">Tegija Jõhvika</toode>
        <toode vol="13" maht="700" yhik="ml">Pohlavein</toode>
        <toode vol="13" maht="700" yhik="ml">Kirsivein</toode>
        <toode vol="13" maht="700" yhik="ml">Valtu Mustasõstravein</toode>
        <toode vol="13" maht="700" yhik="ml">Valtu Jõhvikavein</toode>
        <toode vol="13" maht="700" yhik="ml">Valtu Ebaküdooniavein</toode>
        <toode vol="14" maht="500" yhik="ml">Rubiin</toode>
        <toode vol="14" maht="500" yhik="ml">Jõhvikavein</toode>
        <toode vol="14" maht="500" yhik="ml">Ebaküdooniavein</toode>
      </tooteLiik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[kangendatud puuvilja-marjaveinid]]></nimetus>
        <toode vol="19" maht="500" yhik="ml">Kõuts - kange õunavein</toode>
        <toode vol="19" maht="500" yhik="ml">Susi - kange sõstravein</toode>
        <toode vol="19" maht="500" yhik="ml">Sõnn - kange õuna-jõhvikavein</toode>
        <toode vol="19" maht="500" yhik="ml">Jäär - kange õuna-ebaküdooniavein</toode>
        <toode vol="18" maht="500" yhik="ml">Krants - kange õuna-kirsivein</toode>
        <toode vol="22" maht="500" yhik="ml">Kult - kange õuna-pohlavein</toode>
        <toode vol="22" maht="700" yhik="ml">Ardam</toode>
      </tooteliik>
      <tooteliik tyyp="vein">
        <nimetus><![CDATA[hõõgveinid]]></nimetus>
        <toode vol="11" maht="700" yhik="ml">Glögg Talvenauding</toode>
        <toode vol="14" maht="700" yhik="ml">Hõõgvein Riina</toode>
      </tooteliik>
      <tooteliik tyyp="siider">
        <nimetus><![CDATA[siidrid]]></nimetus>
      </tooteliik>
      <tooteliik tyyp="viin">
        <nimetus><![CDATA[viinad]]></nimetus>
      </tooteliik>
    </tooteLiigid>
  </veinitootja>
</veinitootjad>

XML Skeemifail

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="veinitootjad">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="veinitootja">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="nimi" type="xs:string" />
              <xs:element name="koduleht" type="xs:string" />
              <xs:element name="tooteLiigid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="tooteLiik">
                      <xs:complexType mixed="true">
                        <xs:sequence minOccurs="0">
                          <xs:element name="nimetus" type="xs:string" />
                          <xs:element maxOccurs="unbounded" name="toode">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute name="vol" type="xs:decimal" />
                                  <xs:attribute name="maht" type="xs:integer" />
                                  <xs:attribute name="yhik" type="xs:string" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="tyyp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="tooteliik">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                          <xs:element minOccurs="0" maxOccurs="unbounded" name="toode">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute name="vol" type="xs:decimal" />
                                  <xs:attribute name="maht" type="xs:integer" />
                                  <xs:attribute name="yhik" type="xs:string" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                          <xs:element minOccurs="0" name="tooteliik">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="nimetus" type="xs:string" />
                                <xs:element name="toode">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="vol" type="xs:decimal" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute name="tyyp" type="xs:string" use="required" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="tyyp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:positiveInteger" use="required" />
            <xs:attribute name="regKood" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XML stiilifail 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>Eesti veinitööstus</title>
        </head>
        <body>
          <h2 style="text-decoration:underline">Eesti veinitootjate lühikirjeldus</h2>
          <xsl:for-each select="veinitootjad/veinitootja">
            <h2 style="color:#660066"><xsl:value-of select="nimi"/></h2>
             Koduleht: <xsl:value-of select="koduleht"/>
            <br></br>
            <br></br>
            Tooteliigid:
            <br></br>
            <xsl:for-each select="tooteLiigid//nimetus">
              <ul>
              <li><xsl:value-of select="."/>
                <xsl:text> </xsl:text>
              </li>
              <br></br>
              </ul>
            </xsl:for-each>
          </xsl:for-each>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

Vaatefail: Eesti veinitootjad

XML stiilifail 2

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="/">
    <html>
      <head>
        <title>Eesti veinid</title>
      </head>
      <body>
        <h2>Eesti veinitootjate veinid</h2>
        <xsl:for-each select="veinitootjad/veinitootja">
          <h3 style="color:#660066">
            Tootja: <xsl:value-of select="nimi"/>
          </h3>
          <table border="1" cellpadding="4">
            <tr bgcolor="#FF6666">
              <th>Nimetus</th>
              <th>Kangus, vol</th>
              <th>Maht</th>
              <th>Ühik</th>
            </tr>
            <xsl:for-each select="tooteLiigid//toode">
              <tr>
                <td>
                  <xsl:value-of select="."/>
                </td>
                <td>
                  <xsl:value-of select="@vol"/>
                </td>
                <td>
                  <xsl:value-of select="@maht"/>
                </td>
                <td>
                  <xsl:value-of select="@yhik"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Vaatefail: Eesti veinid

Retsensioon meeskonnale "Anonüümsed koodikommentaatorid"

Võtan endale raske ülesande retsenseerida ideaalilähedaselt ja perfektselt teostatud kodutööd meeskonna Anonüümsed Koodikommentaatorid teostuses. Esmalt väike tähelepanek, et väga sarnane antud tööga on meeskond Vertigo kodutöö, mis on samuti (küll isiklikult pikemalt süvenemata, ent olemasoleva retsensiooni põhjal otsustades), hästi ning korrektselt teostatud. Anonüümsed Koodikommentaatorid lähevad aga mõne sammu veel rohkem süvitsi elementide dimensioonide osas ning erinevusena nende xml-elemendid on eestikeelsed. Samuti on lisatud faili kasutamist rikastavad meediaelemendid. Analüüsitaval xml-failil on 6 dimensiooni, 3-l elemendil on kasutatud atribuute (film, naitleja, pilt), kõik õppejõu poolt soovitu on seega täidetud. XML fail on elementide ning sisu poolest väga mitmel erineval moel kasutatav ning infot on palju, see ei ole lihtsalt kodutöö „ärategemise“ eesmärke täitev dokument. Sisu erineval moel kasutamist on oskuslikult ära kasutatud ka stiilifailides. Ainus mulle sisuliselt arusaamatuks jääv asi on näitleja potentsiaalne jagamine erinevatesse rollidesse. Esiteks on failist näha, et ühe näitleja esinemine mitmes rollis näites olevate filmide kohaselt ei ole põhjendatud ning teiseks ka reaalelus ei meenu mulle kuigipalju (hetkel ühtegi) filmi, kus ühel näitlejal oleks mitu rolli. See on rohkem teatrilavade omapära. Siiski - „pigem karta kui kahetseda“ - ning veaks ei saa seda kuskilt otsast lugeda, väikese eelarvega filmis võib sellist jagunemist siiski vaja minna. Skeemifaili osas samuti probleeme ei leia, jällegi sisuliselt võib arutleda, kas <xs:attribute name="peaosa" use="required"> puhul „required“ on põhjendatud. Mõnede filmide puhul (nt Tarantino) võib olla peaosaliste määratlemine mõnevõrra raskendatud, nimekiri võib saada pikk või valikuliselt näitlejate nimetamine olla ebaõiglane. Samas kuna peaosaline on siiski filmi tõmbenumber, on tema esiletoomine oluline. Ja last but not least – selle töö kõige magusam osa on põhjalikult ette võetud ja kaunilt teostatud kujundus. Stiilifailides on täiendava lisajõuna kasutatud eraldi css-faili, mis võimaldab visuaalses plaanis ilmselgelt mõnevõrra rohkem. Ainus asi, mis silma häirima jääb (kui vigu otsida), on <li> elementide (atribuut aasta ning element zanr) ette Mozilla ning Explorer brauseris tekkivad „täpikesed“ ehk listi punktid. Chrome neid mingil põhjusel ei ilmuta. Ülejäänud brausereid ei proovinud. Kehtib mõlema stiilifaili puhul. Pisimärkustest hoolimata on tegu väga heatasemelise tööga, mille puhul jääb mulje, et tehnika ühtki loomingulist ideed ei kammitse ning kõik, mida ette võtta on soovitud, on lendleva kergusega ka realiseeritud. ps. wiki lehekülje ajalugu näitab, et kõik materjal on üles pandud Olle Miku poolt. Küsimus panustamise osas konkreetselt selles kodutöös jätab seega küsimärgid seinale ;)