Sille: Difference between revisions
From ICO wiki test
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
===XML=== | ===XML=== | ||
XML fail hoiab endas riigimaanteedel olevaid sildasid. | |||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-8" ?> | <?xml version="1.0" encoding="utf-8" ?> | ||
| Line 141: | Line 142: | ||
===XSD=== | ===XSD=== | ||
<pre> | <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> | </pre> | ||
===XSLT=== | ===XSLT=== | ||
XSLT 1 | |||
<pre> | <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> | </pre> | ||
===XML retsensioon=== | ===XML retsensioon=== | ||
Revision as of 22:36, 20 March 2016
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.
<?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>
XSD
<?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>
XSLT
XSLT 1
<?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>
XSLT 2
<?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>
XML retsensioon
Veebiteenus
Veebiteenuse retsensioon
Klientrakendus
Klientrakenduse retsensioon
Arendusprotsess
- 17.03.16 - wiki lehe loomine, XML, XSD