Proovitud abielu

From ICO wiki
Jump to navigationJump to search

Meeskond "Proovitud abielu"

  • Berit Põldoja
  • Elina Kuldkepp


XML/XSD/XSLT

XML

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

   <Bookstore id="1"  country="Spain">
            <Name>Señorita</Name>
            <Book category="Crime" quantity="50" language="english" pages="250">
                <Title><![CDATA[The Case of the Counterfeit Eye]]></Title>
                <Description><![CDATA[After wealthy businessman Hartley Bassetts apparent suicide, Perry Mason discovers too many suspects who may have wanted him dead to believe the obvious evidence of a suicide note and three guns near the body.]]></Description>
                <Author gender="Male">
                    <FirstName>Erle Stanley</FirstName>
                    <LastName>Gardner</LastName>
                    <BirthYear>1889</BirthYear>
                    <Country>USA</Country>
                </Author>
                <ReleaseDate>
                   <Day>20</Day>
                   <Month>March</Month>
                   <Year>1928</Year>
               </ReleaseDate>
               <Price>30.50</Price>
               <Location>Madrid</Location>   
            </Book>
            
            <Book category="Drama" quantity="20" language="english" pages="150">
                <Title><![CDATA[Beating hearts.]]></Title>
                <Description><![CDATA[Beating Hearts maintains that sentence or ability to have subjective experiences.]]></Description>
                <Author gender="Female">
                    <FirstName>Hannah</FirstName>
                    <LastName>Cole</LastName>
                    <BirthYear>1985</BirthYear>
                    <Country>USA</Country>
                </Author>
                <ReleaseDate>
                   <Day>14</Day>
                   <Month>May</Month>
                   <Year>2005</Year>
               </ReleaseDate>
               <Price>20</Price>
               <Location>Sevilla</Location>
                 
            </Book>
            
    </Bookstore>
    
    <Bookstore id="2"  country="France">
            <Name>Mademoiselle</Name>
            <Book category="Romance" quantity="43" language="english" pages="400">
                <Title><![CDATA[The Case of the Counterfeit Eye]]></Title>
                <Description><![CDATA[After wealthy businessman Hartley Bassetts apparent suicide, Perry Mason discovers too many suspects who may have wanted him dead to believe the obvious evidence of a suicide note and three guns near the body.]]></Description>
                <Author gender="Woman">
                    <FirstName>Charlotte</FirstName>
                    <LastName> Brontë</LastName>
                    <BirthYear>1816</BirthYear>
                    <Country>England</Country>
                </Author>
                <ReleaseDate>
                   <Day>16</Day>
                   <Month>October</Month>
                   <Year>1847</Year>
               </ReleaseDate>
               <Price>20.99</Price>
               <Location>Paris</Location>
            </Book>
            
            <Book category="Crime" quantity="50" language="english" pages="250">
                <Title><![CDATA[The Case of the Counterfeit Eye]]></Title>
                <Description><![CDATA[When a murdered man is found in the home of shady insurance adjustor Walter Prescott, a simple divorce case turns into a courtroom puzzler, as Perry Mason follows the clues to catch a killer. Reissue.]]></Description>
                <Author gender="Male">
                    <FirstName>Erle Stanley</FirstName>
                    <LastName>Gardner</LastName>
                    <BirthYear>1889</BirthYear>
                     <Country>USA</Country>
                </Author>
                <ReleaseDate>
                   <Day>21</Day>
                   <Month>September</Month>
                   <Year>1920</Year>
               </ReleaseDate>
               <Price>25</Price>
               <Location>Paris</Location> 
            </Book>
            
            <Book category="Sci-fi" quantity="50" language="france" pages="450">
                <Title><![CDATA[Something suspicious]]></Title>
                <Description><![CDATA[Something happened]]></Description>
                <Author gender="Male">
                    <FirstName>Erle Stanley</FirstName>
                    <LastName>Gardner</LastName>
                    <BirthYear>1889</BirthYear>
                    <Country>USA</Country>
                </Author>
                <ReleaseDate>
                   <Day>12</Day>
                   <Month>August</Month>
                   <Year>1905</Year>
               </ReleaseDate>
               <Price>27.99</Price>
               <Location>Nice</Location>
            </Book>
            
    </Bookstore>
       
    <Bookstore id="3" country="Great Britain">
         <Name>Fraŭlino</Name>
         <Book category="Comedy" quantity="25" language="english" pages="150">
                <Title><![CDATA[This was fun.]]></Title>
                <Description><![CDATA[So much fun stuff happens. Must read.]]></Description>
                <Author gender="Woman">
                    <FirstName>Berit</FirstName>
                    <LastName>Põldoja</LastName>
                    <BirthYear>1996</BirthYear>
                    <Country>Estonia</Country>
                </Author>
                <ReleaseDate>
                   <Day>17</Day>
                   <Month>May</Month>
                   <Year>2019</Year>
               </ReleaseDate>
               <Price>35.99</Price>
               <Location>London</Location>     
            </Book>
            
            <Book category="Drama" quantity="15" language="english" pages="450">
                <Title><![CDATA[Sad Woman.]]></Title>
                <Description><![CDATA[Woman is very sad.]]></Description>
                <Author gender="Woman">
                    <FirstName>Elina</FirstName>
                    <LastName>Kuldkepp</LastName>
                    <BirthYear>1994</BirthYear>
                    <Country>Estonia</Country>
                </Author>
                <ReleaseDate>
                   <Day>30</Day>
                   <Month>October</Month>
                   <Year>2020</Year>
               </ReleaseDate>
               <Price>20</Price>
               <Location>Oxford</Location>     
            </Book>
            
    </Bookstore>
    
