Meeskond: Sulased

From ICO wiki

Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"

Meeskonna liikmed

  • Siim Osa
  • Taavi Kivimaa

Idee

TODO

Analüüs

TODO

Must to have

TODO

Nice to have

TODO


XML/XSD/XSLT

XML

<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="mangud-html.xsl"?>
    <mangud>
        <mang spordiala="hoki">
            <kuupaev>22.05.2017</kuupaev>
            <koht>Tallinn</koht>
            <staadion><![CDATA[Arnold Rüütli Hokiväljak]]></staadion>
            <meeskonnad>
                <meeskond>Anaheim Ducks</meeskond>
                <meeskond>Minnesota Wild</meeskond>
            </meeskonnad>
            <kohtunikud>
                <kohtunik rahvus="rootsi" vanus="45"><![CDATA[Gunnars Svenskars]]></kohtunik>
                <kohtunik rahvus="tsehhi" vanus="35"><![CDATA[Lukasz Starobramen]]></kohtunik>
                <kohtunik rahvus="austria" vanus="40"><![CDATA[Pieters Schweiner]]></kohtunik>                
            </kohtunikud>
            <piletihind valuuta="euro">25</piletihind>
        </mang>
        <mang spordiala="hoki">
            <kuupaev>27.05.2017</kuupaev>
            <koht>Tallinn</koht>
            <staadion><![CDATA[Savisaare Hokiväljak]]></staadion>
            <meeskonnad>
                <meeskond>CSKA Moskva</meeskond>
                <meeskond>Beijing Sunshines</meeskond>
            </meeskonnad>
            <kohtunikud>
                <kohtunik rahvus="kanada" vanus="46"><![CDATA[Peter O'Hanagan]]></kohtunik>
                <kohtunik rahvus="usa" vanus="43"><![CDATA[James Dooling]]></kohtunik>
                <kohtunik rahvus="leedu" vanus="48"><![CDATA[Arturs Biedrins]]></kohtunik>                
            </kohtunikud>
            <piletihind valuuta="euro">15</piletihind>
        </mang>
        <mang spordiala="korvpall">
            <kuupaev>24.08.2017</kuupaev>
            <koht>Tallinn</koht>
            <staadion><![CDATA[Saku Suurhall]]></staadion>
            <meeskonnad>
                <meeskond>Boston Celtics</meeskond>
                <meeskond>New York Knicks</meeskond>
            </meeskonnad>
            <kohtunikud>
                <kohtunik rahvus="usa" vanus="52"><![CDATA[Danny Welder]]></kohtunik>
                <kohtunik rahvus="usa" vanus="38"><![CDATA[James Jones]]></kohtunik>
                <kohtunik rahvus="mehhiko" vanus="47"><![CDATA[Jose Sanchez]]></kohtunik>                
            </kohtunikud>
            <piletihind valuuta="euro">40</piletihind>
        </mang>
        <mang spordiala="jalgpall">
            <kuupaev>13.06.2017</kuupaev>
            <koht>Tartu</koht>
            <staadion><![CDATA[Tammeka staadion]]></staadion>
            <meeskonnad>
                <meeskond>Real Madrid</meeskond>
                <meeskond>Torino Juventus</meeskond>
            </meeskonnad>
            <kohtunikud>
                <kohtunik rahvus="prantsusmaa" vanus="31"><![CDATA[Andre Rambion]]></kohtunik>
                <kohtunik rahvus="iirimaa" vanus="35"><![CDATA[James O'Heary]]></kohtunik>
                <kohtunik rahvus="inglismaa" vanus="32"><![CDATA[Dylan Rodgers]]></kohtunik>                
            </kohtunikud>
            <piletihind valuuta="euro">45</piletihind>
        </mang>
        <mang spordiala="korvpall">
            <kuupaev>14.09.2017</kuupaev>
            <koht>Paide</koht>
            <staadion><![CDATA[Paide linnastaadion]]></staadion>
            <meeskonnad>
                <meeskond>Chicago Bulls</meeskond>
                <meeskond>Orlando Magic</meeskond>
            </meeskonnad>
            <kohtunikud>
                <kohtunik rahvus="eesti" vanus="45"><![CDATA[Peeter Suurmaa]]></kohtunik>
                <kohtunik rahvus="andorra" vanus="35"><![CDATA[Angel Di Refos]]></kohtunik>
                <kohtunik rahvus="soome" vanus="40"><![CDATA[Matti Kaevinen]]></kohtunik>                
            </kohtunikud>
            <piletihind valuuta="euro">30</piletihind>
        </mang>
    </mangud>

XSD

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="mangud">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="mang" maxOccurs="128256" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="kuupaev"/>
              <xs:element type="xs:string" name="koht"/>
              <xs:element type="xs:string" name="staadion"/>
              <xs:element name="meeskonnad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="meeskond" maxOccurs="32" minOccurs="1"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="kohtunikud">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="kohtunik" maxOccurs="7" minOccurs="1">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="rahvus" use="optional"/>
                            <xs:attribute type="xs:unsignedByte" name="vanus" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="piletihind">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:unsignedInt">
                      <xs:attribute type="xs:string" name="valuuta" use="required"/>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:string" name="spordiala" use="required"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT(html)

<?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>
      <body>
        <h2>Suured võistlused eestis sel aastal</h2> <br></br>
        <table border="1">
            <tr>
                <th>Spordiala</th>
                <th>Kodumeeskond</th>
                <th>Vastasmeeskond</th>
                <th>Toimumisaeg</th>
                <th>Piletihind</th>
                <th>Kohtunikud</th>
                <th>Lisainfo</th>
            </tr>
            <xsl:for-each select="mangud/mang">
                <tr>
                    <td><xsl:value-of select="@spordiala"/></td>
                    <xsl:for-each select="meeskonnad/meeskond">
                    <td>
                        <xsl:value-of select="."/>
                    </td>
                    </xsl:for-each>
                    <td>
                        <xsl:value-of select="kuupaev"/>
                    </td>
                    <td>
                        <xsl:value-of select="piletihind"/> <xsl:value-of select="piletihind/@valuuta"/>t
                    </td>
                    <td>
                        <xsl:for-each select="kohtunikud/kohtunik">
                            <xsl:value-of select="."/>, vanus: <xsl:value-of select="@vanus"/>, riigist <xsl:value-of select="@rahvus"/> <br></br>
                        </xsl:for-each>
                    </td>
                    <td>
                        toimumiskoht: <xsl:value-of select="koht"/>, <xsl:value-of select="staadion"/>
                    </td>
                </tr>
            </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>
  </xsl:stylesheet>

Retsensioonid