Purgis
From ICO wiki
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>