Meeskond Indiviid

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Meeskond Indiviid

Võrgurakendused 2: Hajussüsteemide loomine

Liikmed: Sten Luhtoja

XML

Siia tulevad nõutud XML´i tööd.

Baas.

<?xml version="1.0" encoding="utf-8" ?>
<võistlused>
  <võistlus id="1" date="2015-09-24" time="09:00:00" type="Seeriavõistlus">
    <name><![CDATA[Rahvapinks 3. etapp]]></name>
    <location linn="Tallinn" tanav="forelli" number="11">Kristiine Spordikeskus</location>
    <contacts>
      <contact type="phone">+3725845845146</contact>
      <contact type="e-mail">Rahvapinks3@etapp.ee</contact>
    </contacts>
    <osalejad>
      <osaleja sugu="male" birthdate="1995-09-02" name="Osaline Yks">
        <club><![CDATA[Klubitu]]></club>
        <contacts>
          <contact type="phone">+37258446</contact>
          <contact type="e-mail">osaline1@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="male" birthdate="1993-10-05" name="Osaline Kaks">
        <club><![CDATA[Tallinna vesi]]></club>
        <contacts>
          <contact type="e-mail">osaline2@etapp.ee</contact>
        </contacts>
      </osaleja>
    </osalejad>
  </võistlus>

  <võistlus id="2" date="2015-12-24" time="09:00:00" type="Seeriavõistlus">
    <name><![CDATA[Rahvapinks 5. etapp]]></name>
    <location linn="Tallinn" tanav="forelli" number="11">Kristiine Spordikeskus</location>
    <contacts>
      <contact type="phone">+3725845845146</contact>
      <contact type="e-mail">Rahvapinks4@etapp.ee</contact>
    </contacts>
    <osalejad>
      <osaleja sugu="male" birthdate="1995-09-02" name="Osaline Yks">
        <club><![CDATA[Klubitu]]></club>
        <contacts>
          <contact type="phone">+37258446</contact>
          <contact type="e-mail">osaline1@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="male" birthdate="1993-10-05" name="Osaline Kaks">
        <club><![CDATA[Tallinna vesi]]></club>
        <contacts>
          <contact type="e-mail">osaline2@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="female" birthdate="1234-09-02" name="Osaline vikks">
        <club><![CDATA[Klubitu]]></club>
        <contacts>
          <contact type="phone">+37258446</contact>
          <contact type="e-mail">osalinevikks@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="female" birthdate="1965-11-05" name="Osaline Kasssssks">
        <club><![CDATA[Parnu Elekter]]></club>
        <contacts>
          <contact type="e-mail">osalinekasssskss@etapp.ee</contact>
        </contacts>
      </osaleja>
    </osalejad>
  </võistlus>
  
  
  <võistlus id="3" date="2015-04-26" time="09:00:00" type="Karikavõistlus">
    <name><![CDATA[Rändkarikas jalgpallis]]></name>
    <location linn="Kärdla" tanav="Muhu" number="10b">Kärdla spordiväljak</location>
    <contacts>
      <contact type="phone">+37252</contact>
      <contact type="e-mail">Kärdla@voistlus.ee</contact>
    </contacts>
    <osalejad>
      <osaleja sugu="" birthdate="" name="Muhu kalamehed">
        <club>Muhu kalamehed</club>
        <contacts>
          <contact type="phone">+3725234567456</contact>
          <contact type="e-mail">kalamehed@muhu.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="" birthdate="" name="Hiiumaa viiuldajad">
        <club>Hiiumaa viiuldajad</club>
        <contacts>
          <contact type="e-mail">viiuldajad@hiiumaa.ee</contact>
        </contacts>
      </osaleja>
    </osalejad>
  </võistlus>
  
  
  <võistlus id="4" date="2016-11-26" time="10:00:00" type="Lahtised juhused">
    <name><![CDATA[Rändamisseiklus algajatele]]></name>
    <location linn="" tanav="" number="">Saaremaa tuulikud</location>
    <contacts>
      <contact type="phone"></contact>
      <contact type="e-mail"></contact>
    </contacts>
    <osalejad>
      <osaleja sugu="male" birthdate="1995-09-02" name="Osaline Yks">
        <club></club>
        <contacts>
          <contact type="phone">+37258446</contact>
          <contact type="e-mail">osaline1@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="male" birthdate="1993-10-05" name="Osaline Kaks">
        <club></club>
        <contacts>
          <contact type="e-mail">osaline2@etapp.ee</contact>
        </contacts>
      </osaleja>
    </osalejad>
  </võistlus>
  
  <võistlus id="5" date="2017-01-05" time="10:00:00" type="Seeriavõistlus">
    <name><![CDATA[Rahvapinks 3. etapp]]></name>
    <location linn="Tallinn" tanav="forelli" number="11">Kristiine Spordikeskus</location>
    <contacts>
      <contact type="phone">+3725845845146</contact>
      <contact type="e-mail">Rahvapinks3@etapp.ee</contact>
    </contacts>
    <osalejad>
      <osaleja sugu="male" birthdate="1995-09-02" name="Osaline Yks">
        <club><![CDATA[Klubitu]]></club>
        <contacts>
          <contact type="phone">+37258446</contact>
          <contact type="e-mail">osaline1@etapp.ee</contact>
        </contacts>
      </osaleja>
      <osaleja sugu="male" birthdate="1993-10-05" name="Osaline Kaks">
        <club><![CDATA[Tallinna vesi]]></club>
        <contacts>
          <contact type="e-mail">osaline2@etapp.ee</contact>
        </contacts>
      </osaleja>
    </osalejad>
  </võistlus>
  
