VVA: Difference between revisions
From ICO wiki
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