JaRe
From ICO wiki
Projekt
Meeskond
- Jaan Kängsepp
- Rene Ott
- Laura Närska
Veebiteenus
XML Andmefailid
XML
Tegemist on raamatukoguga, kus on erinevad osakonnad. Osakonnad asuvad erinevatel korrustel ning neil on nimed. Igas osakonnas on riiulid. Igal riiulil asuvad kindlat tüüpi raamatud.
<?xml version="1.0" encoding="utf-8" ?>
<raamatukogu>
<osakond korrus="1" nimi="Informaatika ja Infoteholoogia">
<riiul id = "1" teema="Informaatika">
<raamat kogus="5" trükk="1">
<nimi>Informaatika teoreetilised alused</nimi>
<autor>Peeter Lorents</autor>
<ilmumisaasta>2001</ilmumisaasta>
<kirjastus>EBS Print</kirjastus>
<lehekülgi>430</lehekülgi>
</raamat>
<raamat kogus="3" trükk="1">
<nimi>Hulgad, valemid, algoritmid</nimi>
<autor>Peeter Lorents</autor>
<ilmumisaasta>2007</ilmumisaasta>
<kirjastus>Eesti Infotehnoloogia Kolledž</kirjastus>
<lehekülgi>336</lehekülgi>
</raamat>
<raamat kogus="3" trükk="1">
<nimi>Hulgateooria lastele</nimi>
<autor>Hulga Element</autor>
<ilmumisaasta>2007</ilmumisaasta>
<kirjastus>Eesti Infotehnoloogia Kolledž</kirjastus>
<lehekülgi>400</lehekülgi>
</raamat>
</riiul>
<riiul id = "2" teema="Programmeerimine">
<raamat kogus="5" trükk="4">
<nimi>Thinking in Java</nimi>
<autor>Bruce Eckel</autor>
<ilmumisaasta>2001</ilmumisaasta>
<kirjastus>Prentice-Hall</kirjastus>
<lehekülgi>1000</lehekülgi>
</raamat>
<raamat kogus="5" trükk="2">
<nimi>Efektiivne Programmeerimine</nimi>
<autor>Edgar Suur</autor>
<ilmumisaasta>2005</ilmumisaasta>
<kirjastus>Tallina Kirjastus</kirjastus>
<lehekülgi>250</lehekülgi>
</raamat>
<raamat kogus="1" trükk="1">
<nimi>Efektiivne Programmeerimine</nimi>
<autor>Edgar Suur</autor>
<ilmumisaasta>2000</ilmumisaasta>
<kirjastus>Tallina Kirjastus</kirjastus>
<lehekülgi>200</lehekülgi>
</raamat>
</riiul>
</osakond>
<osakond korrus="1" nimi="Ajalugu">
<riiul id = "1" teema="Teadusajalugu">
<raamat kogus="5" trükk="1">
<nimi>Nõiakunst</nimi>
<autor>Wiktor Merlin</autor>
<ilmumisaasta>1136</ilmumisaasta>
<kirjastus>Camelot</kirjastus>
<lehekülgi>500</lehekülgi>
</raamat>
<raamat kogus="5" trükk="1">
<nimi>Alkeemia ajalugu</nimi>
<autor>Targo Kivi</autor>
<ilmumisaasta>1337</ilmumisaasta>
<kirjastus>Alchimia</kirjastus>
<lehekülgi>400</lehekülgi>
</raamat>
</riiul>
<riiul id = "2" teema="Teine maailmasõda">
<raamat kogus="3" trükk="1">
<nimi>Eestlased teises maailmasõjas</nimi>
<autor>Peeter Eeter Termomeeter</autor>
<ilmumisaasta>2006</ilmumisaasta>
<kirjastus>Kotkas</kirjastus>
<lehekülgi>100</lehekülgi>
</raamat>
<raamat kogus="5" trükk="1">
<nimi>Venelased teises maailmasõjas</nimi>
<autor>Peeter Eeter Termomeeter</autor>
<ilmumisaasta>2010</ilmumisaasta>
<kirjastus>Kotkas</kirjastus>
<lehekülgi>1000</lehekülgi>
</raamat>
</riiul>
</osakond>
</raamatukogu>
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="raamatukogu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="osakond">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="riiul">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="raamat">
<xs:complexType>
<xs:sequence>
<xs:element name="nimi" type="xs:string" />
<xs:element maxOccurs="unbounded" name="autor" type="xs:string" />
<xs:element name="ilmumisaasta" type="xs:integer" />
<xs:element name="kirjastus" type="xs:string" />
<xs:element minOccurs="0" name="lehekülgi" type="xs:integer" />
</xs:sequence>
<xs:attribute name="kogus" type="xs:integer" use="required" />
<xs:attribute name="trükk" type="xs:integer" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required" />
<xs:attribute name="teema" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="korrus" type="xs:integer" use="required" />
<xs:attribute name="nimi" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
Kuvab kõik saadaval olevate raamatute informatsiooni. Tulemust on võimalik vaadata [siit].
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<h1>Raamatud</h1>
<table border="1">
<tr>
<th>Nimi</th>
<th>Autor</th>
<th>Lehekülgede arv</th>
<th>Aasta</th>
<th>Kirjastus</th>
<th>Kogus</th>
</tr>
<xsl:for-each select="/raamatukogu/osakond/riiul/raamat">
<tr>
<td>
<xsl:value-of select="nimi"/>
</td>
<td>
<xsl:value-of select="autor"/>
</td>
<td>
<xsl:value-of select="lehekülgi"/>
</td>
<td>
<xsl:value-of select="ilmumisaasta"/>
</td>
<td>
<xsl:value-of select="kirjastus"/>
</td>
<td>
<xsl:value-of select="@kogus"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Kuvab raamatud, mille kogus riiulites on suurem neljast.
Tulemust on võimalik vaadata [siit].
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select="/raamatukogu/osakond">
<h2>
Korrus: <xsl:value-of select="@korrus"/> - <xsl:value-of select="@nimi"/>
</h2>
<xsl:for-each select="riiul">
<p>
Riiul: <xsl:value-of select="@teema"/>
</p>
<table border="1">
<tr>
<th>Nimi</th>
<th>Autor</th>
<th>Lehekülgede arv</th>
<th>Aasta</th>
<th>Kirjastus</th>
</tr>
<xsl:for-each select="raamat">
<xsl:if test="@kogus > 4">
<tr>
<td>
<xsl:value-of select="nimi"/>
</td>
<td>
<xsl:value-of select="autor"/>
</td>
<td>
<xsl:value-of select="lehekülgi"/>
</td>
<td>
<xsl:value-of select="ilmumisaasta"/>
</td>
<td>
<xsl:value-of select="kirjastus"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>