Peeter VR2: Difference between revisions
From ICO wiki
Jump to navigationJump to search
(10 intermediate revisions by 2 users not shown) | |||
Line 38: | Line 38: | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<raamatud> | <raamatukogu> | ||
<raamatud saadavus="1"> | |||
< | <raamat autorID="3" raamatID="2" kategooria="Romaan"> | ||
<pealkiri> | <raamatinf keel="eesti"> | ||
< | <pealkiri>Tuultest viidud</pealkiri> | ||
< | <lkarv>9001</lkarv> | ||
</ | </raamatinf> | ||
< | <osakond name="Ilukirjandus" korrus="3" /> | ||
< | </raamat> | ||
<raamat autorID="1" raamatID="4" kategooria="Ilukirjandus" > | |||
< | <raamatinf keel="eesti"> | ||
< | <pealkiri>Tõde ja õigus II</pealkiri> | ||
< | <lkarv>338</lkarv> | ||
</raamatinf> | |||
</ | <osakond name="Ilukirjandus" korrus="3" /> | ||
</ | </raamat> | ||
< | <raamat autorID="1" raamatID="5" kategooria="Ilukirjandus" > | ||
< | <raamatinf keel="eesti"> | ||
< | <pealkiri>Tõde ja õigus III</pealkiri> | ||
< | <lkarv>358</lkarv> | ||
< | </raamatinf> | ||
</ | <osakond name="Ilukirjandus" korrus="3" /> | ||
< | </raamat> | ||
<eesnimi>Tuule</eesnimi> | <raamat autorID="1" raamatID="6" kategooria="Ilukirjandus" > | ||
<raamatinf keel="eesti"> | |||
<pealkiri>Tõde ja õigus IV</pealkiri> | |||
< | <lkarv>371</lkarv> | ||
</ | </raamatinf> | ||
</ | <osakond name="Ilukirjandus" korrus="3" /> | ||
</ | </raamat> | ||
<raamat autorID="4" raamatID="8" kategooria="Kriminaalromaan" > | |||
<raamatinf keel="eesti"> | |||
<pealkiri>Kadunud viiuldaja</pealkiri> | |||
<lkarv>441</lkarv> | |||
<osakond name="Krimi" korrus="4" /> | |||
</raamatinf> | |||
</raamat> | |||
</raamatud> | |||
<raamatud saadavus="0"> | |||
<raamat autorID="2" raamatID="1" kategooria="Loriluule"> | |||
<raamatinf keel="eesti"> | |||
<pealkiri>Luule Lori loriluulekogum 3</pealkiri> | |||
<lkarv>300</lkarv> | |||
</raamatinf> | |||
<osakond name="Luule" korrus="2" /> | |||
</raamat> | |||
<raamat autorID="1" raamatID="3" kategooria="Ilukirjandus"> | |||
<raamatinf keel="eesti"> | |||
<pealkiri>Tõde ja õigus I</pealkiri> | |||
<lkarv>300</lkarv> | |||
</raamatinf> | |||
<osakond name="Ilukirjandus" korrus="3" /> | |||
</raamat> | |||
<raamat autorID="1" raamatID="7" kategooria="Ilukirjandus"> | |||
<raamatinf keel="eesti"> | |||
<pealkiri>Tõde ja õigus V</pealkiri> | |||
<lkarv>355</lkarv> | |||
</raamatinf> | |||
<osakond name="Ilukirjandus" korrus="3" /> | |||
</raamat> | |||
</raamatud> | |||
<autorid paritolu="eesti"> | |||
<autor autorID="1" keel="eesti"> | |||
<andmed> | |||
<eesnimi>Anton Hansen</eesnimi> | |||
<perenimi>Tammsaare</perenimi> | |||
<synd>1878</synd> | |||
</andmed> | |||
<teoseid arv="5"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> | |||
</autor> | |||
<autor autorID="2" keel="eesti"> | |||
<andmed> | |||
<eesnimi>Luule</eesnimi> | |||
<perenimi>Lori</perenimi> | |||
<synd>1889</synd> | |||
</andmed> | |||
<teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> | |||
</autor> | |||
<autor autorID="4" keel="eesti"> | |||
<andmed> | |||
<eesnimi>Juhan</eesnimi> | |||
<perenimi>Paju</perenimi> | |||
<synd>1939</synd> | |||
</andmed> | |||
<teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> | |||
</autor> | |||
</autorid> | |||
<autorid paritolu="valismaa"> | |||
<autor autorID="3" keel="eesti"> | |||
<andmed> | |||
<eesnimi>Tuule</eesnimi> | |||
<perenimi>Veski</perenimi> | |||
<synd>1960</synd> | |||
</andmed> | |||
<teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> | |||
</autor> | |||
</autorid> | |||
</raamatukogu> | |||
</pre> | </pre> | ||
Line 76: | Line 147: | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
<xs:element name=" | <xs:element name="raamatukogu"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:sequence> | <xs:sequence> | ||
<xs:element maxOccurs="unbounded" name=" | <xs:element maxOccurs="unbounded" name="raamatud"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:sequence> | <xs:sequence> | ||
<xs:element name=" | <xs:element maxOccurs="unbounded" name="raamat"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:sequence> | <xs:sequence> | ||
<xs:element name="pealkiri" type="xs:string" /> | <xs:element name="raamatinf"> | ||
<xs:complexType> | |||
<xs:element name=" | <xs:sequence> | ||
<xs:element name="pealkiri" type="xs:string" /> | |||
<xs:element name="lkarv" type="xs:int" /> | |||
<xs:element minOccurs="0" name="osakond"> | |||
<xs:complexType> | |||
<xs:attribute name="name" type="xs:string" use="required" /> | |||
<xs:attribute name="korrus" type="xs:int" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="keel" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element minOccurs="0" name="osakond"> | |||
<xs:complexType> | |||
<xs:attribute name="name" type="xs:string" use="required" /> | |||
<xs:attribute name="korrus" type="xs:int" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="autorID" type="xs:int" use="required" /> | |||
<xs:attribute name="raamatID" type="xs:int" use="required" /> | |||
<xs:attribute name="kategooria" type="xs:string" use="required" /> | |||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
<xs:element name=" | </xs:sequence> | ||
<xs:attribute name="saadavus" type="xs:boolean" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element maxOccurs="unbounded" name="autorid"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="autor"> | |||
<xs:complexType> | <xs:complexType> | ||
<xs:sequence> | <xs:sequence> | ||
<xs:element name=" | <xs:element name="andmed"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs: | <xs:sequence> | ||
<xs: | <xs:element name="eesnimi" type="xs:string" /> | ||
<xs:element name="perenimi" type="xs:string" /> | |||
<xs:element name="synd" type="xs:int" /> | |||
< | </xs:sequence> | ||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="teoseid"> | |||
<xs:complexType> | |||
<xs:attribute name="arv" type="xs:int" use="required" /> | |||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="autorID" type="xs:int" use="required" /> | |||
<xs:attribute name="keel" type="xs:string" use="required" /> | |||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name=" | <xs:attribute name="paritolu" type="xs:string" use="required" /> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Line 118: | Line 219: | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
</xs:schema> | </xs:schema> | ||
</pre> | |||
=== XSLT === | |||
<pre> | |||
<?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> | |||
<body text="black"> | |||
<h2>Raamatud raamatukogu nimekirjas:</h2> | |||
<table border="1" cellpadding ="0" cellspacing="0" width="1024"> | |||
<xsl:for-each select="raamatukogu/raamatud/raamat"> | |||
<tr> | |||
<td>Raamat:</td> | |||
<td> | |||
<xsl:value-of select="raamatinf/pealkiri"/> | |||
</td> | |||
<td>Autor id:</td> | |||
<td> | |||
<xsl:value-of select="@autorID" /> | |||
</td> | |||
<td>Kategooria:</td> | |||
<td> | |||
<xsl:value-of select="@kategooria"/> | |||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
</table> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</pre> | </pre> | ||
=== XSLT === | |||
=== XSLT - teine === | |||
<pre> | |||
<?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> | |||
<body text="black"> | |||
<h2>Eesti autorid raamatukogu nimekirjas:</h2> | |||
<table border="1" cellpadding ="0" cellspacing="0" width="1024"> | |||
<xsl:for-each select="raamatukogu/autorid"> | |||
<xsl:if test="@paritolu = 'eesti'"> | |||
<xsl:for-each select="autor"> | |||
<tr> | |||
<td>Eesnimi:</td> | |||
<td> | |||
<xsl:value-of select="andmed/eesnimi"/> | |||
</td> | |||
<td>perenimi:</td> | |||
<td> | |||
<xsl:value-of select="andmed/perenimi"/> | |||
</td> | |||
<td>Teoseid:</td> | |||
<td> | |||
<xsl:value-of select="teoseid/@arv"/> | |||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</table> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</pre> | |||
=== XSLT - kolmas === | |||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
Line 128: | Line 306: | ||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | ||
<xsl:template match="/"> | <xsl:template match="/"> | ||
<html> | |||
<body text="black"> | |||
<h2>Laenutatud raamatud:</h2> | |||
<table border="1" cellpadding ="0" cellspacing="0" width="1024"> | |||
<xsl:for-each select="raamatukogu/raamatud"> | |||
<xsl:if test="@saadavus = 0"> | |||
<xsl:for-each select="raamat"> | |||
<tr> | |||
<td>Pealkiri:</td> | |||
<td> | |||
<xsl:value-of select="raamatinf/pealkiri"/> | |||
</td> | |||
<td>Lehekülgede arv:</td> | |||
<td> | |||
<xsl:value-of select="raamatinf/lkarv"/> | |||
</td> | |||
<td>Osakond:</td> | |||
<td> | |||
</xsl:template> | <xsl:value-of select="osakond/@name"/> | ||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</table> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</pre> | </pre> |
Latest revision as of 23:44, 3 March 2012
Meeskond "Peeter VR2" | |
Aine: | Category:Võrgurakendused II: hajussüsteemide ehitamine |
Juhend: | Juhend |
Tüüp: | Projekt |
Liikmed: | Lennart Lüsi Kairo Koik Marek Kikas Kaivar Kull |
Juhendajad: | Mait Poska Kaarel Raspel |
Semester: | 2011/2012 kevad |
XML fail
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. XML-il peab olema vähemalt 4 loogilist dimensiooni.
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.
XML
<?xml version="1.0" encoding="utf-8"?> <raamatukogu> <raamatud saadavus="1"> <raamat autorID="3" raamatID="2" kategooria="Romaan"> <raamatinf keel="eesti"> <pealkiri>Tuultest viidud</pealkiri> <lkarv>9001</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> <raamat autorID="1" raamatID="4" kategooria="Ilukirjandus" > <raamatinf keel="eesti"> <pealkiri>Tõde ja õigus II</pealkiri> <lkarv>338</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> <raamat autorID="1" raamatID="5" kategooria="Ilukirjandus" > <raamatinf keel="eesti"> <pealkiri>Tõde ja õigus III</pealkiri> <lkarv>358</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> <raamat autorID="1" raamatID="6" kategooria="Ilukirjandus" > <raamatinf keel="eesti"> <pealkiri>Tõde ja õigus IV</pealkiri> <lkarv>371</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> <raamat autorID="4" raamatID="8" kategooria="Kriminaalromaan" > <raamatinf keel="eesti"> <pealkiri>Kadunud viiuldaja</pealkiri> <lkarv>441</lkarv> <osakond name="Krimi" korrus="4" /> </raamatinf> </raamat> </raamatud> <raamatud saadavus="0"> <raamat autorID="2" raamatID="1" kategooria="Loriluule"> <raamatinf keel="eesti"> <pealkiri>Luule Lori loriluulekogum 3</pealkiri> <lkarv>300</lkarv> </raamatinf> <osakond name="Luule" korrus="2" /> </raamat> <raamat autorID="1" raamatID="3" kategooria="Ilukirjandus"> <raamatinf keel="eesti"> <pealkiri>Tõde ja õigus I</pealkiri> <lkarv>300</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> <raamat autorID="1" raamatID="7" kategooria="Ilukirjandus"> <raamatinf keel="eesti"> <pealkiri>Tõde ja õigus V</pealkiri> <lkarv>355</lkarv> </raamatinf> <osakond name="Ilukirjandus" korrus="3" /> </raamat> </raamatud> <autorid paritolu="eesti"> <autor autorID="1" keel="eesti"> <andmed> <eesnimi>Anton Hansen</eesnimi> <perenimi>Tammsaare</perenimi> <synd>1878</synd> </andmed> <teoseid arv="5"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> </autor> <autor autorID="2" keel="eesti"> <andmed> <eesnimi>Luule</eesnimi> <perenimi>Lori</perenimi> <synd>1889</synd> </andmed> <teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> </autor> <autor autorID="4" keel="eesti"> <andmed> <eesnimi>Juhan</eesnimi> <perenimi>Paju</perenimi> <synd>1939</synd> </andmed> <teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> </autor> </autorid> <autorid paritolu="valismaa"> <autor autorID="3" keel="eesti"> <andmed> <eesnimi>Tuule</eesnimi> <perenimi>Veski</perenimi> <synd>1960</synd> </andmed> <teoseid arv="1"/> <!-- Kui mitu raamatut antud autori poolt meie baasis on --> </autor> </autorid> </raamatukogu>
XML schema (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="raamatud"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="raamat"> <xs:complexType> <xs:sequence> <xs:element name="raamatinf"> <xs:complexType> <xs:sequence> <xs:element name="pealkiri" type="xs:string" /> <xs:element name="lkarv" type="xs:int" /> <xs:element minOccurs="0" name="osakond"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="korrus" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="keel" type="xs:string" use="required" /> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="osakond"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required" /> <xs:attribute name="korrus" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="autorID" type="xs:int" use="required" /> <xs:attribute name="raamatID" type="xs:int" use="required" /> <xs:attribute name="kategooria" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="saadavus" type="xs:boolean" use="required" /> </xs:complexType> </xs:element> <xs:element maxOccurs="unbounded" name="autorid"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="autor"> <xs:complexType> <xs:sequence> <xs:element name="andmed"> <xs:complexType> <xs:sequence> <xs:element name="eesnimi" type="xs:string" /> <xs:element name="perenimi" type="xs:string" /> <xs:element name="synd" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="teoseid"> <xs:complexType> <xs:attribute name="arv" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="autorID" type="xs:int" use="required" /> <xs:attribute name="keel" type="xs:string" use="required" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="paritolu" 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> <body text="black"> <h2>Raamatud raamatukogu nimekirjas:</h2> <table border="1" cellpadding ="0" cellspacing="0" width="1024"> <xsl:for-each select="raamatukogu/raamatud/raamat"> <tr> <td>Raamat:</td> <td> <xsl:value-of select="raamatinf/pealkiri"/> </td> <td>Autor id:</td> <td> <xsl:value-of select="@autorID" /> </td> <td>Kategooria:</td> <td> <xsl:value-of select="@kategooria"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
XSLT - teine
<?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> <body text="black"> <h2>Eesti autorid raamatukogu nimekirjas:</h2> <table border="1" cellpadding ="0" cellspacing="0" width="1024"> <xsl:for-each select="raamatukogu/autorid"> <xsl:if test="@paritolu = 'eesti'"> <xsl:for-each select="autor"> <tr> <td>Eesnimi:</td> <td> <xsl:value-of select="andmed/eesnimi"/> </td> <td>perenimi:</td> <td> <xsl:value-of select="andmed/perenimi"/> </td> <td>Teoseid:</td> <td> <xsl:value-of select="teoseid/@arv"/> </td> </tr> </xsl:for-each> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
XSLT - kolmas
<?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> <body text="black"> <h2>Laenutatud raamatud:</h2> <table border="1" cellpadding ="0" cellspacing="0" width="1024"> <xsl:for-each select="raamatukogu/raamatud"> <xsl:if test="@saadavus = 0"> <xsl:for-each select="raamat"> <tr> <td>Pealkiri:</td> <td> <xsl:value-of select="raamatinf/pealkiri"/> </td> <td>Lehekülgede arv:</td> <td> <xsl:value-of select="raamatinf/lkarv"/> </td> <td>Osakond:</td> <td> <xsl:value-of select="osakond/@name"/> </td> </tr> </xsl:for-each> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>