Peeter VR2

From ICO wiki
Revision as of 15:05, 3 March 2012 by Kkull (talk | contribs) (→‎XSLT)
Jump to navigationJump to search


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"?>
<raamatud>
  <raamat autorID="2" raamatuID="11" kategooria="Loriluule" keel="eesti">
    <raamatuinfo>
      <pealkiri>Luule Lori loriluulekogum 3.</pealkiri>
      <lehekülgedearv>300</lehekülgedearv>
      <saadaval>ei</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="3" raamatuID="2" kategooria="Kirjanduslik seep" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tuultest viidud</pealkiri>
      <lehekülgedearv>9001</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="1" raamatuID="21" kategooria="Ilukirjandus" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tõde ja õigus I</pealkiri>
      <lehekülgi>300</lehekülgi>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="1" raamatuID="22" kategooria="Ilukirjandus" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tõde ja õigus II</pealkiri>
      <lehekülgedearv>338</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="1" raamatuID="23" kategooria="Ilukirjandus" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tõde ja õigus III</pealkiri>
      <lehekülgedearv>358</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="1" raamatuID="24" kategooria="Ilukirjandus" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tõde ja õigus IV</pealkiri>
      <lehekülgedearv>371</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="1" raamatuID="25" kategooria="Ilukirjandus" keel="eesti">
    <raamatuinfo>
      <pealkiri>Tõde ja õigus V</pealkiri>
      <lehekülgedearv>355</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <raamat autorID="4" raamatuID="8" kategooria="Kriminaalromaan" keel="eesti">
    <raamatuinfo>
      <pealkiri>Kadunud viiuldaja</pealkiri>
      <lehekülgedearv>441</lehekülgedearv>
      <saadaval>jah</saadaval>
    </raamatuinfo>
  </raamat>
  <autorid>
    <autor autorID="1" kategooria="Ilukirjandus" keel="eesti">
      <autoriinfo>
        <eesnimi>Anton Hansen</eesnimi>
        <perenimi>Tammsaare</perenimi>
        <sünniaasta>1878</sünniaasta>
      </autoriinfo>
    </autor>
    <autor autorID="2" kategooria="Loriluule" keel="eesti">
      <autoriinfo>
        <eesnimi>Luule</eesnimi>
        <taganimi>Lori</taganimi>
        <sünniaasta>1889</sünniaasta>
      </autoriinfo>
    </autor>
    <autor autorID="3" kategooria="Kirjanduslik seep" keel="eesti">
      <autoriinfo>
        <eesnimi>Tuule</eesnimi>
        <perenimi>Veski</perenimi>
        <sünniaasta>1960</sünniaasta>
      </autoriinfo>
    </autor>
    <autor autorID="4" kategooria="Kriminaalromaan" keel="eesti">
      <autoriinfo>
        <eesnimi>Juhan</eesnimi>
        <perenimi>Paju</perenimi>
        <sünniaasta>1939</sünniaasta>
      </autoriinfo>
    </autor>
  </autorid>
</raamatud>
  

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>