|
|
(12 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| =Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"=
| |
|
| |
|
| ==Meeskond==
| |
| * Andres Trei
| |
| * Lasse Kolkanen
| |
|
| |
| == Idee ==
| |
|
| |
| ==XML/XSD/XSLT==
| |
|
| |
| ===XML===
| |
| XML fail hoiab endas riigimaanteedel olevaid sildasid.
| |
| <pre>
| |
| <?xml version="1.0" encoding="utf-8" ?>
| |
| <Sillad>
| |
| <Sild Id="1" Ehitusaasta="2012">
| |
| <Nimi Nr="799">Sauga</Nimi>
| |
| <Takistus>Sauga jõgi</Takistus>
| |
| <Asukoht KoordX="527056" KoordY="6473072">
| |
| <TeeNimetus Nr="60">Pärnu-Lihula</TeeNimetus>
| |
| <Algusest Ühik="m">2386</Algusest>
| |
| <Maakond>Pärnu</Maakond>
| |
| </Asukoht>
| |
| <Ylevaatused>
| |
| <Järgmine>2016</Järgmine>
| |
| <Viimane></Viimane>
| |
| </Ylevaatused>
| |
| <Kandevõime Ühik="t" Väärtus="800">N-30/NK-80</Kandevõime>
| |
| <Sillaparameetrid>
| |
| <Pikkus Ühik="m">70</Pikkus>
| |
| <Laius Ühik="m">16.35</Laius>
| |
| <TeeLaius Ühik="m">9.4</TeeLaius>
| |
| </Sillaparameetrid>
| |
| <Liiklusandmed>
| |
| <Liiklussagedus Ühik="sõidukit/24h" Loendusaasta="2014">4444</Liiklussagedus>
| |
| <Jaotus Ühik="%">
| |
| <Sõidukid>85</Sõidukid>
| |
| <Veokid>3</Veokid>
| |
| <Autorongid>12</Autorongid>
| |
| </Jaotus>
| |
| </Liiklusandmed>
| |
| <Indeksid>
| |
| <SeisundiIndeks Hindamiseaasta="2012">99</SeisundiIndeks>
| |
| <PontisIndeks Hindamiseaasta="2013">100</PontisIndeks>
| |
| </Indeksid>
| |
| </Sild>
| |
| <Sild Id="2" Ehitusaasta="1939">
| |
| <Nimi Nr="89">Kiviloo</Nimi>
| |
| <Takistus>Jõelähtme jõgi</Takistus>
| |
| <Asukoht KoordX="571748" KoordY="6572314">
| |
| <TeeNimetus Nr="11125">Perila-Jäneda</TeeNimetus>
| |
| <Algusest Ühik="m">5758</Algusest>
| |
| <Maakond>Harju</Maakond>
| |
| </Asukoht>
| |
| <Ylevaatused>
| |
| <Järgmine>2019</Järgmine>
| |
| <Viimane>2015-10-09</Viimane>
| |
| </Ylevaatused>
| |
| <Kandevõime Ühik="t" Väärtus="600">N-13/NG-60</Kandevõime>
| |
| <Sillaparameetrid>
| |
| <Pikkus Ühik="m">17</Pikkus>
| |
| <Laius Ühik="m">7.4</Laius>
| |
| <TeeLaius Ühik="m">6</TeeLaius>
| |
| </Sillaparameetrid>
| |
| <Liiklusandmed>
| |
| <Liiklussagedus Ühik="sõidukit/24h" Loendusaasta="2014">1214</Liiklussagedus>
| |
| <Jaotus Ühik="%">
| |
| <Sõidukid>95</Sõidukid>
| |
| <Veokid>2</Veokid>
| |
| <Autorongid>3</Autorongid>
| |
| </Jaotus>
| |
| </Liiklusandmed>
| |
| <Indeksid>
| |
| <SeisundiIndeks Hindamiseaasta="2010">55</SeisundiIndeks>
| |
| <PontisIndeks Hindamiseaasta="2010">56</PontisIndeks>
| |
| </Indeksid>
| |
| </Sild>
| |
| <Sild Id="3" Ehitusaasta="1952">
| |
| <Nimi Nr="776">Majaka</Nimi>
| |
| <Takistus>Majaka kanal</Takistus>
| |
| <Asukoht KoordX="525662" KoordY="6428719">
| |
| <TeeNimetus Nr="19331">Rannametsa-Ikla</TeeNimetus>
| |
| <Algusest Ühik="m">15758</Algusest>
| |
| <Maakond>Pärnu</Maakond>
| |
| </Asukoht>
| |
| <Ylevaatused>
| |
| <Järgmine>2017</Järgmine>
| |
| <Viimane></Viimane>
| |
| </Ylevaatused>
| |
| <Kandevõime Ühik="t" Väärtus="600">N-13/NG-60</Kandevõime>
| |
| <Sillaparameetrid>
| |
| <Pikkus Ühik="m">4.6</Pikkus>
| |
| <Laius Ühik="m">8.9</Laius>
| |
| <TeeLaius Ühik="m">7</TeeLaius>
| |
| </Sillaparameetrid>
| |
| <Liiklusandmed>
| |
| <Liiklussagedus Ühik="sõidukit/24h" Loendusaasta="2014">479</Liiklussagedus>
| |
| <Jaotus Ühik="%">
| |
| <Sõidukid>95</Sõidukid>
| |
| <Veokid>4</Veokid>
| |
| <Autorongid>1</Autorongid>
| |
| </Jaotus>
| |
| </Liiklusandmed>
| |
| <Indeksid>
| |
| <SeisundiIndeks Hindamiseaasta="2006">65.7</SeisundiIndeks>
| |
| <PontisIndeks Hindamiseaasta="2011">62</PontisIndeks>
| |
| </Indeksid>
| |
| </Sild>
| |
| <Sild Id="4" Ehitusaasta="2015">
| |
| <Nimi Nr="1500">Jõhvi I</Nimi>
| |
| <Takistus>Tapa-Narva raudtee</Takistus>
| |
| <Asukoht KoordX="694100" KoordY="6584697">
| |
| <TeeNimetus Nr="3">Jõhvi-Tartu-Valga</TeeNimetus>
| |
| <Algusest Ühik="m">2169</Algusest>
| |
| <Maakond>Ida-Viru</Maakond>
| |
| </Asukoht>
| |
| <Ylevaatused>
| |
| <Järgmine>2017</Järgmine>
| |
| <Viimane></Viimane>
| |
| </Ylevaatused>
| |
| <Kandevõime Ühik="ts" Väärtus="2400">2400/200</Kandevõime>
| |
| <Sillaparameetrid>
| |
| <Pikkus Ühik="m">255.72</Pikkus>
| |
| <Laius Ühik="m">9.4</Laius>
| |
| <TeeLaius Ühik="m">7.5</TeeLaius>
| |
| </Sillaparameetrid>
| |
| <Liiklusandmed>
| |
| <Liiklussagedus Ühik="sõidukit/24h" Loendusaasta="2014">16450</Liiklussagedus>
| |
| <Jaotus Ühik="%">
| |
| <Sõidukid>98</Sõidukid>
| |
| <Veokid>2</Veokid>
| |
| <Autorongid>0</Autorongid>
| |
| </Jaotus>
| |
| </Liiklusandmed>
| |
| <Indeksid>
| |
| <SeisundiIndeks Hindamiseaasta="2013">100</SeisundiIndeks>
| |
| <PontisIndeks Hindamiseaasta=""></PontisIndeks>
| |
| </Indeksid>
| |
| </Sild>
| |
| </Sillad>
| |
| </pre>
| |
| ===XSD===
| |
| <pre>
| |
| <?xml version="1.0" encoding="utf-8"?>
| |
| <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
| |
| <xs:simpleType name="pikkusühik">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="m"/>
| |
| <xs:enumeration value="km"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="massiühik">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="kg"/>
| |
| <xs:enumeration value="t"/>
| |
| <xs:enumeration value="ts"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="sagedusühik">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="sõidukit/24h"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="protsent">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="%"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="maakond">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="Harju"/>
| |
| <xs:enumeration value="Pärnu"/>
| |
| <xs:enumeration value="Rapla"/>
| |
| <xs:enumeration value="Valga"/>
| |
| <xs:enumeration value="Ida-Viru"/>
| |
| <!--jne-->
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="kandevõime">
| |
| <xs:restriction base="xs:string">
| |
| <xs:enumeration value="N-13/NG-60"/>
| |
| <xs:enumeration value="N-30/NK-80"/>
| |
| <xs:enumeration value="N-10/NG-30"/>
| |
| <xs:enumeration value="N-8/NG-60"/>
| |
| <xs:enumeration value="3600/240kN"/>
| |
| <xs:enumeration value="260 kN/3x210 kN"/>
| |
| <xs:enumeration value="2400/200"/>
| |
| <xs:enumeration value="N-18/NG-60"/>
| |
| <!--jne-->
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:simpleType name="aastad">
| |
| <xs:restriction base="xs:unsignedShort">
| |
| <xs:minInclusive value="1900"/>
| |
| <xs:maxInclusive value="2100"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| <xs:element name="Sillad">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element maxOccurs="unbounded" name="Sild">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="Nimi">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:string">
| |
| <xs:attribute name="Nr" type="xs:unsignedShort" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Takistus">
| |
| <xs:simpleType>
| |
| <xs:restriction base="xs:string">
| |
| <xs:maxLength value="60"/>
| |
| </xs:restriction>
| |
| </xs:simpleType>
| |
| </xs:element>
| |
| <xs:element name="Asukoht">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="TeeNimetus">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:string">
| |
| <xs:attribute name="Nr" type="xs:unsignedShort" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Algusest">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:unsignedInt">
| |
| <xs:attribute name="Ühik" type="pikkusühik" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Maakond" type="maakond" />
| |
| </xs:sequence>
| |
| <xs:attribute name="KoordX" type="xs:unsignedInt" use="required" />
| |
| <xs:attribute name="KoordY" type="xs:unsignedInt" use="required" />
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Ylevaatused">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="Järgmine" type="xs:unsignedShort" />
| |
| <xs:element name="Viimane" type="xs:date" nillable="true"/>
| |
| </xs:sequence>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Kandevõime">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="kandevõime">
| |
| <xs:attribute name="Ühik" type="massiühik" use="required" />
| |
| <xs:attribute name="Väärtus" type="xs:unsignedShort" use="optional" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Sillaparameetrid">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="Pikkus">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:decimal">
| |
| <xs:attribute name="Ühik" type="pikkusühik" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Laius">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:decimal">
| |
| <xs:attribute name="Ühik" type="pikkusühik" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="TeeLaius">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:decimal">
| |
| <xs:attribute name="Ühik" type="pikkusühik" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:sequence>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Liiklusandmed">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="Liiklussagedus">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:unsignedShort">
| |
| <xs:attribute name="Ühik" type="sagedusühik" use="required" />
| |
| <xs:attribute name="Loendusaasta" type="xs:unsignedShort" use="required" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Jaotus">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="Sõidukid" type="xs:unsignedByte" />
| |
| <xs:element name="Veokid" type="xs:unsignedByte" />
| |
| <xs:element name="Autorongid" type="xs:unsignedByte" />
| |
| </xs:sequence>
| |
| <xs:attribute name="Ühik" type="protsent" use="required" />
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:sequence>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="Indeksid">
| |
| <xs:complexType>
| |
| <xs:sequence>
| |
| <xs:element name="SeisundiIndeks" nillable="true">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:decimal">
| |
| <xs:attribute name="Hindamiseaasta" type="aastad" use="optional" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| <xs:element name="PontisIndeks" nillable="true">
| |
| <xs:complexType>
| |
| <xs:simpleContent>
| |
| <xs:extension base="xs:decimal">
| |
| <xs:attribute name="Hindamiseaasta" type="aastad" use="optional" />
| |
| </xs:extension>
| |
| </xs:simpleContent>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:sequence>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:sequence>
| |
| <xs:attribute name="Id" type="xs:unsignedInt" use="required" />
| |
| <xs:attribute name="Ehitusaasta" type="aastad" use="required" />
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:sequence>
| |
| </xs:complexType>
| |
| </xs:element>
| |
| </xs:schema>
| |
| </pre>
| |
| ===XSLT===
| |
| XSLT 1
| |
| <pre>
| |
| <?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>Sille transformatsioon 1</title>
| |
| </head>
| |
| <body>
| |
| <xsl:variable name="maakond" select="'Pärnu'"/>
| |
| <p>Sillad mis asuvad <xsl:value-of select="$maakond"/> maakonnas</p>
| |
| <xsl:for-each select="/Sillad/Sild">
| |
|
| |
| <xsl:variable select="Nimi" name="Sillanimi"/>
| |
| <!--<xsl:value-of select="$Sillanimi"/>-->
| |
| <ul>
| |
|
| |
| <xsl:if test="Asukoht/Maakond = $maakond">
| |
| <li>
| |
| <xsl:value-of select="$Sillanimi"/>
| |
| <xsl:text> </xsl:text>
| |
| </li>
| |
| </xsl:if>
| |
| </ul>
| |
| </xsl:for-each>
| |
| <xsl:variable name="sagedus" select="'500'"/>
| |
| <p>
| |
| Sillad mis asuvad <xsl:value-of select="$maakond"/> maakonnas ja kus liiklussagedus on väiksem kui <xsl:value-of select="$sagedus"/> autot/24h
| |
| </p>
| |
| <xsl:for-each select="/Sillad/Sild">
| |
|
| |
| <xsl:variable select="Nimi" name="Sillanimi"/>
| |
| <xsl:variable select="Liiklusandmed/Liiklussagedus" name="liiklussagedus"/>
| |
| <ul>
| |
|
| |
| <xsl:if test="Asukoht/Maakond = $maakond and Liiklusandmed/Liiklussagedus < $sagedus">
| |
| <li>
| |
| <xsl:value-of select="$Sillanimi"/>
| |
| <xsl:text> - </xsl:text>
| |
| <xsl:value-of select="$liiklussagedus"/>
| |
| <xsl:text> autot 24/h </xsl:text>
| |
| </li>
| |
| </xsl:if>
| |
| </ul>
| |
| </xsl:for-each>
| |
| </body>
| |
| </html>
| |
| </xsl:template>
| |
| </xsl:stylesheet>
| |
| </pre>
| |
| XSLT 2
| |
| <pre>
| |
| <?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>Sille transformatsioon 2</title>
| |
| </head>
| |
| <body>
| |
| <xsl:variable name="kandevõime" select="'1000'"/>
| |
| <xsl:variable name="osakaal" select="'10'"/>
| |
| <p>
| |
| Sillad mille kandevõime on rohkem kui <xsl:value-of select="$kandevõime"/> t või kus kandevõime on väiksem/võrdne <xsl:value-of select="$kandevõime"/> t ja autorongide osakaal on üle <xsl:value-of select="$osakaal"/>%
| |
| </p>
| |
|
| |
| <xsl:for-each select="/Sillad/Sild">
| |
|
| |
| <xsl:variable select="Kandevõime/@Väärtus" name="Kandevõime"/>
| |
| <xsl:variable select="Nimi" name="Nimi"/>
| |
| <xsl:variable select="Liiklusandmed/Jaotus/Autorongid" name="autorongid"/>
| |
| <ul>
| |
| <xsl:choose>
| |
| <xsl:when test="$Kandevõime > $kandevõime">
| |
| <li>
| |
| <xsl:value-of select="$Nimi"/>
| |
| </li>
| |
|
| |
| </xsl:when>
| |
| <xsl:when test="$Kandevõime <= $kandevõime and $autorongid > $osakaal">
| |
| <li>
| |
| <xsl:value-of select="$Nimi"/>
| |
| </li>
| |
| </xsl:when>
| |
| <xsl:otherwise>
| |
|
| |
| </xsl:otherwise>
| |
| </xsl:choose>
| |
| </ul>
| |
| </xsl:for-each>
| |
| </body>
| |
| </html>
| |
| </xsl:template>
| |
| </xsl:stylesheet>
| |
| </pre>
| |
| ===XML retsensioon===
| |
| ==Veebiteenus==
| |
| ===Veebiteenuse retsensioon===
| |
| ==Klientrakendus==
| |
| ===Klientrakenduse retsensioon===
| |
| == Arendusprotsess ==
| |
| #17.03.16 - wiki lehe loomine, XML, XSD
| |
| #19.03.16 - XSLT
| |