Purgis: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 13: Line 13:
<restoranid>
<restoranid>
   <restoran id="1">
   <restoran id="1">
        <menyy>
    <menyy>
        <toidud>
      <toidud>
        <toit>![CDATA[Kanapraad]]</toit>
        <toit>![CDATA[Kanapraad]]</toit>
        <toit>![CDATA[Seapraad]]</toit>
        <toit>![CDATA[Seapraad]]</toit>
        <toit>![CDATA[Fetasalat]]</toit>
        <toit>![CDATA[Fetasalat]]</toit>
        <toit>![CDATA[Oasalat]]</toit>
        <toit>![CDATA[Oasalat]]</toit>
        </toidud>
      </toidud>
        <joogid>
      <joogid>
        <jook>![CDATA[Apelsinimahl]]</jook>
        <jook>![CDATA[Apelsinimahl]]</jook>
        <jook>![CDATA[Segumahl]]</jook>
        <jook>![CDATA[Segumahl]]</jook>
        <jook>![CDATA[Coca-cola]]</jook>
        <jook>![CDATA[Coca-cola]]</jook>
        <jook>![CDATA[Fanta]]</jook>
        <jook>![CDATA[Fanta]]</jook>
        </joogid>
        <jook>![CDATA[Sprite]]</jook>
        </menyy>
      </joogid>
<teenindajad>
    </menyy>
<teenindaja>![CDATA[Maali]]</teenindaja>
    <teenindajad>
<teenindaja>![CDATA[Juhan]]</teenindaja>
      <teenindaja>![CDATA[Maali]]</teenindaja>
<teenindaja>![CDATA[Juta]]</teenindaja>
      <teenindaja>![CDATA[Juhan]]</teenindaja>
</teenindajad>
      <teenindaja>![CDATA[Juta]]</teenindaja>
    </teenindajad>
     <nimi>![CDATA[NOA restoran]]</nimi>
     <nimi>![CDATA[NOA restoran]]</nimi>
     <lauad>
     <lauad>
       <laud id="1" >
       <laud id="1" >
         <tellimused>
         <tellimused>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301843" taimneVersioon="true">
<jook>![CDATA[Apelsinimahl]]</jook>
    <jook>![CDATA[Apelsinimahl]]</jook>
<toit>![CDATA[Oasalat]]</toit>
    <toit>![CDATA[Oasalat]]</toit>
  </tellimus>
  </tellimus>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301844">
<jook>![CDATA[Segumahl]]</jook>
    <jook>![CDATA[Segumahl]]</jook>
<toit>![CDATA[Seapraad]]</toit>
    <toit>![CDATA[Seapraad]]</toit>
  </tellimus>
  </tellimus>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301846" taimneVersioon="true">
<jook>![CDATA[Segumahl]]</jook>
    <jook>![CDATA[Sprite]]</jook>
<toit>![CDATA[Oasalat]]</toit>
    <toit>![CDATA[Oasalat]]</toit>
  </tellimus>
  </tellimus>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301847">
<jook>![CDATA[Fanta]]</jook>
    <jook>![CDATA[Fanta]]</jook>
<toit>![CDATA[Fetasalat]]</toit>
    <toit>![CDATA[Fetasalat]]</toit>
  </tellimus>
  </tellimus>
         </tellimused>
         </tellimused>
         <teenindaja>![CDATA[Maali]]</teenindaja>
         <teenindaja>![CDATA[Maali]]</teenindaja>
Line 58: Line 59:
       <laud id="2" >
       <laud id="2" >
         <tellimused>
         <tellimused>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301852">
<jook>![CDATA[Fanta]]</jook>
    <jook>![CDATA[Fanta]]</jook>
<toit>![CDATA[Fetasalat]]</toit>
    <toit>![CDATA[Fetasalat]]</toit>
  </tellimus>
  </tellimus>
  <tellimus valmis="false">
  <tellimus valmis="false" tellimuseAeg="1702301853">
<jook>![CDATA[Coca-cola]]</jook>
    <jook>![CDATA[Coca-cola]]</jook>
<toit>![CDATA[Fetasalat]]</toit>
    <toit>![CDATA[Fetasalat]]</toit>
  </tellimus>
  </tellimus>
         </tellimused>
         </tellimused>
         <teenindaja>![CDATA[Juhan]]</teenindaja>
         <teenindaja>![CDATA[Juhan]]</teenindaja>
       </laud>
       </laud>
   
   
  <laud id="3" >
      <laud id="3" >
         <tellimused>
         <tellimused>
           <tellimus valmis="false">
           <tellimus valmis="false" tellimuseAeg="1702301903" taimneVersioon="true">
<jook>![CDATA[Fanta]]</jook>
    <jook>![CDATA[Fanta]]</jook>
<toit>![CDATA[Oasalat]]</toit>
    <toit>![CDATA[Oasalat]]</toit>
  </tellimus>
  </tellimus>
  <tellimus valmis="false">
  <tellimus valmis="false" tellimuseAeg="1702301905">
