JaRe: Difference between revisions
From ICO wiki
Jump to navigationJump to search
Created page with '= Projekt = == XML Andmefailid == === XML === <source lang="xml"> <?xml version="1.0" encoding="utf-8" ?> <raamatukogu> <osakond korrus="1" nimi="informaatika-infoteholoogia…' |
|||
Line 7: | Line 7: | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8" ?> | <?xml version="1.0" encoding="utf-8" ?> | ||
<raamatukogu> | <raamatukogu> | ||
<osakond korrus="1" nimi="informaatika-infoteholoogia"> | |||
<riiul id = "1" teema="informaatika"> | <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"> | <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> | <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> | <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> | <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> | <lehekülgi>200</lehekülgi> | ||
</raamat> | |||
</riiul> | |||
</osakond> | |||
<osakond korrus="1" nimi="ajalugu"> | |||
<riiul id = "1" teema="teadus"> | |||
<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> | </raamatukogu> | ||
</source> | |||
=== XSD === | |||
<source lang="xml"> | |||
<?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> | |||
</source> | |||
=== XSLT === | |||
<source lan="xml"> | |||
<?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> | |||
<table border="1"> | |||
<tr> | |||
<th>Nimi</th> | |||
<th>Autor</th> | |||
<th>Lehekülged arv</th> | |||
<th>Aasta</th> | |||
<th>Kirjastus</th> | |||
<th>Kogus</th> | |||
</tr> | |||
<xsl:for-each select="/osakonnad/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:styleshee | |||
=== XSLT === | |||
Kuvab raamatud, mille kogus riiulites on suurem neljast. | |||
<source lan="xml"> | |||
<?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="/osakonnad/osakond"> | |||
<h2> | |||
<xsl:value-of select="@nimi"/> korrus <xsl:value-of select="@korrus"/> | |||
</h2> | |||
<xsl:for-each select="riiul"> | |||
<p> | |||
<xsl:value-of select="@teema"/> riiul | |||
</p> | |||
<table border="1"> | |||
<tr> | |||
<th>Nimi</th> | |||
<th>Autor</th> | |||
<th>Lehekülged 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> | |||
</source> | </source> |
Revision as of 21:26, 2 March 2013
Projekt
XML Andmefailid
XML
<?xml version="1.0" encoding="utf-8" ?>
<raamatukogu>
<osakond korrus="1" nimi="informaatika-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="teadus">
<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
<?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>
<table border="1">
<tr>
<th>Nimi</th>
<th>Autor</th>
<th>Lehekülged arv</th>
<th>Aasta</th>
<th>Kirjastus</th>
<th>Kogus</th>
</tr>
<xsl:for-each select="/osakonnad/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:styleshee
=== XSLT ===
Kuvab raamatud, mille kogus riiulites on suurem neljast.
<source lan="xml">
<?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="/osakonnad/osakond">
<h2>
<xsl:value-of select="@nimi"/> korrus <xsl:value-of select="@korrus"/>
</h2>
<xsl:for-each select="riiul">
<p>
<xsl:value-of select="@teema"/> riiul
</p>
<table border="1">
<tr>
<th>Nimi</th>
<th>Autor</th>
<th>Lehekülged 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>