</võistlused>

skeem

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Võistlused">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="võistlus">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string" />
              <xs:element name="location">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="linn" type="xs:string" use="optional" />
                      <xs:attribute name="tanav" type="xs:string" use="optional" />
                      <xs:attribute name="number" type="xs:string" use="optional" />
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="contacts">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="contact">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="type" type="xs:string" use="optional" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Osalejad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="osaleja">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="club" type="xs:string" />
                          <xs:element name="contacts">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="contact">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="type" type="xs:string" use="optional" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="sugu" type="xs:string" use="optional" />
                        <xs:attribute name="birthdate" type="xs:date" use="optional" />
                        <xs:attribute name="name" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:long" use="required" />
            <xs:attribute name="date" type="xs:date" use="optional" />
            <xs:attribute name="time" type="xs:time" use="optional" />
            <xs:attribute name="type" type="xs:string" use="optional" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

xslt HTML

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:template match="/">
    <html>
      <head>
        
        <title>XSLT Võistlused</title>
      </head>
      <body>
        <ul style="list-style-type:none">
          <xsl:for-each select="võistlused/võistlus">
            <li>
              <h1>
                <xsl:value-of select="name"/>
              </h1>
            </li>
            <li>
              <xsl:text>
              Kuupäev: </xsl:text>
              <xsl:value-of select="@date"/>
             
             </li>
             <li>
               <b>
                 <xsl:text>
              Asukoht
              </xsl:text>
               </b>
                <xsl:value-of select="location"/>
              <xsl:text>;
              </xsl:text>
              <xsl:value-of select="location/@linn"/>
              <xsl:text> , </xsl:text>
              <xsl:value-of select="location/@tanav"/>
              <xsl:text> </xsl:text>
              <xsl:value-of select="location/@number"/>
             </li>
              <xsl:for-each select="contacts/contact">
                  <li>
                    <xsl:value-of select="@type"/>
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="."/>
                  </li>
              </xsl:for-each>
              <h2>
                <xsl:text>Osalejad
                </xsl:text>
              </h2>
              <ul style="list-style-type:none">
                <xsl:for-each select="osalejad/osaleja">
                  <li>
                      <b>
                        <xsl:value-of select="@name"/>
                      </b>
                  </li>
                  <xsl:if test="@birthdate != ''">
                    <li>
                      <xsl:value-of select="@birthdate"/>
                    </li>
                  </xsl:if>
                  <li>
                    <xsl:text>Klubi: </xsl:text>
                    <b>
                      <xsl:value-of select="club"/>
                    </b>
                  </li>
                  <li>                    
                    <xsl:if test="contacts/contact != '' ">
                      <xsl:text>Kontakt:
                      </xsl:text>
                      <xsl:value-of select="contacts/contact"/>
                    </xsl:if>
                  </li>
                </xsl:for-each>
              </ul>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

xslt xml

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="/">
    <Võistlused>
      <xsl:for-each select="võistlused/võistlus">
        <võistlus>
          <xsl:attribute name="date">
            <xsl:value-of select="@date"/>  
          </xsl:attribute>
          <xsl:attribute name="time">
            <xsl:value-of select="@time"/>  
          </xsl:attribute>
          <xsl:attribute name="type">
            <xsl:value-of select="@type"/>  
          </xsl:attribute>
          <name>
            <xsl:value-of select="name"/>
          </name>
          <contacts>         
            <xsl:for-each select="contacts/contact">
              <contact>
                <xsl:attribute name="type">
                  <xsl:value-of select="@type"/>
                </xsl:attribute>
                <xsl:value-of select="."/>
              </contact>
            </xsl:for-each>
          </contacts>
          <xsl:for-each select="osalejad/osaleja">
          <participantsNames>
            <xsl:attribute name="Klubi">
              <xsl:value-of select="club"/>
            </xsl:attribute>
            <xsl:value-of select="@name"/>
          </participantsNames>
          </xsl:for-each>
        </võistlus>
      </xsl:for-each>
    </Võistlused>
  </xsl:template>
</xsl:stylesheet>