Peeter VR2: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 208: Line 208:
       <td>Autor:</td>
       <td>Autor:</td>
       <td><xsl:value-of select="autoriinfo/eesnimi"/></td>
       <td><xsl:value-of select="autoriinfo/eesnimi"/></td>
       <td><xsl:value-of select="autoriinfo/taganimi"/></td>
       <td><xsl:value-of select="autoriinfo/perenimi"/></td>
       <td>Saadaval:</td>
       <td>Saadaval:</td>
       <td><xsl:value-of select="raamatuinfo/saadaval"/></td>
       <td><xsl:value-of select="raamatuinfo/saadaval"/></td>

Revision as of 15:05, 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"?>
<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>