Peeter VR2: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 54: Line 54:
       <osakond name="Ilukirjandus" korrus="3" />
       <osakond name="Ilukirjandus" korrus="3" />
     </raamat>
     </raamat>
     <raamat autorID="1" raamatuID="5" kategooria="Ilukirjandus" >
     <raamat autorID="1" raamatID="5" kategooria="Ilukirjandus" >
       <raamatinf keel="eesti">
       <raamatinf keel="eesti">
         <pealkiri>Tõde ja õigus III</pealkiri>
         <pealkiri>Tõde ja õigus III</pealkiri>
Line 113: Line 113:
       <andmed tyyp="isiku">
       <andmed tyyp="isiku">
         <eesnimi>Luule</eesnimi>
         <eesnimi>Luule</eesnimi>
         <taganimi>Lori</taganimi>
         <perenimi>Lori</perenimi>
         <synd>1889</synd>
         <synd>1889</synd>
       </andmed>
       </andmed>
Line 139: Line 139:
   </autorid>
   </autorid>
</raamatukogu>
</raamatukogu>
 


</pre>
</pre>

Revision as of 23:25, 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 tyyp="isiku">
        <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 tyyp="isiku">
        <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 tyyp="isiku">
        <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="raamatud">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="raamat">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="raamatuinfo">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="pealkiri" type="xs:string" />
                    <xs:element minOccurs="0" name="lehekülgi" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="lehekülgedearv" type="xs:unsignedShort" />
                    <xs:element name="saadaval" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="autorID" type="xs:unsignedByte" use="required" />
            <xs:attribute name="raamatuID" type="xs:unsignedByte" use="required" />
            <xs:attribute name="kategooria" type="xs:string" use="required" />
            <xs:attribute name="keel" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="autorid">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="autor">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="autoriinfo">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="eesnimi" type="xs:string" />
                          <xs:element minOccurs="0" name="taganimi" type="xs:string" />
                          <xs:element minOccurs="0" name="perenimi" type="xs:string" />
                          <xs:element name="sünniaasta" type="xs:unsignedShort" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="autorID" type="xs:unsignedByte" use="required" />
                  <xs:attribute name="kategooria" type="xs:string" use="required" />
                  <xs:attribute name="keel" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </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 raamtukogus:</h2>
  <table border="1" cellpadding ="0" cellspacing="0" width="1024">
    <xsl:for-each select="raamatud/raamat">
    <tr>
      <td>Raamat:</td>
      <td><xsl:value-of select="raamatuinfo/pealkiri"/></td>
      <td>Autor:</td>
      <td><xsl:value-of select="autoriinfo/eesnimi"/></td>
      <td><xsl:value-of select="autoriinfo/perenimi"/></td>
      <td>Saadaval:</td>
      <td><xsl:value-of select="raamatuinfo/saadaval"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>