Meeskond:ArturJaSobrad
From ICO wiki
Meeskond
Liikmed:
- Anni Klammer
- Artur Tomba
- Oliver Vahenõmm
XML
XML
<?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>
<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>