Dot muzei

From ICO wiki
Jump to navigationJump to search

Raggakana

Liikmed

  1. Aap Kaur Suvi
  2. Indrek Jõgi
  3. Kristjan Veskimäe
  4. Sandra Niinepuu - projektijuht


XML andmefail

XML fail on Eksponaadid.xml, skeemifail on Eksponaadid.xsd ja transformatsioonifail on Eksponaadid.xslt

XML fail

<?xml version="1.0" encoding="utf-8" ?>
<muuseumid xmlns="http://example.com/schemas/muuseumid/v1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://example.com/schemas/muuseumid/v1 
           Eksponaadid.xsd">
 
  <!-- Andmed pärinevad http://muis.ee/catalogue -->
  <muuseum nimi="Eesti Sõjamuuseum" id="1">
    <muuseumikogu tyyp="Esemekogu">
      <eksponaat originaal="true" id="1">
        <nimetus olemus="kinnas"><![CDATA["Labakinnas. M. Laidoneri (ema) kootud"]]></nimetus>
        <number><![CDATA["KLM ET 22 A 22"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
      <eksponaat originaal="true" id="2">
        <nimetus olemus="tääk"><![CDATA["Mälestusese, miniatuurne tääk, USA Air Cavalry Divisioni sümboolikaga."]]></nimetus>
        <number><![CDATA["KLM ET 365 A"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
    </muuseumikogu>
    <muuseumikogu tyyp="Tulirelvad">
      <eksponaat originaal="false" id="1">
        <nimetus olemus="tulirelv"><![CDATA["Otepää püss, koopia"]]></nimetus>
        <number><![CDATA["KLM ET 1421 R1 457"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
      <eksponaat originaal="true" id="2">
        <nimetus olemus="tulirelv"><![CDATA["Tank 34-85"]]></nimetus>
        <number><![CDATA["KLM ET 1603 R1 553"]]></number>
        <seisund>Rahuldav</seisund>
      </eksponaat>
    </muuseumikogu> 
  </muuseum>
  
  <muuseum nimi="Eesti Ajaloomuuseum" id="2">
    <muuseumikogu tyyp="Fotod">
      <eksponaat originaal="true" id="1">
        <nimetus olemus="album"><![CDATA["Fotoalbum: Vene tsaariarmee - 141. Možaiski polk, polkovnik Aganjev, grupipildid, portreed, olustik, kohavaated, ettevalmistused lahinguteks, arstiabi, matused."]]></nimetus>
        <number><![CDATA["AM _ 59 F 5501/1-305"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
      <eksponaat originaal="true" id="2">
        <nimetus olemus="album"><![CDATA["Fotoalbum: "Kaks aastat Punaarmee Eesti korpust 1942-1944." Illustreeritud, venekeelsed pildiallkirjad."]]></nimetus>
        <number><![CDATA["AM _ 42 F 4100/1-270"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
    </muuseumikogu>
    <muuseumikogu tyyp="Mööblikollektsioon">
      <eksponaat originaal="true" id="1">
        <nimetus olemus="mööbel"><![CDATA["Laste söögitool, XIX saj. lõpp"]]></nimetus>
        <number><![CDATA["AM _ 35566:1 Mb 1"]]></number>
        <seisund>Hea</seisund>
      </eksponaat>
    </muuseumikogu>    
  </muuseum>

</muuseumid>

XML skeemifail

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           targetNamespace="http://example.com/schemas/muuseumid/v1" 
           xmlns="http://example.com/schemas/muuseumid/v1" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           attributeFormDefault="unqualified" 
           elementFormDefault="qualified">
  <xs:element name="muuseumid">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="muuseum">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="muuseumikogu">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="eksponaat">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute name="olemus" type="xs:string" use="required" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="number" type="xs:string" />
                          <xs:element name="seisund">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:enumeration value="Hea"></xs:enumeration>
                                <xs:enumeration value="Rahuldav"></xs:enumeration>
                                <xs:enumeration value="Halb"></xs:enumeration>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="originaal" type="xs:boolean" use="required" />
                        <xs:attribute name="id" type="xs:integer" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="tyyp" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="nimi" type="xs:string" use="required" />
            <xs:attribute name="id" type="xs:integer" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT failid

<?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>
        <body>
          <xsl:for-each select="muuseumid/muuseum">
            <h1>
              <xsl:variable name="nimi" select="@nimi"></xsl:variable>
              <xsl:value-of select="@nimi"/>
            </h1>
            <xsl:for-each select="muuseumikogu">
              <xsl:variable name="originaal" select="@originaal"></xsl:variable>
              <xsl:variable name="tyyp" select="@tyyp"></xsl:variable>
              <h2>
                <xsl:value-of select="@tyyp"/>
              </h2>
              <xsl:for-each select="eksponaat">
                <p>Nimetus: 
                  <xsl:value-of select="nimetus"/>
                </p>
                <p>
                  Number:
                  <xsl:value-of select="number"/>
                </p>
                <p>
                  Seisukord: 
                  <xsl:value-of select="seisund"/>
                </p>
                <p>------------</p>
              </xsl:for-each>

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

Veebiteenuse analüüs

Veebiteenus

Klientrakendus