CSharpArt
From ICO wiki
Meeskond
- Kristo Roosileht (D22)
- Mihkel Kadarik (D22)
- Henri Kroosmann (D61)
- Ats Rand (D22)
XML fail
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="stiil.xslt" ?>
<phoneBook>
<phoneBookItem type="person" id="1">
<personName>
<givenNames>
<name default="1">Paul</name>
<name>Peeter</name>
</givenNames>
<familyName>Puujalg</familyName>
</personName>
<birthday format="YYYY-MM-DD">1919-02-27</birthday>
<addresses>
<address id="1" default="1">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Narva mnt.</street>
<house>5</house>
<apartment>13</apartment>
<zipCode>12345</zipCode>
</address>
<address id="2">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Pärnu mnt.</street>
<house>25</house>
<apartment/>
<zipCode>12345</zipCode>
</address>
</addresses>
<contactInfo>
<phones>
<phone type="home" areaCode="372">63440292</phone>
<phone type="mobile" areaCode="372" default="1">55566334</phone>
<phone type="work" areaCode="372">555234231</phone>
<phone type="skype" areaCode="372">2340240</phone>
</phones>
<emails>
<email type="personal" default="1">mail@mail.ee</email>
<email type="work">mail@puujalg.ee</email>
</emails>
<other>
<skype>paul.peeter.puujalg</skype>
<twitter>paulpeeterpuujalg</twitter>
</other>
</contactInfo>
<additionalInfo>
<websites>
<website type="facebook">http://www.facebook.com/paulpeeterpuujalg</website>
</websites>
<company id="4">
<name>Puujalad & Co.</name>
</company>
<notes>
<note date="2013-02-10">Tegemist töökaaslasega minu eelmisest ettevõttest</note>
</notes>
</additionalInfo>
</phoneBookItem>
<phoneBookItem type="person" id="2">
<personName>
<givenNames>
<name default="1">Karl</name>
<name>Kristjan</name>
</givenNames>
<familyName>Konkskäsi</familyName>
</personName>
<birthday format="YYYY-MM-DD">1919-02-27</birthday>
<addresses>
<address id="1" default="1">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Narva mnt.</street>
<house>5</house>
<apartment>13</apartment>
<zipCode>12345</zipCode>
</address>
<address id="2">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Pärnu mnt.</street>Š
<house>25</house>
<apartment/>
<zipCode>12345</zipCode>
</address>
</addresses>
<contactInfo>
<phones>
<phone type="home" areaCode="372">63440292</phone>
<phone type="mobile" areaCode="372" default="1">55566334</phone>
<phone type="work" areaCode="372">555234231</phone>
<phone type="skype" areaCode="372">2340240</phone>
</phones>
<emails>
<email type="personal" default="1">mail@mail.ee</email>
<email type="work">mail@konksk2si.ee</email>
</emails>
<other>
<skype>karl.kristjan.konksk2si</skype>
<twitter>karlkristjankonksk2si</twitter>
</other>
</contactInfo>
<additionalInfo>
<websites>
<website type="facebook">http://www.facebook.com/karlkristjankonksk2si</website>
</websites>
<company id="3">
<name>Konkskäed & Co.</name>
</company>
<notes>
<note date="2013-02-10">Tegemist töökaaslasega minu järgmisest ettevõttest</note>
</notes>
</additionalInfo>
</phoneBookItem>
<phoneBookItem type="organization" id="3">
<orgName>Konkskäed & Co.</orgName>
<addresses>
<address id="45" default="1" type="office">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Tartu mnt.</street>
<house>45</house>
<zipCode>12345</zipCode>
</address>
<address id="2" type="shop">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Pärnu mnt.</street>
<house>253b</house>
<apartment/>
<zipCode>12345</zipCode>
</address>
</addresses>
<contactInfo>
<phones>
<phone areaCode="372" default="1">6310456</phone>
</phones>
<emails>
<email default="1">kiri@konksk2si.ee</email>
</emails>
<other>
<skype>konksk2si.klienditeenindus</skype>
<test>testkontakt</test>
</other>
</contactInfo>
<additionalInfo>
<websites>
<website type="homepage">http://www.konksk2si.ee</website>
<website type="shop">http://pood.konksk2si.ee</website>
<website type="facebook">http://www.facebook.com/konksk2si</website>
</websites>
<notes>
<note date="2012-12-12">See on koht, kust saab väga häid konkse kätele</note>
</notes>
<contactPersons>
<person id="2">Karl Kristjan Konkskäsi</person>
</contactPersons>
</additionalInfo>
</phoneBookItem>
<phoneBookItem type="organization" id="4">
<orgName>Puujalad & Co.</orgName>
<addresses>
<address id="45" default="1" type="office">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Tartu mnt.</street>
<house>45</house>
<zipCode>12345</zipCode>
</address>
<address id="2" type="shop">
<country>Estonia</country>
<county>Harjumaa</county>
<city>Tallinn</city>
<street>Pärnu mnt.</street>
<house>253b</house>
<apartment/>
<zipCode>12345</zipCode>
</address>
</addresses>
<contactInfo>
<phones>
<phone areaCode="372" default="1">6310456</phone>
</phones>
<emails>
<email default="1">kiri@puujalad.ee</email>
</emails>
<other>
<skype>puujalad.klienditeenindus</skype>
<twitter>puujalad</twitter>
</other>
</contactInfo>
<additionalInfo>
<websites>
<website type="homepage">http://www.puujalad.ee</website>
<website type="shop">http://pood.puujalad.ee</website>
</websites>
<notes>
<note date="2012-12-12">See on koht, kust saab väga häid puujalgu</note>
</notes>
<contactPersons>
<person id="1">Paul Peeter Puujalg</person>
</contactPersons>
</additionalInfo>
</phoneBookItem>
</phoneBook>
Stiilifail1
Stiilifail, mis väljastab kõik isikud.
<?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:template match="/">
<html>
<body bgcolor="#eeeeee">
<h2>Kontakt! Isikud</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Sünnipäev</th>
<th>Eesnimi</th>
<th>Perekonnanimi</th>
<th>Aadress</th>
<th>Telefon</th>
<th>e-Mail</th>
<th>Muu</th>
<th>Veebilehed</th>
</tr>
<xsl:for-each select="phoneBook/phoneBookItem">
<xsl:if test="@type = 'person'">
<tr>
<td>
<xsl:value-of select="birthday"/>
</td>
<td>
<xsl:for-each select="personName/givenNames/name"><xsl:value-of select="." /><xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text></xsl:for-each>
</td>
<td>
<xsl:value-of select="personName/familyName" />
</td>
<td>
<table>
<xsl:for-each select="addresses/address">
<tr>
<td>
<xsl:value-of select="country" /><br />
<xsl:value-of select="county" /><br />
<xsl:value-of select="city" />,<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select="zipCode" /><br />
<xsl:value-of select="street" /><xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select="house" />
<xsl:if test="./apartment/text()">
<xsl:text disable-output-escaping="yes"><![CDATA[‐]]></xsl:text><xsl:value-of select="apartment" />
</xsl:if>
</td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select ="contactInfo/phones/phone">
<tr>
<td><xsl:value-of select="./@type"/>:<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select ="."/></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="contactInfo/emails/email">
<tr>
<td><xsl:value-of select="./@type" />:<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="contactInfo/other">
<tr>
<td>
<table>
<xsl:if test="skype">
<tr>
<td>Skype:<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select="skype" /></td>
</tr>
</xsl:if>
<xsl:if test="test">
<tr>
<td>Test:<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><xsl:value-of select="test" /></td>
</tr>
</xsl:if>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="additionalInfo/websites/website">
<tr>
<td><xsl:value-of select="./@type" />:<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><br /><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Stiilifail2
Stiilifail, mis väljastab kõi ettevõtted.
<?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:template match="/">
<html>
<body bgcolor="#eeeeee">
<h2>Kontakt! - Ettevõtted</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Nimi</th>
<th>Aadressid</th>
<th>Telefonid</th>
<th>e-Mailid</th>
<th>Muu kontaktinfo</th>
<th>Veebilehed</th>
<th>Kontaktisikud</th>
</tr>
<xsl:for-each select="phoneBook/phoneBookItem">
<xsl:if test="@type = 'organization'">
<tr>
<td><xsl:value-of select="orgName"/></td>
<td>
<table>
<xsl:for-each select="addresses/address">
<tr>
<td>
<xsl:value-of select="country" /><br />
<xsl:value-of select="county" /><br />
<xsl:value-of select="city" />, <xsl:value-of select="zipCode" /><br />
<xsl:value-of select="street" /> <xsl:value-of select="house" /> <xsl:value-of select="apartment" />
</td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="contactInfo/phones/phone">
<tr>
<td>+<xsl:value-of select="./@areaCode" /><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="contactInfo/emails/email">
<tr>
<td><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="contactInfo/other">
<tr>
<td>
<table>
<xsl:if test="skype">
<tr>
<td>Skype: <xsl:value-of select="skype" /></td>
</tr>
</xsl:if>
<xsl:if test="test">
<tr>
<td>Test: <xsl:value-of select="test" /></td>
</tr>
</xsl:if>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="additionalInfo/websites/website">
<tr>
<td><xsl:value-of select="./@type" />: <br /><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
<td>
<table>
<xsl:for-each select="additionalInfo/contactPersons/person">
<tr>
<td>(<xsl:value-of select="./@id" />) <xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
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="phoneBook">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="phoneBookItem">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="orgName" type="xs:string" />
<xs:element minOccurs="0" name="personName">
<xs:complexType>
<xs:sequence>
<xs:element name="givenNames">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="default" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="familyName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="birthday">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:date">
<xs:attribute name="format" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="addresses">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="address">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="address">
<xs:complexType>
<xs:sequence>
<xs:element name="country" type="xs:string" />
<xs:element name="county" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="street" type="xs:string" />
<xs:element name="house" type="xs:string" />
<xs:element name="appartement" />
<xs:element name="zipCode" type="xs:unsignedShort" />
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="country" type="xs:string" />
<xs:element minOccurs="0" name="county" type="xs:string" />
<xs:element minOccurs="0" name="city" type="xs:string" />
<xs:element minOccurs="0" name="street" type="xs:string" />
<xs:element minOccurs="0" name="house" type="xs:unsignedByte" />
<xs:element minOccurs="0" name="appartement" type="xs:unsignedByte" />
<xs:element minOccurs="0" name="zipCode" type="xs:unsignedShort" />
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
<xs:attribute name="default" type="xs:unsignedByte" use="optional" />
<xs:attribute name="type" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contactInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="phones">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="phone">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedInt">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="areaCode" type="xs:unsignedShort" use="required" />
<xs:attribute name="default" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="emails">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="email">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
<xs:attribute name="default" type="xs:unsignedByte" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="other">
<xs:complexType>
<xs:sequence>
<xs:element name="skype" type="xs:string" />
<xs:element minOccurs="0" name="twitter" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="additionalInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="websites">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="website">
<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 minOccurs="0" name="company">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="notes">
<xs:complexType>
<xs:sequence>
<xs:element name="note">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="date" type="xs:date" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="contactPersons">
<xs:complexType>
<xs:sequence>
<xs:element name="person">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="id" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Logi
19.03.2013 11:30 - Moodustasime Tiimi
19.03.2013 15:00 - Alustasime Wiki lehega
23.03.2013 23:58 - Esitatsime XML kodutöö
25.03.2013 10:39 - Viisime sisse väiksed parandused esitatud kodutööle
30.03.2013 17:43 - Esitasime XML ülesande retsensiooni meeskonna Trenniinfo kohta