Meeskond:ArturJaSobrad

From ICO wiki
Jump to navigationJump to search

Meeskond

Liikmed:

  • Anni Klammer
  • Artur Tomba - projektijuht
  • Oliver Vahenõmm

XML

XML

Telefoniraamat XML kujul.

<?xml version="1.0" encoding="utf-8"?>
<Phonebook>
  <Groups>
    <Group name="Family">
      <Person id="1">
        <Firstname><![CDATA[Anna]]></Firstname>
        <Lastname><![CDATA[Nuga]]></Lastname>
        <Contacts>
          <Contact type="Phone">55555555</Contact>
          <Contact type="Skype">anna.nuga@skype.com</Contact>
        </Contacts>
      </Person>
      <Person id="2">
        <Firstname><![CDATA[Anti]]></Firstname>
        <Lastname><![CDATA[Nuga]]></Lastname>
        <Contacts>
          <Contact type="Phone">09876543</Contact>
          <Contact type="Skype">anti.nuga@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
    <Group name="Work">
      <Person id="4">
        <Firstname><![CDATA[Peeter]]></Firstname>
        <Lastname><![CDATA[Termomeeter]]></Lastname>
        <Contacts>
          <Contact type="Phone">56666666</Contact>
          <Contact type="Skype">peetrike@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
    <Group name="Friends">
      <Person id="3">
        <Firstname><![CDATA[Minu]]></Firstname>
        <Lastname><![CDATA[Sõber]]></Lastname>
        <Contacts>
          <Contact type="Phone">123456789</Contact>
          <Contact type="Skype">minu.sober@skype.com</Contact>
        </Contacts>
      </Person>
      <Person id="5">
        <Firstname><![CDATA[Kati]]></Firstname>
        <Lastname><![CDATA[Karu]]></Lastname>
        <Contacts>
          <Contact type="Phone">545423154</Contact>
          <Contact type="Skype">olenkati@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
  </Groups>
</Phonebook>

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="Phonebook">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Groups">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Group">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="Person">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Firstname" type="xs:string" />
                          <xs:element name="Lastname" 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="required" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:unsignedInt" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

HTML nimede ja igaühe kontaktide kuvamiseks gruppide kaupa.

<?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>Phonebook</title>
        </head>
        <body>
          <xsl:for-each select="Phonebook/Groups/Group">
            <h3>
              <xsl:value-of select="@name"/>
            </h3>
            <table border="1" style="border:1px solid black;">
              <tr>
                <td>Firstname</td>
                <td>Lastname</td>
                <td>Phone</td>
                <td>Skype</td>
              </tr>
              <xsl:for-each select="Person">
                <tr>
                  <td>
                    <xsl:value-of select="Firstname"/>
                  </td>
                  <td>
                    <xsl:value-of select="Lastname"/>
                  </td>
                  <xsl:for-each select="Contacts/Contact">
                    <td>
                      <xsl:value-of select="."/>
                    </td>
                  </xsl:for-each>
                </tr>
              </xsl:for-each>
            </table>
            <br/>
          </xsl:for-each>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>


HTML nimede kuvamiseks tähestiku järjekorras (perekonnanime alusel).

<?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>Phonebook</title>
        </head>
        <body>
        <h3>People</h3>
        <table border="1" style="border:1px solid black;">
          <th>Firstname</th>
          <th>Lastname</th>
          <xsl:for-each select="Phonebook/Groups/Group/Person">
            <xsl:sort select="Lastname"/>
            <tr>
              <td>
                <xsl:value-of select="Firstname"/>
              </td>
              <td>
                <xsl:value-of select="Lastname"/>
              </td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

Veebiteenus

Klientrakendused

Retsensioonid

XML-i retsensioon meeskonnale NoMethodError

Meeskonna „NoMethodError“ XML faili sisuks on pangakontod ja tehingud. Antud töö vastab esitatud tingimustele: olemas on XML ja ka selle XML-i skeemifail ning XSL failid loodud XML-i andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Samuti on XML-il vähemalt 4 loogilist dimensiooni. 3-el dimensioonil kasutatakse ka erinevaid attribuute ja ei piirduta ainult ID-ga. Andmefailid on kergelt loetavad ja loogilised, koodi struktuur on selgelt vormistatud ja ei häiri silma, elemente ja atribuute on kasutatud mõistlikult. Tehtud tööle on lisatud boonusena illustratsioon ja on seetõttu näha, milline on koodi väljund. Puudusi pole meie silmis välja tuua ja arvame, et kuna töö on esitatud tähtajaks, võib seda hinnata maksimaalse võimaliku punktisummaga.

Veebiteenuse retsensioon meeskonnale...

Klientrakenduse retsensioon meeskonnale...