Hello Kitty
From ICO wiki test
LIIKMED
- Herki Pärn
- Jaanus Varus
- Fred Mihkelsoo
XML
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <matches xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="game_matches.xsd"> <match id="1" type="tdm" duration="00:40:33" created="2002-09-24-17:31"> <teams> <team name="red" victorious="false" score="885"> <players> <player id="1" name="Anissa" score="614" victorious="false" /> <player id="2" name="Jesus" score="157" victorious="false" /> <player id="3" name="Erick" score="17" victorious="false" /> <player id="4" name="Verena" score="97" victorious="false" /> </players> </team> <team name="blue" victorious="true" score="2682"> <players> <player id="5" name="Fredric" score="729" victorious="true" /> <player id="6" name="Lynda" score="573" victorious="true" /> <player id="7" name="Ingrid" score="958" victorious="true" /> <player id="8" name="Charmaine" score="422" victorious="true" /> </players> </team> </teams> </match> <match id="2" type="dm" duration="00:31:10" created="2002-09-23-14:10"> <players> <player id="9" name="Rosa" score="24" victorious="false" /> <player id="10" name="Jolyn" score="85" victorious="true" /> <player id="11" name="Kristyn" score="61" victorious="false" /> </players> </match> <match id="3" type="dm" duration="00:25:50" created="2002-09-24-16:05"> <players> <player id="2" name="Jesus" score="67" victorious="false" /> <player id="1" name="Anissa" score="106" victorious="true" /> <player id="6" name="Lynda" score="99" victorious="false" /> </players> </match> <match id="4" type="tdm" duration="00:51:19" created="2002-09-25-23:31"> <teams> <team name="red" victorious="true" score="1882"> <players> <player id="1" name="Anissa" score="1005" victorious="true" /> <player id="2" name="Jesus" score="794" victorious="true" /> <player id="3" name="Erick" score="81" victorious="true" /> <player id="4" name="Verena" score="2" victorious="true" /> </players> </team> <team name="blue" victorious="false" score="1560"> <players> <player id="5" name="Fredric" score="710" victorious="false" /> <player id="6" name="Lynda" score="496" victorious="false" /> <player id="7" name="Ingrid" score="194" victorious="false" /> <player id="8" name="Charmaine" score="160" victorious="false" /> </players> </team> </teams> </match> </matches>
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="matches">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="match">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="players">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="player">
<xs:complexType>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="score" type="xs:unsignedInt" use="required" />
<xs:attribute name="victorious" type="xs:boolean" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="teams">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="2" maxOccurs="unbounded" name="team">
<xs:complexType>
<xs:sequence>
<xs:element name="players">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="player">
<xs:complexType>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="score" type="xs:unsignedInt" use="required" />
<xs:attribute name="victorious" type="xs:boolean" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="victorious" type="xs:boolean" use="required" />
<xs:attribute name="score" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="duration" type="xs:time" use="required" />
<xs:attribute name="created" type="xs:date" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
<?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" encoding="utf-8" />
<xsl:template match="/">
<xsl:text disable-output-escaping="yes">
<!DOCTYPE html>
</xsl:text>
<html>
<body>
<h2>Game matches:</h2>
<xsl:for-each select="matches/match">
<table border="1" style="margin: 10px; float: left;">
<xsl:choose>
<xsl:when test="@type = 'tdm'">
<tr style="background-color: #917A56;">
<th>Player</th>
<th>Team</th>
<th>Score</th>
<th>Victorious</th>
</tr>
<xsl:for-each select="teams/team">
<xsl:for-each select="players/player">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<xsl:text disable-output-escaping="yes">
<tr style="background-color: #FEFFC2;">
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text disable-output-escaping="yes">
<tr style="background-color: #B4BA6C;">
</xsl:text>
</xsl:otherwise>
</xsl:choose>
<td>
<xsl:value-of select="@name" />
</td>
<td>
<xsl:value-of select="../../@name" />
</td>
<td>
<xsl:value-of select="@score" />
</td>
<td>
<xsl:value-of select="@victorious"/>
</td>
<xsl:text disable-output-escaping="yes">
</tr>
</xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<tr style="background-color: #917A56;">
<th>Player</th>
<th>Score</th>
<th>Victorious</th>
</tr>
<xsl:for-each select="players/player">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<xsl:text disable-output-escaping="yes">
<tr style="background-color: #FEFFC2;">
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text disable-output-escaping="yes">
<tr style="background-color: #B4BA6C;">
</xsl:text>
</xsl:otherwise>
</xsl:choose>
<td>
<xsl:value-of select="@name" />
</td>
<td>
<xsl:value-of select="@score" />
</td>
<td>
<xsl:value-of select="@victorious"/>
</td>
<xsl:text disable-output-escaping="yes">
</tr>
</xsl:text>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<xsl:template match="/">
<matches>
<xsl:for-each select="matches/match">
<xsl:choose>
<xsl:when test="@type = 'tdm'">
<match>
<xsl:attribute name="id">
<xsl:value-of select="@id" />
</xsl:attribute>
<xsl:attribute name="type">
<xsl:value-of select="@type" />
</xsl:attribute>
<xsl:attribute name="duration">
<xsl:value-of select="@duration" />
</xsl:attribute>
<xsl:attribute name="created">
<xsl:value-of select="@created" />
</xsl:attribute>
<teams>
<xsl:for-each select="teams/team">
<team>
<xsl:attribute name="name">
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="victorious">
<xsl:value-of select="@victorious" />
</xsl:attribute>
<xsl:attribute name="score">
<xsl:value-of select="@score" />
</xsl:attribute>
<players>
<xsl:for-each select="players/player">
<player>
<xsl:attribute name="id">
<xsl:value-of select="@id" />
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:attribute name="victorious">
<xsl:value-of select="@victorious" />
</xsl:attribute>
<xsl:attribute name="score">
<xsl:value-of select="@score" />
</xsl:attribute>
</player>
</xsl:for-each><!-- FOREACH PLAYER ENDS HERE -->
</players>
</team>
</xsl:for-each><!-- FOREACH TEAM ENDS HERE -->
</teams>
</match>
</xsl:when>
</xsl:choose>
</xsl:for-each><!-- FOREACH MATCH ENDS HERE -->
</matches>
</xsl:template>
</xsl:stylesheet>