<jook>![CDATA[Apelsinimahl]]</jook>
    <jook>![CDATA[Apelsinimahl]]</jook>
<toit>![CDATA[Fetasalat]]</toit>
    <toit>![CDATA[Fetasalat]]</toit>
  </tellimus>
  </tellimus>
  <tellimus valmis="false">
  <tellimus valmis="false" tellimuseAeg="1702301906">
<jook>![CDATA[Coca-cola]]</jook>
    <jook>![CDATA[Coca-cola]]</jook>
<toit>![CDATA[Kanapraad]]</toit>
    <toit>![CDATA[Kanapraad]]</toit>
  </tellimus>
  </tellimus>
         </tellimused>
         </tellimused>
         <teenindaja>![CDATA[Juta]]</teenindaja>
         <teenindaja>![CDATA[Juta]]</teenindaja>
Line 93: Line 94:


=== XSD ===
=== XSD ===
 
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="restoranid" maxOccurs="1">
   <xs:element name="restoranid">
     <xs:complexType>
     <xs:complexType>
       <xs:sequence>
       <xs:sequence>
Line 101: Line 103:
           <xs:complexType>
           <xs:complexType>
             <xs:sequence>
             <xs:sequence>
              <xs:element name="toidud">
      <xs:element name="menyy">
                <xs:complexType>
<xs:complexType>
                  <xs:sequence>
  <xs:sequence>
                    <xs:element type="xs:string" name="toit" maxOccurs="unbounded" minOccurs="0"/>
    <xs:element name="toidud">
                  </xs:sequence>
      <xs:complexType>
                </xs:complexType>
<xs:sequence>
              </xs:element>
  <xs:element type="xs:string" name="toit" maxOccurs="unbounded" minOccurs="0"/>
              <xs:element name="joogid">
</xs:sequence>
                <xs:complexType>
      </xs:complexType>
                  <xs:sequence>
    </xs:element>
                    <xs:element type="xs:string" name="jook" maxOccurs="unbounded" minOccurs="0"/>
    <xs:element name="joogid">
                  </xs:sequence>
      <xs:complexType>
        <xs:sequence>
  <xs:element type="xs:string" name="jook" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
                 </xs:complexType>
                 </xs:complexType>
               </xs:element>
               </xs:element>
Line 123: Line 131:
               </xs:element>
               </xs:element>
               <xs:element type="xs:string" name="nimi"/>
               <xs:element type="xs:string" name="nimi"/>
              <xs:element type="xs:int" name="kohtadeArv"/>
               <xs:element name="lauad">
               <xs:element name="lauad">
                 <xs:complexType>
                 <xs:complexType>
Line 139: Line 146:
                                       <xs:element type="xs:string" name="toit"/>
                                       <xs:element type="xs:string" name="toit"/>
                                     </xs:sequence>
                                     </xs:sequence>
                                     <xs:attribute type="xs:string" name="valmis" use="optional"/>
                                     <xs:attribute type="xs:boolean" name="valmis" use="required"/>
                                    <xs:attribute type="xs:unsignedInt" name="tellimuseAeg" use="required"/>
    <xs:attribute type="xs:boolean" name="taimneVersioon"/>
                                   </xs:complexType>
                                   </xs:complexType>
                                 </xs:element>
                                 </xs:element>
Line 161: Line 170:
   </xs:element>
   </xs:element>
</xs:schema>
</xs:schema>
</source>


=== XSLT ===
=== XSLT ===


 
==Restoranide id==
==resturanide id==


<pre>
<pre>
Line 205: Line 214:
</pre>
</pre>


==resturanide toidud==
==Restoranide toidud==
<pre>
<pre>



Revision as of 22:48, 20 March 2017

Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"

Meeskond

  • Märt Lõhmus
  • Kelli Lukas


XML/XSD/XSLT

XML

