VVA: Difference between revisions
From ICO wiki test
Jump to navigationJump to search
| Line 391: | Line 391: | ||
== Arendusprotsee == | == Arendusprotsee == | ||
#16.03.16 - XML, XSD ja XSLT tegemine | #16.03.16 - XML, XSD ja XSLT tegemine | ||
#18.03.16 - XML, XSD ja XSLT lisamine wiki'sse | |||
Revision as of 11:08, 18 March 2016
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"
Meeskond
- Aleksandr Babõkin
- Vladislav Kovaltšuk
- Andrei Tverskoi
- Vladislav Lahtarin
Idee
XML/XSD/XSLT
XML
<?xml version="1.0" encoding="utf-8" ?>
<arvutid>
<arvuti>
<liik>
<![CDATA[Sülearvuti:]]>
<firma><![CDATA[Apple]]></firma>
<tyyp><![CDATA[MacBook Pro]]></tyyp>
<hind><![CDATA[2500]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[i7]]></mudel>
<sagedus><![CDATA[2.5 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[AMD]]></tootja>
<mudel><![CDATA[Radeon R9 M370X]]></mudel>
<malu><![CDATA[2 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[DDR4]]></tyyp>
<malu><![CDATA[16 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[SSD]]></tyyp>
<malu><![CDATA[512 GB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
<arvuti>
<liik>
<![CDATA[Lauaarvuti:]]>
<firma><![CDATA[HP]]></firma>
<tyyp><![CDATA[Office]]></tyyp>
<hind><![CDATA[350]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[Core™ i3-4170]]></mudel>
<sagedus><![CDATA[3.70 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[HD Graphics 4400]]></mudel>
<malu><![CDATA[1.8 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[DDR3]]></tyyp>
<malu><![CDATA[4 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[SSD]]></tyyp>
<malu><![CDATA[120 GB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
<arvuti>
<liik>
<![CDATA[Lauaarvuti:]]>
<firma><![CDATA[Acer]]></firma>
<tyyp><![CDATA[Gamer Plus]]></tyyp>
<hind><![CDATA[1350]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[i5-6600K]]></mudel>
<sagedus><![CDATA[3.90 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[MSI]]></tootja>
<mudel><![CDATA[Geforce GTX 960]]></mudel>
<malu><![CDATA[4 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Kingstone]]></tootja>
<tyyp><![CDATA[DDR4]]></tyyp>
<malu><![CDATA[16 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Seagate]]></tootja>
<tyyp><![CDATA[HDD]]></tyyp>
<malu><![CDATA[1 TB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
<arvuti>
<liik>
<![CDATA[Lauaarvuti:]]>
<firma><![CDATA[Dell]]></firma>
<tyyp><![CDATA[Gamer lite]]></tyyp>
<hind><![CDATA[1000]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[i3-4170]]></mudel>
<sagedus><![CDATA[3.70 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[Nvidia]]></tootja>
<mudel><![CDATA[Geforce GT730]]></mudel>
<malu><![CDATA[2 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[DDR3]]></tyyp>
<malu><![CDATA[4 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Seagate]]></tootja>
<tyyp><![CDATA[HDD]]></tyyp>
<malu><![CDATA[500 GB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
<arvuti>
<liik>
<![CDATA[Sülearvuti:]]>
<firma><![CDATA[MSI]]></firma>
<tyyp><![CDATA[Gaming laptop]]></tyyp>
<hind><![CDATA[3000]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[i7-6820HK]]></mudel>
<sagedus><![CDATA[2.7 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[Nvidia]]></tootja>
<mudel><![CDATA[Geforce GTX970M]]></mudel>
<malu><![CDATA[6 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[DDR4]]></tyyp>
<malu><![CDATA[8 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[SSD]]></tyyp>
<malu><![CDATA[256 GB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
<arvuti>
<liik>
<![CDATA[Sülearvuti:]]>
<firma><![CDATA[Toshiba]]></firma>
<tyyp><![CDATA[Work laptop]]></tyyp>
<hind><![CDATA[600]]></hind>
<valuuta><![CDATA[EUR]]></valuuta>
</liik>
<konfiguratsioon>
<protsessor name="Protsessor">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[i3-4030U]]></mudel>
<sagedus><![CDATA[1.9 GHz]]></sagedus>
</protsessor>
<videokaart name="Videokaart">
<tootja><![CDATA[Intel®]]></tootja>
<mudel><![CDATA[HD Graphics 4400]]></mudel>
<malu><![CDATA[1 GB]]></malu>
</videokaart>
<operatiivmalu name="Operatiivmälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[DDR3]]></tyyp>
<malu><![CDATA[4 GB]]></malu>
</operatiivmalu>
<pysimalu name="Püsimälu">
<tootja><![CDATA[Samsung]]></tootja>
<tyyp><![CDATA[HDD]]></tyyp>
<malu><![CDATA[256 GB]]></malu>
</pysimalu>
</konfiguratsioon>
</arvuti>
</arvutid>
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="arvutid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="arvuti">
<xs:complexType>
<xs:sequence>
<xs:element name="liik">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="firma" type="xs:string" />
<xs:element name="tyyp" type="xs:string" />
<xs:element name="hind" type="xs:integer" />
<xs:element name="valuuta" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="konfiguratsioon">
<xs:complexType>
<xs:sequence>
<xs:element name="protsessor">
<xs:complexType>
<xs:sequence>
<xs:element name="tootja" type="xs:string" />
<xs:element name="mudel" type="xs:string" />
<xs:element name="sagedus" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="videokaart">
<xs:complexType>
<xs:sequence>
<xs:element name="tootja" type="xs:string" />
<xs:element name="mudel" type="xs:string" />
<xs:element name="malu" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="operatiivmalu">
<xs:complexType>
<xs:sequence>
<xs:element name="tootja" type="xs:string" />
<xs:element name="tyyp" type="xs:string" />
<xs:element name="malu" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="pysimalu">
<xs:complexType>
<xs:sequence>
<xs:element name="tootja" type="xs:string" />
<xs:element name="tyyp" type="xs:string" />
<xs:element name="malu" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT Kuvab kõik arvutid ja nende komponendide kirjeldust
<?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>Arvutid</title>
</head>
<body>
<xsl:for-each select="arvutid/arvuti">
<h2>
<xsl:value-of select="firma" />
<xsl:value-of select="liik" />
<xsl:value-of select="tyyp"/>
<xsl:value-of select="hind"/>
<xsl:value-of select="valuuta"/>
</h2>
<xsl:for-each select="konfiguratsioon/protsessor">
<h4>
<xsl:value-of select="@name"/>
</h4>
<ul>
<li>
<xsl:value-of select="."/>
</li>
</ul>
</xsl:for-each>
<xsl:for-each select="konfiguratsioon/videokaart">
<h4>
<xsl:value-of select="@name"/>
</h4>
<ul>
<li>
<xsl:value-of select="."/>
</li>
</ul>
</xsl:for-each>
<xsl:for-each select="konfiguratsioon/operatiivmalu">
<h4>
<xsl:value-of select="@name"/>
</h4>
<ul>
<li>
<xsl:value-of select="."/>
</li>
</ul>
</xsl:for-each>
<xsl:for-each select="konfiguratsioon/pysimalu">
<h4>
<xsl:value-of select="@name"/>
</h4>
<ul>
<li>
<xsl:value-of select="."/>
</li>
</ul>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT Kuvab arvutite nimetust, mudelit ja hinda. Hind on sorteeritud kasvamise järjekorras
<?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>Hinna järgi</title>
</head>
<body>
<table border="2">
<tr>
<th>Firma</th>
<th>Mudel</th>
<th>Hind</th>
</tr>
<xsl:for-each select="arvutid/arvuti/liik">
<xsl:sort select="hind" data-type="number"></xsl:sort>
<tr>
<td>
<xsl:value-of select="firma"/>
</td>
<td>
<xsl:value-of select="tyyp"/>
</td>
<td>
<xsl:value-of select="hind"/>
<xsl:text> </xsl:text>
<xsl:value-of select="valuuta"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Arendusprotsee
- 16.03.16 - XML, XSD ja XSLT tegemine
- 18.03.16 - XML, XSD ja XSLT lisamine wiki'sse