Tab
From ICO wiki
Meeskond
- Rene Mändel
- Mikk Pürg
XML
<?xml version="1.0" encoding="utf-8"?>
<chat>
<toad>
<tuba id="1" privaatne="true">
<andmed>
<nimi><![CDATA[Tuba]]></nimi>
<looja><![CDATA[Peeter]]></looja>
<loojaId>1</loojaId>
<loomisKuupaev>5.03.2015 16:11:22</loomisKuupaev>
<kustutamisKuupaev></kustutamisKuupaev>
<parool><![CDATA[pommpomm]]></parool>
<kirjeldus><![CDATA[Siin on kanali kirjeldus]]></kirjeldus>
</andmed>
<sisu>
<jutt kirjutajaId="1" kirjutajaNimi="Peeter" kuupaev=""><![CDATA[See on siin esimene jutustav lause.]]></jutt>
</sisu>
</tuba>
<tuba id="2" privaatne="false">
<andmed>
<nimi><![CDATA[ITK room]]></nimi>
<looja><![CDATA[Juhan]]></looja>
<loojaId>1</loojaId>
<loomisKuupaev>5.03.2015 16:11:22</loomisKuupaev>
<kustutamisKuupaev>5.03.2015 16:11:22</kustutamisKuupaev>
<parool><![CDATA[pomm]]></parool>
<kirjeldus><![CDATA[Tuba ainult ITK tudengitele]]></kirjeldus>
</andmed>
<sisu>
<jutt kirjutajaId="1" kirjutajaNimi="Peeter" kuupaev=""><![CDATA[Täna ma paitasin kassi.]]></jutt>
</sisu>
</tuba>
<tuba id="3" privaatne="false">
<andmed>
<nimi><![CDATA[Kiisu generaator]]></nimi>
<looja><![CDATA[Peeter]]></looja>
<loojaId>1</loojaId>
<loomisKuupaev>5.03.2015 16:11:22</loomisKuupaev>
<kustutamisKuupaev></kustutamisKuupaev>
<parool><![CDATA[pommpomm]]></parool>
<kirjeldus><![CDATA[kasse tegelikult siin ei ole]]></kirjeldus>
</andmed>
<sisu>
<jutt kirjutajaId="2" kirjutajaNimi="Juhan" kuupaev=""><![CDATA[See on siin esimene jutustav lause.]]></jutt>
</sisu>
</tuba>
</toad>
<kasutajad>
<kasutaja id="1" tyyp="administraator">
<kasutajanimi><![CDATA[Peeter]]></kasutajanimi>
<email><![CDATA[Peeter@peeter.ee]]></email>
<nickname><![CDATA[Peeter]]></nickname>
<parool><![CDATA[teretere]]></parool>
<kasutajaLoodudKuupaev>5.03.2015 16:11:22</kasutajaLoodudKuupaev>
<kasutajaKustutatudKuupaev></kasutajaKustutatudKuupaev>
</kasutaja>
<kasutaja id="2" tyyp="kasutaja">
<kasutajanimi><![CDATA[juhan]]></kasutajanimi>
<email><![CDATA[Juhan@mail.ee]]></email>
<nickname><![CDATA[juhh]]></nickname>
<parool><![CDATA[juhjuh]]></parool>
<kasutajaLoodudKuupaev>5.03.2015 16:11:22</kasutajaLoodudKuupaev>
<kasutajaKustutatudKuupaev>5.03.2015 16:11:22</kasutajaKustutatudKuupaev>
</kasutaja>
</kasutajad>
</chat>
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="chat">
<xs:complexType>
<xs:sequence>
<xs:element name="toad">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="tuba">
<xs:complexType>
<xs:sequence>
<xs:element name="andmed">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string" />
<xs:element name="looja" type="xs:string" />
<xs:element name="loojaId" type="xs:unsignedInt" />
<xs:element name="loomisKuupaev" type="xs:string" />
<xs:element name="kustutamisKuupaev" type="xs:string" />
<xs:element name="parool" type="xs:string" />
<xs:element name="kirjeldus" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sisu">
<xs:complexType>
<xs:sequence>
<xs:element name="jutt">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="kirjutajaId" type="xs:unsignedInt" use="required" />
<xs:attribute name="kirjutajaNimi" type="xs:string" use="required" />
<xs:attribute name="kuupaev" 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:attribute name="privaatne" type="xs:boolean" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="kasutajad">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="kasutaja">
<xs:complexType>
<xs:sequence>
<xs:element name="kasutajanimi" type="xs:string" />
<xs:element name="email" type="xs:string" />
<xs:element name="nickname" type="xs:string" />
<xs:element name="parool" type="xs:string" />
<xs:element name="kasutajaLoodudKuupaev" type="xs:string" />
<xs:element name="kasutajaKustutatudKuupaev" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="tyyp" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
Kuvab avalike tubade nime, kirjeldus, loojat ja loomiskuupäeva.
<?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>
<body>
<xsl:for-each select="chat/toad/tuba">
<xsl:if test="@privaatne = 'false'">
<h2>
<xsl:value-of select="andmed/nimi" />
</h2>
<h3>
<xsl:value-of select="andmed/kirjeldus" />
</h3>
<ul>
<li>
<xsl:value-of select="andmed/looja" />
<xsl:text> </xsl:text>
</li>
<li>
<xsl:value-of select="andmed/loomisKuupaev" />
<xsl:text> </xsl:text>
</li>
</ul>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Kuvab kõikide kasutajate hüüdnime ja õigusi.
<?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>
<body>
<h2>Kasutajad</h2>
<table border="1">
<tr>
<th>Hüüdnimi</th>
<th>Õigused</th>
</tr>
<xsl:for-each select="chat/kasutajad/kasutaja">
<tr>
<td>
<xsl:value-of select="nickname" />
</td>
<td>
<xsl:value-of select="@tyyp" />
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Kuvab XML faili kus on toad.
<?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="xml" indent="yes" />
<xsl:template match="/">
<chat>
<toad>
<xsl:for-each select="chat/toad/tuba">
<tuba id="{@id}" privaatne="{@privaatne}">
<xsl:attribute name="kirjeldus">
<xsl:value-of select="andmed/kirjeldus"/>
</xsl:attribute>
<xsl:value-of select="andmed/nimi"/>
</tuba>
</xsl:for-each>
</toad>
<kasutajateArv>
<xsl:value-of select="count(chat/kasutajad/kasutaja)"/>
</kasutajateArv>
</chat>
</xsl:template>
</xsl:stylesheet>