Kirves

From ICO wiki
Revision as of 15:05, 12 March 2014 by Tmetsoja (talk | contribs)
Jump to navigationJump to search

Projekti kirjeldus

Kodutöö XML

XML fail andmetega

<?xml version="1.0" encoding="utf-8" ?> <raamatukogu>

 <kategooriad>
   <kategooria>Raamat</kategooria>
   <kategooria>Film</kategooria>
   <kategooria>Videomäng</kategooria>
   <kategooria>Muusika</kategooria>
   <kategooria>Lauamäng</kategooria>
   <kategooria>Ajakiri</kategooria>
 </kategooriad>
 <teavikud keel="eesti">
   <teavik id="1" saadavus="true" autor="Eno Raud" pealkiri="Lugu lendavate taldrikutega" aasta="1978">
     <kategooria>Raamat</kategooria>
     <zanrid>
       <zanr><![CDATA[Jahipidamine]]></zanr>
       <zanr><![CDATA[Kokandus]]></zanr>
     </zanrid>
     <asukoht kood="CAS65">3. korrus</asukoht>
   </teavik>
   <teavik id="4" saadavus="false" autor="Leeter Porents" pealkiri="Leeter Porents: The Untold Story" aasta="2013">
     <kategooria>Film</kategooria>
     <zanrid>
       <zanr><![CDATA[Jahipidamine]]></zanr>
       <zanr><![CDATA[Ulme]]></zanr>
       <zanr><![CDATA[Fantaasia]]></zanr>
       <zanr><![CDATA[Autobiograafia]]></zanr>
     </zanrid>
     <asukoht kood="RT72">2. korrus</asukoht>
   </teavik>
 </teavikud>
 <teavikud keel="inglise">
   <teavik id="27" saadavus="true" autor="Rockstar Games" pealkiri="GTA5" aasta="2013">
     <kategooria>Videomäng</kategooria>
     <zanrid>
       <zanr><![CDATA[Seiklus]]></zanr>
       <zanr><![CDATA[Märul]]></zanr>
       <zanr><![CDATA[Auto]]></zanr>
     </zanrid>
     <asukoht kood="3CPO">1. korrus</asukoht>
   </teavik>
   <teavik id="723" saadavus="true" autor="Warner Bros studios" pealkiri="Shutter Island" aasta="2012">
     <kategooria>Film</kategooria>
     <zanrid>
       <zanr><![CDATA[Draama]]></zanr>
       <zanr><![CDATA[Thriller]]></zanr>
     </zanrid>
     <asukoht kood="FT12">1. korrus</asukoht>
   </teavik>
 </teavikud>
 <teavikud keel="vene">
   <teavik id="1423" saadavus="true" autor="Fjodor Dostojevski" pealkiri="Kuritöö ja karistus" aasta="1867">
     <kategooria>Raamat</kategooria>
     <zanrid>
       <zanr><![CDATA[Draama]]></zanr>
       <zanr><![CDATA[Romaan]]></zanr>
     </zanrid>
     <asukoht kood="GR23">1. korrus</asukoht>
   </teavik>
 </teavikud>


</raamatukogu>

XML Schema

<?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 name="kategooriad">
         <xs:complexType>
           <xs:sequence>
             <xs:element maxOccurs="unbounded" name="kategooria" type="xs:string" />
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element maxOccurs="unbounded" name="teavikud">
         <xs:complexType>
           <xs:sequence>
             <xs:element maxOccurs="unbounded" name="teavik">
               <xs:complexType>
                 <xs:sequence>
                   <xs:element name="kategooria" type="xs:string" />
                   <xs:element name="zanrid">
                     <xs:complexType>
                       <xs:sequence>
                         <xs:element maxOccurs="unbounded" name="zanr" type="xs:string" />
                       </xs:sequence>
                     </xs:complexType>
                   </xs:element>
                   <xs:element name="asukoht">
                     <xs:complexType>
                       <xs:simpleContent>
                         <xs:extension base="xs:string">
                           <xs:attribute name="kood" type="xs:string" use="required" />
                         </xs:extension>
                       </xs:simpleContent>
                     </xs:complexType>
                   </xs:element>
                 </xs:sequence>
                 <xs:attribute name="id" type="xs:unsignedInt" use="required" />
                 <xs:attribute name="saadavus" type="xs:boolean" use="required" />
                 <xs:attribute name="autor" type="xs:string" use="required" />
                 <xs:attribute name="pealkiri" type="xs:string" use="required" />
                 <xs:attribute name="aasta" type="xs:gYear" use="required" />
               </xs:complexType>
             </xs:element>
           </xs:sequence>
           <xs:attribute name="keel" type="xs:string" use="required" />
         </xs:complexType>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
 </xs:element>

</xs:schema>


XSLT 1.

<?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>
       <head>
         <title>Teavikud kategooria järgi</title>
       </head>
       <body>

Teavikud kategooriate järgi:

    <xsl:for-each select="/raamatukogu/kategooriad/kategooria"> <xsl:variable name="Kategooria" select="."></xsl:variable>
  • <xsl:value-of select="$Kategooria"/>

                   <xsl:for-each select="/raamatukogu/teavikud/teavik">
                     <xsl:variable name="Teavik" select="."></xsl:variable>
                     <xsl:if test="kategooria=$Kategooria">
    
    • <xsl:value-of select="$Teavik/@pealkiri"/>
                     </xsl:if>
                   </xsl:for-each>
    

  • </xsl:for-each>
       </body>
     </html> 
       
   </xsl:template>

</xsl:stylesheet>


XSLT 2.

<?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>
       <head>
         <title>Teavikud tähestiku järjekorras</title>
       </head>
       <body>

Teavikud tähestiku järjekorras:

    <xsl:for-each select="/raamatukogu/teavikud/teavik"> <xsl:sort select="@pealkiri"/> <xsl:variable name="Teavik" select="."></xsl:variable>
    • Pealkiri: <xsl:value-of select="$Teavik/@pealkiri"/>
      Kategooria: <xsl:value-of select="$Teavik/kategooria"/>
      Žanr:

        <xsl:for-each select="$Teavik/zanrid/zanr"> <xsl:variable name="Zanrid" select="."></xsl:variable>
      • <xsl:value-of select="."/>
      • </xsl:for-each>
                         Autor: <xsl:value-of select="$Teavik/@autor"/> 
      Aasta: <xsl:value-of select="$Teavik/@aasta"/>
      Saadavus: <xsl:value-of select="$Teavik/@saadavus"/>

               </xsl:for-each>
               
       </body>
     </html>
   </xsl:template>

</xsl:stylesheet>


Analüüs

Millega on tegemist?

KIRVES
Ülikool: Eesti Infotehnoloogia Kolledž
Tüüp: Võrgurakendused II
Meeskond "Kirves": Tauri Metsoja
Raul Prosso (Projektijuht)
Ahto Luuri
Juhendaja: Mait Poska