</Bookstores>

XSD

  <?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchema1"
    targetNamespace="http://tempuri.org/XMLSchema1.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema1.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema1.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="Bookstores">
    <xs:complexType>
      <xs:element name="Bookstore" type="xs:string">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="Name" type="xs:string"/>
          <xs:element name="Book">

            <xs:complexType>
              <xs:sequence>
                <xs:element name="Title" type="xs:string"/>
                <xs:element name="Description" type="xs:string"/>
                <xs:element name="Author" type="xs:string">

                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="FirstName" type="xs:string"/>
                    <xs:element name="LastName" type="xs:string"/>
                    <xs:element name="BirthYear" type="xs:string"/>
                    <xs:element name="Country" type="xs:string"/>
                  </xs:sequence>
                  <xs:attribute name="gender" type="xs:string" use="required"/>
                </xs:complexType>
                </xs:element>
                  <xs:element name="ReleaseDate" type="xs:string">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="Day" type="xs:datetime"/>
                      <xs:element name="Month" type="xs:datetime"/>
                      <xs:element name="Year" type="xs:datetime"/>
                    </xs:sequence>

                  </xs:complexType>
                </xs:element>
                <xs:element name="Price" type="xs:decimal"/>
                <xs:element name="Location" type="xs:string"/>
              </xs:sequence>
              <xs:attribute name="category" type="xs:string" use="required"/>
              <xs:attribute name="quantity" type="xs:string" use="required"/>
              <xs:attribute name="language" type="xs:string" use="required"/>
              <xs:attribute name="pages" type="xs:int" use="required"/>

            </xs:complexType>

          </xs:element>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="country" type="xs:string" use="required"/>
      </xs:complexType>
    </xs:element>
  </xs:complexType>
  </xs:element>
</xs:schema>

XSLT XML

<?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>Raamatupoed</title>
      </head>
      <body>
        <h1>Raamatupoed</h1>
      </body>
      <table border="1">
        <tr bgcolor="#9acd32">
          <th>Raamatupood ja raamatud</th>
          <th>Kirjeldus</th>
          <th>Info</th>
        </tr>
        <xsl:for-each select="Bookstores/Bookstore">
          <tr>
            <td bgcolor="#9acd32">
              <xsl:value-of select="Name"/>
            </td>
            <xsl:for-each select="Book">
              <tr>
                <td>
                  <xsl:value-of select="Title"/>
                </td>
                <td>
                  <xsl:value-of select="Description"/>
                </td>
                <td>
                  <xsl:value-of select="Author"/>
                </td>
              </tr>
            </xsl:for-each>
          </tr>
        </xsl:for-each>
      </table>
      
      <table border="1">
        <tr bgcolor="#9acd32">
          <th>Sugu</th>
          <th>Eesnimi</th>
          <th>Perekonnanimi</th>
          <th>Riik</th>
          <th>Sünniaasta</th>
        </tr>
        <xsl:for-each select="Bookstores/Bookstore/Book/Author">
             
          <tr>
            <xsl:if test="@gender='Woman'">
              <xsl:if test="Country='Estonia'">

            <td>
              
                <xsl:value-of select="@gender" />
              
            </td>
              <td>

                <xsl:value-of select="FirstName" />

              </td>
              <td>

                <xsl:value-of select="LastName" />
              </td>
                <td>

                  <xsl:value-of select="Country" />

                </td>

              <td>

                <xsl:value-of select="BirthYear" />

              </td>
              
            </xsl:if>
            </xsl:if>

          </tr>
        </xsl:for-each>
      </table>
    </html>
  </xsl:template>
</xsl:stylesheet>

Output

XML output of given XSLT XML
XSLT XML output

Veebiteenus

Analüüs

Teenus

Klientrakendused