<?xml version="1.0" encoding="utf-8" ?>
<restoranid>
  <restoran id="1">
    <menyy>
      <toidud>
        <toit>![CDATA[Kanapraad]]</toit>
        <toit>![CDATA[Seapraad]]</toit>
        <toit>![CDATA[Fetasalat]]</toit>
        <toit>![CDATA[Oasalat]]</toit>
      </toidud>
      <joogid>
        <jook>![CDATA[Apelsinimahl]]</jook>
        <jook>![CDATA[Segumahl]]</jook>
        <jook>![CDATA[Coca-cola]]</jook>
        <jook>![CDATA[Fanta]]</jook>
        <jook>![CDATA[Sprite]]</jook>
      </joogid>
    </menyy>
    <teenindajad>
      <teenindaja>![CDATA[Maali]]</teenindaja>
      <teenindaja>![CDATA[Juhan]]</teenindaja>
      <teenindaja>![CDATA[Juta]]</teenindaja>
    </teenindajad>
    <nimi>![CDATA[NOA restoran]]</nimi>
    <lauad>
      <laud id="1" >
        <tellimused>
          <tellimus valmis="false" tellimuseAeg="1702301843" taimneVersioon="true">
	    <jook>![CDATA[Apelsinimahl]]</jook>
	    <toit>![CDATA[Oasalat]]</toit>
	  </tellimus>
          <tellimus valmis="false" tellimuseAeg="1702301844">
	    <jook>![CDATA[Segumahl]]</jook>
	    <toit>![CDATA[Seapraad]]</toit>
	  </tellimus>
          <tellimus valmis="false" tellimuseAeg="1702301846" taimneVersioon="true">
	    <jook>![CDATA[Sprite]]</jook>
	    <toit>![CDATA[Oasalat]]</toit>
	  </tellimus>
          <tellimus valmis="false" tellimuseAeg="1702301847">
	    <jook>![CDATA[Fanta]]</jook>
	    <toit>![CDATA[Fetasalat]]</toit>
	  </tellimus>
        </tellimused>
        <teenindaja>![CDATA[Maali]]</teenindaja>
      </laud>

      <laud id="2" >
        <tellimused>
          <tellimus valmis="false" tellimuseAeg="1702301852">
	    <jook>![CDATA[Fanta]]</jook>
	    <toit>![CDATA[Fetasalat]]</toit>
	  </tellimus>
	  <tellimus valmis="false" tellimuseAeg="1702301853">
	    <jook>![CDATA[Coca-cola]]</jook>
	    <toit>![CDATA[Fetasalat]]</toit>
	  </tellimus>
        </tellimused>
        <teenindaja>![CDATA[Juhan]]</teenindaja>
      </laud>
	  
      <laud id="3" >
        <tellimused>
          <tellimus valmis="false" tellimuseAeg="1702301903" taimneVersioon="true">
	    <jook>![CDATA[Fanta]]</jook>
	    <toit>![CDATA[Oasalat]]</toit>
	  </tellimus>
	  <tellimus valmis="false" tellimuseAeg="1702301905">
	    <jook>![CDATA[Apelsinimahl]]</jook>
	    <toit>![CDATA[Fetasalat]]</toit>
	  </tellimus>
	  <tellimus valmis="false" tellimuseAeg="1702301906">
	    <jook>![CDATA[Coca-cola]]</jook>
	    <toit>![CDATA[Kanapraad]]</toit>
	  </tellimus>
        </tellimused>
        <teenindaja>![CDATA[Juta]]</teenindaja>
      </laud>
    </lauad>
  </restoran>
</restoranid>

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="restoranid">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="restoran">
          <xs:complexType>
            <xs:sequence>
	      <xs:element name="menyy">
		<xs:complexType>
		  <xs:sequence>
		    <xs:element name="toidud">
		      <xs:complexType>
			<xs:sequence>
			  <xs:element type="xs:string" name="toit" maxOccurs="unbounded" minOccurs="0"/>
			</xs:sequence>
		      </xs:complexType>
		    </xs:element>
		    <xs:element name="joogid">
		      <xs:complexType>
		        <xs:sequence>
			  <xs:element type="xs:string" name="jook" maxOccurs="unbounded" minOccurs="0"/>
			</xs:sequence>
		      </xs:complexType>
		    </xs:element>
		  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="teenindajad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="teenindaja" maxOccurs="unbounded" minOccurs="0"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element type="xs:string" name="nimi"/>
              <xs:element name="lauad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="laud" maxOccurs="unbounded" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="tellimused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tellimus" maxOccurs="unbounded" minOccurs="0">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element type="xs:string" name="jook"/>
                                      <xs:element type="xs:string" name="toit"/>
                                    </xs:sequence>
                                    <xs:attribute type="xs:boolean" name="valmis" use="required"/>
                                    <xs:attribute type="xs:unsignedInt" name="tellimuseAeg" use="required"/>
				    <xs:attribute type="xs:boolean" name="taimneVersioon"/>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element type="xs:string" name="teenindaja"/>
                        </xs:sequence>
                        <xs:attribute type="xs:int" name="id" use="optional"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:int" name="id"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

Restoranide id

<?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>Order fast/fi</title>
      </head>

      <body>
        <ul>
          <xsl:for-each select="/restoranid/restoran">

            <li>
              <xsl:value-of select="@id" />
            </li>

            <ul>
              <xsl:for-each select="toidud/toit">
                <li>
                  <xsl:value-of select="." />
                </li>
              </xsl:for-each>
            </ul>
            
          </xsl:for-each>

        </ul>

      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Restoranide toidud


<?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>Order fast/fi</title>
      </head>

      <body>
        <ul>
          <xsl:for-each select="/restoranid/restoran">

            <li>
              <xsl:value-of select="@id" />
            </li>

            <ul>
              <xsl:for-each select="teenindajad/teenindaja">
                <xsl:sort select="."/>
                <li>
                  <xsl:value-of select="." />
                </li>
              </xsl:for-each>
            </ul>
            
          </xsl:for-each>

        </ul>

      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>