Repi

From ICO wiki
Jump to navigationJump to search

Meeskond

  • Renet Pirso

Veebiteenuse Analüüs

Kirjeldus

Rakendus on mõeldud hangete läbiviimiseks ning ettevõtete teavitamiseks nende valdkonda kuuluvatest hangetest. Kasutajatel on võimalik otsida ka hankeid valdkonna, CPV koodi või nimetuse järgi.

ERD

XML, Schema ja Stiilifailid

XML

<?xml version="1.0" encoding="utf-8" ?>
<kataloog>
  <kasutajad>
    <kasutaja><![CDATA[Palmikreem OÜ]]></kasutaja>
    <kasutaja><![CDATA[Kivimehed OÜ]]></kasutaja>
    <kasutaja><![CDATA[Kiirekiire OÜ]]></kasutaja>
    <kasutaja><![CDATA[Mart Tamm]]></kasutaja>
  </kasutajad>
  <valdkond id="1" tegevusala="ehitus">
    <hange aktiivne="1">
      <pealkiri><![CDATA[Plaatide paigaldus tagaaias]]></pealkiri>
      <hankija>Mart Tamm</hankija>
      <lopuKuupaev>11.04.2017</lopuKuupaev>
      <asukoht>Harjumaa</asukoht>
      <kirjeldus><![CDATA[Mul vaja tagahoovis panna 2 plaati]]></kirjeldus>
      <tagid><![CDATA[Plaatimine,Plaadipanek]]></tagid>
    </hange>
    <hange aktiivne="0">
      <pealkiri><![CDATA[Seinakrohvimine]]></pealkiri>
      <hankija>Mart Tamm</hankija>
      <lopuKuupaev>01.03.2017</lopuKuupaev>
      <asukoht>Harjumaa</asukoht>
      <kirjeldus><![CDATA[Mul vaja seinad üle krohvida õhekrohviga]]></kirjeldus>
      <tagid><![CDATA[Fassaad,krohvimine,õhekrohv]]></tagid>
    </hange>
  </valdkond>  
  <valdkond id="2" tegevusala="transport">
    <hange aktiivne="1">
      <pealkiri><![CDATA[Tomatite transport Poolast-Eestisse]]></pealkiri>
      <hankija>Kiirekiire </hankija>
      <lopuKuupaev>22.05.2017</lopuKuupaev>
      <asukoht>Poola</asukoht>
      <kirjeldus><![CDATA[Mul vaja tomateid tuua poolast 400kg, endal masinad katki]]></kirjeldus>
      <tagid><![CDATA[Transport,Toidutransport,Poola-Eesti]]></tagid>
    </hange>
    <hange aktiivne="1">
      <pealkiri><![CDATA[Lapse kooli viimine]]></pealkiri>
      <hankija>Mart Tamm</hankija>
      <lopuKuupaev>19.03.2017</lopuKuupaev>
      <asukoht>Harjumaa</asukoht>
      <kirjeldus><![CDATA[Oleks vaja ettevõtet mis viib mu lapse esmaspäeval kooli]]></kirjeldus>
      <tagid><![CDATA[Tansport,Ubereitööta,Liht]]></tagid>
    </hange>
  </valdkond>
</kataloog>

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="kataloog">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="kasutajad">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="kasutaja" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element maxOccurs="unbounded" name="valdkond">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="hange">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="pealkiri" type="xs:string" />
                    <xs:element name="hankija" type="xs:string" />
                    <xs:element name="lopuKuupaev" type="xs:string" />
                    <xs:element name="asukoht" type="xs:string" />
                    <xs:element name="kirjeldus" type="xs:string" />
                    <xs:element name="tagid" type="xs:string" />
                  </xs:sequence>
                  <xs:attribute name="aktiivne" type="xs:unsignedByte" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:unsignedByte" use="required" />
            <xs:attribute name="tegevusala" 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="xml" indent="yes"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Hanked</title>
        <style>
          blockquote {background-color:GhostWhite;}
        </style>
      </head>
      <body>
        <ul>
          <xsl:for-each select="/kataloog/valdkond">
            <li>
              <h1><xsl:value-of select="@tegevusala"/></h1>
                  <xsl:for-each select="hange">
                    <xsl:if test="@aktiivne &gt; 0">
                      <b><xsl:value-of select="pealkiri"/></b>
                      -
                      <xsl:value-of select="hankija"/>
                      -
                      <i><xsl:value-of select="lopuKuupaev"/></i>
                      <blockquote>
                        <xsl:value-of select="kirjeldus"/>
                      </blockquote>
                      <blockquote>
                        Tags: <i><xsl:value-of select="tagid"/></i>
                      </blockquote>
                    </xsl:if>
                  </xsl:for-each>
            </li>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XSLT 2

<?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="xml" indent="yes"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Aktiivsed hanked</title>
        <style>
          blockquote {background-color:GhostWhite;}
        </style>
      </head>
      <body>
        <xsl:for-each select="/kataloog/kasutajad/kasutaja">
          <xsl:variable name="valitudKasutaja" select="."/>
          <h1>
            Kasutaja: <xsl:value-of select="$valitudKasutaja"/>
          </h1>
          <xsl:for-each select="/kataloog/valdkond">
            <xsl:variable name="valitudTegevusala" select="@tegevusala"/>
            <xsl:for-each select="hange">
              <xsl:if test="@aktiivne &gt; 0">
                <xsl:if test="kasutaja = $valitudKasutaja">
                  <xsl:value-of select="pealkiri"/>
                  -
                  <i>
                    <xsl:value-of select="lopuKuupaev"/>
                  </i>
                  <br/>
                  <blockquote>
                    Tegevusala: <xsl:value-of select="$valitudTegevusala"/>
                  </blockquote>
                  <blockquote>
                    <xsl:value-of select="kirjeldus"/>
                  </blockquote>
                  <blockquote>
                    Tags: <i>
                      <xsl:value-of select="tagid"/>
                    </i>
                  </blockquote>
                </xsl:if>
              </xsl:if>
            </xsl:for-each>
          </xsl:for-each>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>