Maverick: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Lkolkane (talk | contribs)
Lkolkane (talk | contribs)
 
Line 1,254: Line 1,254:


=== 01.04.2014 ===
=== 01.04.2014 ===
* Parandatud xslt HTML - wiki source: && aga välja paistab &
* Parandatud xslt HTML - wiki source: & aga välja paistab &
 
=== 27.03.2014 ===
=== 27.03.2014 ===
* Parendatud xslt json (string->number)
* Parendatud xslt json (string->number)

Latest revision as of 16:58, 1 April 2014

Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"

Meeskond:

  • Lasse Kolkanen

XML

Kirjeldus: Sadamaregister

XML

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='Sadamaregister.xsl' ?>
<sadamaregister xmlns="http://sadamaregister.itcollege.ee/Sadamaregister.xsd">
  <sadam id="1">
    <kood>EE TLV</kood>
    <nimi>TALVESADAM</nimi>
    <ylesanne>Sadamateenuseid osutatakse vaid alla 24-meetrise kogupikkusega veesõidukitele (väikesadam)</ylesanne>
    <navigatsiooniPeriood>
      <alates>
        <paev>1</paev>
        <kuu>5</kuu>
      </alates>
      <kuni>
        <paev>1</paev>
        <kuu>11</kuu>
      </kuni>
    </navigatsiooniPeriood>
    <registreeritud>2014-03-05</registreeritud>
    <aadress>
      <maakond>Pärnu maakond</maakond>
      <omavalitsus>Pärnu linn</omavalitsus>
      <lahiaadress>Suur-Sepa 1</lahiaadress>
    </aadress>
    <kontakt>
      <koduleht>www.talvesadam.ee</koduleht>
      <epost>info@talvesadam.ee</epost>
      <telefon>+ 372 50 377 32</telefon>
    </kontakt>
    <koordinaadid>
      <pohjaliausB>
        <tekst>58°23'12.66"N</tekst>
        <kraad>58</kraad>
        <minut>23</minut>
        <sekund>12.66</sekund>
        <vaartus>58.38685</vaartus>
        <LEST97>6471926.76698</LEST97>
      </pohjaliausB>
      <idapikkusL>
        <tekst>24°29'30.73"E</tekst>
        <kraad>24</kraad>
        <minut>29</minut>
        <sekund>30.73</sekund>
        <vaartus>24.4918694</vaartus>
        <LEST97>528769.440202</LEST97>
      </idapikkusL>
    </koordinaadid>
    <veekoguLiik>Laevatatav siseveekogu</veekoguLiik>
    <veekoguNimetus>Pärnu jõgi</veekoguNimetus>
    <tehnilisedAndmed>
      <veevoidukiKogumahutavus>alla 500 tonni</veevoidukiKogumahutavus>
      <sissesoiduteeVaikseimLaiusM>10.0</sissesoiduteeVaikseimLaiusM>
      <sissesoiduteeVaikseimSygavusM>2.0</sissesoiduteeVaikseimSygavusM>
      <veesoidukiSuurimSygavusM>2.0</veesoidukiSuurimSygavusM>
      <veesoidukiSuurimLaiusM>6.0</veesoidukiSuurimLaiusM>
      <veesoidukiSuurimPikkusM>24.0</veesoidukiSuurimPikkusM>
    </tehnilisedAndmed>
    <sadamapidaja>
      <arinimiPerenimi>Pärnu Haldusteenused</arinimiPerenimi>
      <eesnimi/>
      <registikoodIsikukood>75038471</registikoodIsikukood>
      <telefon>4433877</telefon>
      <mobiil>+372 53 000 550</mobiil>
      <epost>info@haldusteenused.ee</epost>
      <koduleht>www.haldusteenused.ee</koduleht>
    </sadamapidaja>
    <sadamakapten>
      <arinimiPerenimi>Sarandi</arinimiPerenimi>
      <eesnimi>Raul</eesnimi>
      <registikoodIsikukood>37001011233</registikoodIsikukood>
      <telefon>5283077</telefon>
      <mobiil>+372 543 210 99</mobiil>
      <epost>raul.sarandi@gmail.com</epost>
      <koduleht>-</koduleht>
    </sadamakapten>
    <sadamaMaaalaAndmed>
      <katastriyksused>
        <katastritunnus>62510:001:3920</katastritunnus>
      </katastriyksused>
      <pindalaM2>3366</pindalaM2>
    </sadamaMaaalaAndmed>
    <teenindatavadVeesoidukid>
      <veesoiduk>
        <liik>väikelaev</liik>
        <piirangud />
        <staatus />
      </veesoiduk>
    </teenindatavadVeesoidukid>
    <pohiteenused>
      <teenus>
        <nimetus>Veeliikluse korraldamine akvatooriumil ja sissesõiduteel</nimetus>
        <osutaja>
          <arinimiPerenimi>Pärnu Haldusteenused</arinimiPerenimi>
          <eesnimi/>
          <registikoodIsikukood>75038471</registikoodIsikukood>
          <aadress>
            <maakond>Pärnu</maakond>
            <omavalitsus>Pärnu linn</omavalitsus>
            <asustusyksus />
            <lahiaadress>Suur-Sepa 1</lahiaadress>
          </aadress>
          <telefon>4433877</telefon>
          <mobiil>+372 53 000 550</mobiil>
          <epost>info@haldusteenused.ee</epost>
          <koduleht>www.haldusteenused.ee</koduleht>
          <kontaktisik>Mati Reiland</kontaktisik>
        </osutaja>
      </teenus>
      <teenus>
        <nimetus>Veesõiduki sildumise võimaldamine</nimetus>
        <osutaja>
          <arinimiPerenimi>Pärnu Haldusteenused</arinimiPerenimi>
          <eesnimi/>
          <registikoodIsikukood>75038471</registikoodIsikukood>
          <aadress>
            <maakond>Pärnu</maakond>
            <omavalitsus>Pärnu linn</omavalitsus>
            <asustusyksus />
            <lahiaadress>Suur-Sepa 1</lahiaadress>
          </aadress>
          <telefon>4433877</telefon>
          <mobiil>+372 53 000 550</mobiil>
          <epost>info@haldusteenused.ee</epost>
          <koduleht>www.haldusteenused.ee</koduleht>
          <kontaktisik>Mati Reiland</kontaktisik>
        </osutaja>
      </teenus>
    </pohiteenused>
    <kaid>
      <kai>
        <nimetus>kai nr 1</nimetus>
        <liik>ujuvkai</liik>
        <pikkusM>24.0</pikkusM>
        <sygavusM>2.0</sygavusM>
        <teenindatavadVeesoidukid>
          <tyyp>väikelaev</tyyp>
        </teenindatavadVeesoidukid>
        <elekter>1</elekter>
        <joogivesi>1</joogivesi>
        <telefon>0</telefon>
      </kai>
    </kaid>
  </sadam>
  <sadam id="2">
    <kood>EE HUN</kood>
    <nimi>HUNDIPEA SADAM</nimi>
    <ylesanne>Sadamateenuseid osutatakse sõltumata veesõiduki suurusest</ylesanne>
    <navigatsiooniPeriood>
      <alates>
        <paev>1</paev>
        <kuu>1</kuu>
      </alates>
      <kuni>
        <paev>31</paev>
        <kuu>12</kuu>
      </kuni>
    </navigatsiooniPeriood>
    <registreeritud>2009-10-26</registreeritud>
    <aadress>
      <maakond>Harju maakond</maakond>
      <omavalitsus>Tallinna linn</omavalitsus>
      <asustusyksus>Põhja-Tallinna linnaosa</asustusyksus>
      <lahiaadress>Lume tn 9</lahiaadress>
    </aadress>
    <kontakt>
      <koduleht>www.vta.ee</koduleht>
      <epost>eva@vta.ee</epost>
      <telefon>+372 6205500</telefon>
    </kontakt>
    <koordinaadid>
      <pohjaliausB>
        <tekst>59°27'36.00"N</tekst>
        <kraad>59</kraad>
        <minut>27</minut>
        <sekund>36.00</sekund>
        <vaartus>59.46</vaartus>
        <LEST97>6591576.80431</LEST97>
      </pohjaliausB>
      <idapikkusL>
        <tekst>24°43'07.80"E</tekst>
        <kraad>24</kraad>
        <minut>43</minut>
        <sekund>7.80</sekund>
        <vaartus>24.71883</vaartus>
        <LEST97>540762.948704</LEST97>
      </idapikkusL>
    </koordinaadid>
    <veekoguLiik>Meri</veekoguLiik>
    <veekoguNimetus>Läänemeri</veekoguNimetus>
    <tehnilisedAndmed>
      <veevoidukiKogumahutavus>7500 tonni ja suurem</veevoidukiKogumahutavus>
      <sissesoiduteeVaikseimLaiusM>10.0</sissesoiduteeVaikseimLaiusM>
      <sissesoiduteeVaikseimSygavusM>8.0</sissesoiduteeVaikseimSygavusM>
      <veesoidukiSuurimSygavusM>8.0</veesoidukiSuurimSygavusM>
      <veesoidukiSuurimLaiusM>30.0</veesoidukiSuurimLaiusM>
      <veesoidukiSuurimPikkusM>130.0</veesoidukiSuurimPikkusM>
    </tehnilisedAndmed>
    <sadamapidaja>
      <arinimiPerenimi>Veeteede Amet</arinimiPerenimi>
      <eesnimi />
      <registikoodIsikukood>70002414</registikoodIsikukood>
      <telefon>+372 7302600</telefon>
      <mobiil>+372 504 3861</mobiil>
      <epost>eva@vta.ee</epost>
      <koduleht>www.vta.ee</koduleht>
    </sadamapidaja>
    <sadamakapten>
      <arinimiPerenimi>Kreek</arinimiPerenimi>
      <eesnimi>Andres</eesnimi>
      <registikoodIsikukood>37101010021</registikoodIsikukood>
      <telefon>6205780</telefon>
      <epost>andres.kreek@vta.ee</epost>
    </sadamakapten>
    <sadamaMaaalaAndmed>
      <katastriyksused>
        <katastritunnus>78408:807:0078</katastritunnus>
      </katastriyksused>
      <pindalaM2>37285</pindalaM2>
    </sadamaMaaalaAndmed>
    <teenindatavadVeesoidukid>
      <veesoiduk>
        <liik>muu laev</liik>
        <piirangud>jäämurdjad, hüdrograafialaevad, kaatrid</piirangud>
        <staatus>aktiivne</staatus>
      </veesoiduk>
    </teenindatavadVeesoidukid>
    <pohiteenused>
      <teenus>
        <nimetus>Veeliikluse korraldamine akvatooriumil ja sissesõiduteel</nimetus>
        <osutaja>
          <arinimiPerenimi>Veeteede Amet</arinimiPerenimi>
          <eesnimi />
          <registikoodIsikukood>70002414</registikoodIsikukood>
          <telefon>+372 7302600</telefon>
          <mobiil>+372 504 3861</mobiil>
          <epost>eva@vta.ee</epost>
          <koduleht>www.vta.ee</koduleht>
        </osutaja>
      </teenus>
      <teenus>
        <nimetus>Veesõiduki sildumise võimaldamine</nimetus>
        <osutaja>
          <arinimiPerenimi>Veeteede Amet</arinimiPerenimi>
          <eesnimi />
          <registikoodIsikukood>70002414</registikoodIsikukood>
          <telefon>+372 7302600</telefon>
          <mobiil>+372 504 3861</mobiil>
          <epost>eva@vta.ee</epost>
          <koduleht>www.vta.ee</koduleht>
        </osutaja>
      </teenus>
    </pohiteenused>
    <ehitised>
      <ehitis>
        <nimetus>büroohoone</nimetus>
        <liik>hoone</liik>
      </ehitis>
      <ehitis>
        <nimetus>lainemurdja</nimetus>
        <liik>kaitserajatis</liik>
        <alamliik>lainemurdja</alamliik>
      </ehitis>
      <ehitis>
        <nimetus>laod</nimetus>
        <liik>ladu</liik>
        <alamliik>laohoone</alamliik>
      </ehitis>
      <ehitis>
        <nimetus>töökoda</nimetus>
        <liik>hoone</liik>
      </ehitis>
    </ehitised>
    <kaid>
      <kai>
        <nimetus>Kai nr 1</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>31.8</pikkusM>
        <sygavusM>4.0</sygavusM>
        <elekter>false</elekter>
        <joogivesi>false</joogivesi>
        <telefon>false</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 2</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>150.0</pikkusM>
        <sygavusM>4.5</sygavusM>
        <elekter>false</elekter>
        <joogivesi>true</joogivesi>
        <telefon>true</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 3</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>30.0</pikkusM>
        <sygavusM>5.4</sygavusM>
        <elekter>false</elekter>
        <joogivesi>false</joogivesi>
        <telefon>false</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 4</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>140.0</pikkusM>
        <sygavusM>4.0</sygavusM>
        <elekter>false</elekter>
        <joogivesi>true</joogivesi>
        <telefon>true</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 5</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>124.0</pikkusM>
        <sygavusM>5.2</sygavusM>
        <elekter>false</elekter>
        <joogivesi>true</joogivesi>
        <telefon>true</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 6</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>221.0</pikkusM>
        <sygavusM>4.9</sygavusM>
        <elekter>false</elekter>
        <joogivesi>true</joogivesi>
        <telefon>true</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 7</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>14.0</pikkusM>
        <sygavusM>4.8</sygavusM>
        <elekter>false</elekter>
        <joogivesi>false</joogivesi>
        <telefon>false</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 8</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>59.0</pikkusM>
        <sygavusM>3.5</sygavusM>
        <elekter>false</elekter>
        <joogivesi>false</joogivesi>
        <telefon>false</telefon>
      </kai>
      <kai>
        <nimetus>Kai nr 9</nimetus>
        <liik>statsionaarne kai</liik>
        <pikkusM>121.0</pikkusM>
        <sygavusM>4.7</sygavusM>
        <elekter>false</elekter>
        <joogivesi>false</joogivesi>
        <telefon>false</telefon>
      </kai>
    </kaid>
  </sadam>
</sadamaregister>

XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Sadamaregister"
    targetNamespace="http://sadamaregister.itcollege.ee/Sadamaregister.xsd"
    elementFormDefault="qualified"
    xmlns="http://sadamaregister.itcollege.ee/Sadamaregister.xsd"
    xmlns:mstns="http://sadamaregister.itcollege.ee/Sadamaregister.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
    <xs:element name="sadamaregister">
      <xs:complexType>
        <xs:sequence>
          <xs:element maxOccurs="unbounded" name="sadam">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="kood">
                  <xs:simpleType>
                    <xs:restriction base="xs:string">
                      <xs:pattern value="EE [A-Z][A-Z][A-Z]"/>
                    </xs:restriction>
                  </xs:simpleType>
                </xs:element>
                <xs:element name="nimi" type="xs:string" />
                <xs:element name="ylesanne" type="xs:string" />
                <xs:element name="navigatsiooniPeriood">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="alates" type="paevKuu" />
                      <xs:element name="kuni" type="paevKuu" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="registreeritud" type="xs:date" />
                <xs:element name="aadress" type="aadress" />
                <xs:element name="kontakt">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="koduleht" type="xs:string" />
                      <xs:element name="epost" type="xs:string" />
                      <xs:element name="telefon" type="xs:string" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="koordinaadid">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="pohjaliausB" type="koordinaat" />
                      <xs:element name="idapikkusL" type="koordinaat" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="veekoguLiik" type="xs:string" />
                <xs:element name="veekoguNimetus" type="xs:string" />
                <xs:element name="tehnilisedAndmed">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="veevoidukiKogumahutavus" type="xs:string" />
                      <xs:element name="sissesoiduteeVaikseimLaiusM" type="xs:decimal" />
                      <xs:element name="sissesoiduteeVaikseimSygavusM" type="xs:decimal" />
                      <xs:element name="veesoidukiSuurimSygavusM" type="xs:decimal" />
                      <xs:element name="veesoidukiSuurimLaiusM" type="xs:decimal" />
                      <xs:element name="veesoidukiSuurimPikkusM" type="xs:decimal" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="sadamapidaja" type="kontakt" />
                <xs:element name="sadamakapten" type="kontakt" />
                <xs:element name="sadamaMaaalaAndmed">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="katastriyksused">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="katastritunnus" type="xs:string" maxOccurs="unbounded" />
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="pindalaM2" type="xs:long" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="teenindatavadVeesoidukid">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="veesoiduk" type="veesoiduk" maxOccurs="unbounded" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="pohiteenused">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element maxOccurs="unbounded" name="teenus">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="nimetus" type="xs:string" />
                            <xs:element name="osutaja" type="kontakt" maxOccurs="unbounded" />
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="ehitised" minOccurs="0">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element maxOccurs="unbounded" name="ehitis">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="nimetus" type="xs:string" />
                            <xs:element name="liik" type="xs:string" />
                            <xs:element name="alamliik" type="xs:string" minOccurs="0" />
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
                <xs:element name="kaid" minOccurs="0">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element maxOccurs="unbounded" name="kai">
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="nimetus" type="xs:string" />
                            <xs:element name="liik" type="xs:string" />
                            <xs:element name="pikkusM" type="xs:decimal" />
                            <xs:element name="sygavusM" type="xs:decimal" />
                            <xs:element name="teenindatavadVeesoidukid" minOccurs="0">
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="tyyp" type="xs:string" />
                                </xs:sequence>
                              </xs:complexType>
                            </xs:element>
                            <xs:element name="elekter" type="xs:boolean" />
                            <xs:element name="joogivesi" type="xs:boolean" />
                            <xs:element name="telefon" type="xs:boolean" />
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="id" type="xs:int" use="required" />
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    <xs:complexType name="koordinaat">
      <xs:sequence>
        <xs:element name="tekst" type="xs:string" />
        <xs:element name="kraad" type="xs:int" />
        <xs:element name="minut" type="xs:int" />
        <xs:element name="sekund" type="xs:decimal" />
        <xs:element name="vaartus" type="xs:decimal" />
        <xs:element name="LEST97" type="xs:decimal" />
        <!-- http://www.maaamet.ee/rr/geo-lest/url/?xy=58.38685,24.4918694 -->
      </xs:sequence>
    </xs:complexType>
    <xs:complexType name="aadress">
      <xs:sequence>
        <xs:element name="maakond" type="xs:string" />
        <xs:element name="omavalitsus" type="xs:string" />
        <xs:element name="asustusyksus" type="xs:string" minOccurs="0" />
        <xs:element name="lahiaadress" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
    <xs:complexType name="paevKuu">
      <xs:sequence>
        <xs:element name="paev" type="xs:int" />
        <xs:element name="kuu" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
    <xs:complexType name="kontakt">
      <xs:sequence>
        <xs:element name="arinimiPerenimi" type="xs:string" />
        <xs:element name="eesnimi" type="xs:string" />
        <xs:element name="registikoodIsikukood" type="xs:long" />
        <xs:element name="aadress" type="aadress" minOccurs="0" />
        <xs:element name="telefon" type="xs:string" minOccurs="0" />
        <xs:element name="mobiil" type="xs:string" minOccurs="0" />
        <xs:element name="epost" type="xs:string" minOccurs="0" />
        <xs:element name="koduleht" type="xs:string" minOccurs="0" />
        <xs:element name="kontaktisik" type="xs:string" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  <xs:complexType name="veesoiduk">
    <xs:sequence>
      <xs:element name="liik" type="xs:string" />
      <xs:element name="piirangud" type="xs:string" />
      <xs:element name="staatus" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>

XSLT XML-2-HTML

<?xml version="1.0" encoding="utf-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
      xmlns:sdm="http://sadamaregister.itcollege.ee/Sadamaregister.xsd"
>
  <head>
    <style>
      h1 {margin-left: 1em;}
      h2 {margin-left: 2em;}
      h3 {margin-left: 3em;}
      table {margin-left: 5em;}
      body, h1, h2, h3, th, td {font-family: arial;}
      td.label {font-weight: bold; text-align: right; vertical-align: bottom;}
    </style>
  </head>
  <h1>Sadamaregister</h1>
  <ul>
  <xsl:for-each select="sdm:sadamaregister/sdm:sadam">
    <li>
      <a>
        <xsl:attribute name="href">
          #<xsl:value-of select="sdm:kood" />
        </xsl:attribute>
        <xsl:value-of select="sdm:nimi" />
      </a>
    </li>
  </xsl:for-each>
  </ul>
  <xsl:for-each select="sdm:sadamaregister/sdm:sadam">
    <hr />
    <h2>
      <a>
        <xsl:attribute name="name">
          <xsl:value-of select="sdm:kood" />
        </xsl:attribute>
        <xsl:value-of select="sdm:nimi" />
      </a>
    </h2>
    <h3>Põhiandmed</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Sadamakood:
          </td>
          <td>
            <xsl:value-of select="sdm:kood" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Sadama aadress:
          </td>
          <td>
            <xsl:value-of select="sdm:aadress/sdm:maakond" />,
            <xsl:value-of select="sdm:aadress/sdm:omavalitsus" />,
            <xsl:if test="sdm:aadress/sdm:asustusyksus">
              <xsl:value-of select="sdm:aadress/sdm:asustusyksus" />,
            </xsl:if>
            <xsl:value-of select="sdm:aadress/sdm:lahiaadress" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Sadama ülesanne:
          </td>
          <td>
            <xsl:value-of select="sdm:ylesanne" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Veekogu liik:
          </td>
          <td>
            <xsl:value-of select="sdm:veekoguLiik" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Veekogu nimetus:
          </td>
          <td>
            <xsl:value-of select="sdm:veekoguNimetus" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Navigatsiooniperiood:
          </td>
          <td>
            <xsl:value-of select="sdm:navigatsiooniPeriood/sdm:alates/sdm:paev" />.<xsl:value-of select="sdm:navigatsiooniPeriood/sdm:alates/sdm:kuu" />
            -
            <xsl:value-of select="sdm:navigatsiooniPeriood/sdm:kuni/sdm:paev" />.<xsl:value-of select="sdm:navigatsiooniPeriood/sdm:kuni/sdm:kuu" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Registreerimise aeg:
          </td>
          <td>
            <xsl:value-of select="sdm:registreeritud" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Koduleht:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                http://<xsl:value-of select="sdm:kontakt/sdm:koduleht" />
              </xsl:attribute>
              <xsl:attribute name="target">_blank</xsl:attribute>
              <xsl:attribute name="title">Ava link</xsl:attribute>
              <xsl:value-of select="sdm:kontakt/sdm:koduleht" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            e-post:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                mailto:<xsl:value-of select="sdm:kontakt/sdm:epost" />
              </xsl:attribute>
              <xsl:attribute name="title">Saada e-kiri</xsl:attribute>
              <xsl:value-of select="sdm:kontakt/sdm:epost" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            Telefon:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                tel:<xsl:value-of select="sdm:kontakt/sdm:telefon" />
              </xsl:attribute>
              <xsl:attribute name="title">Helista Skypega</xsl:attribute>
              <xsl:value-of select="sdm:kontakt/sdm:telefon" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            Sadama asukoht:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                http://www.bing.com/maps/?v=2&amp;cp=<xsl:value-of select="sdm:koordinaadid/sdm:pohjaliausB/sdm:vaartus" />~<xsl:value-of select="sdm:koordinaadid/sdm:idapikkusL/sdm:vaartus" />&amp;lvl=16
              </xsl:attribute>
              <xsl:attribute name="target">_blank</xsl:attribute>
              <xsl:attribute name="title">Vaata kaardil</xsl:attribute>
              <xsl:value-of select="sdm:koordinaadid/sdm:pohjaliausB/sdm:tekst" />
              ;
              <xsl:value-of select="sdm:koordinaadid/sdm:idapikkusL/sdm:tekst" />
            </a>
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Sadama tehnilised andmed</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Veesõiduki kogumahutavus:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veevoidukiKogumahutavus" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Veesõiduki suurim pikkus:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimPikkusM" /> m
          </td>
        </tr>
        <tr>
          <td class="label">
            Veesõiduki suurim laius:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimLaiusM" /> m
          </td>
        </tr>
        <tr>
          <td class="label">
            Veesõiduki suurim süvis:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimSygavusM" /> m
          </td>
        </tr>
        <tr>
          <td class="label">
            Sissesõidutee väikseim laius:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:sissesoiduteeVaikseimLaiusM" /> m
          </td>
        </tr>
        <tr>
          <td class="label">
            Sissesõidutee väikseim sügavus:
          </td>
          <td>
            <xsl:value-of select="sdm:tehnilisedAndmed/sdm:sissesoiduteeVaikseimSygavusM" /> m
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Sadamapidaja kontaktandmed</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Ärinimi / Perekonnanimi:
          </td>
          <td>
            <xsl:value-of select="sdm:sadamapidaja/sdm:arinimiPerenimi" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Eesnimi:
          </td>
          <td>
              <xsl:choose>
                <xsl:when test="string-length(sdm:sadamapidaja/sdm:eesnimi)>0">
                  <xsl:value-of select="sdm:sadamapidaja/sdm:eesnimi" />
                </xsl:when>
                <xsl:otherwise>
                  -
                </xsl:otherwise>
              </xsl:choose>
          </td>
        </tr>
        <tr>
          <td class="label">
            Registrikood / Isikukood:
          </td>
          <td>
            <xsl:value-of select="sdm:sadamapidaja/sdm:registikoodIsikukood" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Telefon:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                tel:<xsl:value-of select="sdm:sadamapidaja/sdm:telefon" />
              </xsl:attribute>
              <xsl:attribute name="title">Helista Skypega</xsl:attribute>
              <xsl:value-of select="sdm:sadamapidaja/sdm:telefon" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            e-post:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                mailto:<xsl:value-of select="sdm:sadamapidaja/sdm:epost" />
              </xsl:attribute>
              <xsl:attribute name="title">Saada e-kiri</xsl:attribute>
              <xsl:value-of select="sdm:sadamapidaja/sdm:epost" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            Koduleht:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                http://<xsl:value-of select="sdm:sadamapidaja/sdm:koduleht" />
              </xsl:attribute>
              <xsl:attribute name="target">_blank</xsl:attribute>
              <xsl:attribute name="title">Ava link</xsl:attribute>
              <xsl:value-of select="sdm:sadamapidaja/sdm:koduleht" />
            </a>
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Sadamakapteni andmed</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Perekonnanimi:
          </td>
          <td>
            <xsl:value-of select="sdm:sadamakapten/sdm:arinimiPerenimi" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Eesnimi:
          </td>
          <td>
            <xsl:choose>
              <xsl:when test="string-length(sdm:sadamakapten/sdm:eesnimi)>0">
                <xsl:value-of select="sdm:sadamakapten/sdm:eesnimi" />
              </xsl:when>
              <xsl:otherwise>
                -
              </xsl:otherwise>
            </xsl:choose>
          </td>
        </tr>
        <tr>
          <td class="label">
            Telefon:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                tel:<xsl:value-of select="sdm:sadamakapten/sdm:telefon" />
              </xsl:attribute>
              <xsl:attribute name="title">Helista Skypega</xsl:attribute>
              <xsl:value-of select="sdm:sadamakapten/sdm:telefon" />
            </a>
          </td>
        </tr>
        <tr>
          <td class="label">
            e-post:
          </td>
          <td>
            <a>
              <xsl:attribute name="href">
                mailto:<xsl:value-of select="sdm:sadamakapten/sdm:epost" />
              </xsl:attribute>
              <xsl:attribute name="title">Saada e-kiri</xsl:attribute>
              <xsl:value-of select="sdm:sadamakapten/sdm:epost" />
            </a>
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Sadama maa-ala andmed</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Tunnus:
          </td>
          <td>
            <xsl:value-of select="sdm:sadamaMaaalaAndmed/sdm:katastriyksused[1]/sdm:katastritunnus" />
          </td>
        </tr>
        <tr>
          <td class="label">
            Pindala:
          </td>
          <td>
            <xsl:value-of select="sdm:sadamaMaaalaAndmed/sdm:pindalaM2" /> m<sup>2</sup>
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Teenindatavad veesõidukid</h3>
    <table>
      <tbody>
        <tr>
          <td class="label">
            Veesõidukite liigid:
          </td>
          <td>
            <xsl:value-of select="sdm:teenindatavadVeesoidukid/sdm:veesoiduk[1]/sdm:liik" />
          </td>
        </tr>
      </tbody>
    </table>
    <br />
    <h3>Sadama põhiteenused ja teenuseosutajad</h3>
    <table>
      <thead>
        <tr>
          <th>
            Teenuse nimetus
          </th>
          <th>
            Teenuse osutaja andmed: nimi, registri kood, telefon, e-post, koduleht
          </th>
        </tr>
      </thead>
      <tbody>
        <xsl:for-each select="sdm:pohiteenused/sdm:teenus">
        <tr>
          <td>
            <xsl:value-of select="sdm:nimetus" />
          </td>
          <td>
            <xsl:value-of select="sdm:osutaja/sdm:arinimiPerenimi" />,
            <xsl:value-of select="sdm:osutaja/sdm:registikoodIsikukood" />,
            <xsl:value-of select="sdm:osutaja/sdm:telefon" />,
            <xsl:value-of select="sdm:osutaja/sdm:epost" />,
            <xsl:value-of select="sdm:osutaja/sdm:koduleht" />
          </td>
        </tr>
        </xsl:for-each>
      </tbody>
    </table>
    <xsl:if test="count(sdm:ehitised)>0">
      <br />
      <h3>Ehitised</h3>
      <table>
        <thead>
          <tr>
            <th>
              Nimetus
            </th>
            <th>
              Liik
            </th>
            <th>
              Alamliik
            </th>
          </tr>
        </thead>
        <tbody>
          <xsl:for-each select="sdm:ehitised/sdm:ehitis">
            <tr>
              <td>
                <xsl:value-of select="sdm:nimetus" />
              </td>
              <td>
                <xsl:value-of select="sdm:liik" />
              </td>
              <td>
                <xsl:value-of select="sdm:alamliik" />
              </td>
            </tr>
          </xsl:for-each>
        </tbody>
      </table>
    </xsl:if>
    <br />
    <xsl:if test="count(sdm:kaid)>0">
      <h3>Kaid</h3>
      <table>
        <thead>
          <tr>
            <th>
              Nimetus
            </th>
            <th>
              Liik
            </th>
            <th>
              Pikkus (m)
            </th>
            <th>
              Sügavus (m)
            </th>
            <th>
              Elekter
            </th>
            <th>
              Joogivesi
            </th>
            <th>
              Telefon
            </th>
          </tr>
        </thead>
        <tbody>
          <xsl:for-each select="sdm:kaid/sdm:kai">
            <tr>
              <td>
                <xsl:value-of select="sdm:nimetus" />
              </td>
              <td>
                <xsl:value-of select="sdm:liik" />
              </td>
              <td>
                <xsl:value-of select="sdm:pikkusM" />
              </td>
              <td>
                <xsl:value-of select="sdm:sygavusM" />
              </td>
              <td>
                <xsl:choose>
                  <xsl:when test="sdm:elekter='1' or sdm:elekter='true' or sdm:elekter='T'">
                    jah
                  </xsl:when>
                  <xsl:otherwise>
                    ei
                  </xsl:otherwise>
                </xsl:choose>
              </td>
              <td>
                <xsl:choose>
                  <xsl:when test="sdm:joogivesi='1' or sdm:joogivesi='true' or sdm:joogivesi='T'">
                    jah
                  </xsl:when>
                  <xsl:otherwise>
                    ei
                  </xsl:otherwise>
                </xsl:choose>
              </td>
              <td>
                <xsl:choose>
                  <xsl:when test="sdm:telefon='1' or sdm:telefon='true' or sdm:telefon='T'">
                    jah
                  </xsl:when>
                  <xsl:otherwise>
                    ei
                  </xsl:otherwise>
                </xsl:choose>
              </td>
            </tr>
          </xsl:for-each>
        </tbody>
      </table>
    </xsl:if>
  </xsl:for-each>
  <br />
  <br />
  <hr />
  </html>

XSLT XML-2-XML

<?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="xml" indent="yes"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

XSLT XML-2-JSON

<?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"
    xmlns:sdm="http://sadamaregister.itcollege.ee/Sadamaregister.xsd"
>
    <xsl:output method="text" indent="yes"/>

    <xsl:template match="sdm:sadamaregister">{"sadamad": [<xsl:apply-templates />]}</xsl:template>

  <xsl:template match="sdm:sadam">{
    "id": <xsl:value-of select="@id" />,
    "nimi": "<xsl:value-of select="sdm:nimi" />",
    "kood": "<xsl:value-of select="sdm:kood" />",
    "ylesanne": "<xsl:value-of select="sdm:ylesanne" />",
    "navigatsiooniperiood": "<xsl:value-of select="sdm:navigatsiooniPeriood/sdm:alates/sdm:paev" />.<xsl:value-of select="sdm:navigatsiooniPeriood/sdm:alates/sdm:kuu" /> - <xsl:value-of select="sdm:navigatsiooniPeriood/sdm:kuni/sdm:paev" />.<xsl:value-of select="sdm:navigatsiooniPeriood/sdm:kuni/sdm:kuu" />",
    "registreeritud": "<xsl:value-of select="sdm:registreeritud" />",
    "aadress": "<xsl:call-template name="aadress" />",
    "koduleht": "<xsl:value-of select="sdm:kontakt/sdm:koduleht" />",
    "epost": "<xsl:value-of select="sdm:kontakt/sdm:epost" />",
    "telefon": "<xsl:value-of select="sdm:kontakt/sdm:telefon" />",
    "pohjaliaus": <xsl:value-of select="sdm:koordinaadid/sdm:pohjaliausB/sdm:vaartus" />,
    "idapikkus": <xsl:value-of select="sdm:koordinaadid/sdm:idapikkusL/sdm:vaartus" />,
    "veekoguLiik": "<xsl:value-of select="sdm:veekoguLiik" />",
    "veekoguNimetus": "<xsl:value-of select="sdm:veekoguNimetus" />",
    "veevoidukiKogumahutavus": "<xsl:value-of select="sdm:tehnilisedAndmed/sdm:veevoidukiKogumahutavus" />",
    "sissesoiduteeVaikseimLaiusM": <xsl:value-of select="sdm:tehnilisedAndmed/sdm:sissesoiduteeVaikseimLaiusM" />,
    "sissesoiduteeVaikseimSygavusM": <xsl:value-of select="sdm:tehnilisedAndmed/sdm:sissesoiduteeVaikseimSygavusM" />,
    "veesoidukiSuurimSygavusM": <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimSygavusM" />,
    "veesoidukiSuurimLaiusM": <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimLaiusM" />,
    "veesoidukiSuurimPikkusM": <xsl:value-of select="sdm:tehnilisedAndmed/sdm:veesoidukiSuurimPikkusM" />,
    "sadamapidaja":
    {
      <xsl:apply-templates select="sdm:sadamapidaja" />
    },
    "sadamakapten":
    {
      <xsl:apply-templates select="sdm:sadamakapten" />
    },
    "maaAlaPindalaM2": <xsl:value-of select="sdm:sadamaMaaalaAndmed/sdm:pindalaM2" />,
    "katastritunnused":
    [
      <xsl:apply-templates select="sdm:sadamaMaaalaAndmed" />
    ],
    "veesoidukid":
    [<xsl:for-each select="sdm:teenindatavadVeesoidukid/sdm:veesoiduk">
      {
        "liik": "<xsl:value-of select="sdm:liik" />",
        "piirangud": "<xsl:value-of select="sdm:piirangud" />",
        "staatus": "<xsl:value-of select="sdm:staatus" />"
      }<xsl:if test="following-sibling::sdm:veesoiduk">,</xsl:if>
    </xsl:for-each>
    ],
    "pohiteenused":
    [<xsl:for-each select="sdm:pohiteenused/sdm:teenus">
      {
        "nimetus": "<xsl:value-of select="sdm:nimetus" />",
        "osutajad":
        [<xsl:for-each select="sdm:osutaja">
          {
            <xsl:call-template name="isik" />
          }<xsl:if test="following-sibling::sdm:osutaja">,</xsl:if>
        </xsl:for-each>
        ]
      }<xsl:if test="following-sibling::sdm:teenus">,</xsl:if>
    </xsl:for-each>
    ],
    "ehitised":
    [<xsl:for-each select="sdm:ehitised/sdm:ehitis">
      {
        "nimetus": "<xsl:value-of select="sdm:nimetus" />",
        "liik": "<xsl:value-of select="sdm:liik" />",
        "alamliik": "<xsl:value-of select="sdm:alamliik" />"
      }<xsl:if test="following-sibling::sdm:ehitis">,</xsl:if>
    </xsl:for-each>
    ],
    "kaid":
    [<xsl:for-each select="sdm:kaid/sdm:kai">
      {
        "nimetus": "<xsl:value-of select="sdm:nimetus" />",
        "liik": "<xsl:value-of select="sdm:liik" />",
        "pikkusM": <xsl:value-of select="sdm:pikkusM" />,
        "sygavusM": <xsl:value-of select="sdm:sygavusM" />,
        "elekter": <xsl:value-of select="sdm:elekter" />,
        "joogivesi": <xsl:value-of select="sdm:joogivesi" />,
        "telefon": <xsl:value-of select="sdm:telefon" />
      }<xsl:if test="following-sibling::sdm:kai">,</xsl:if>
    </xsl:for-each>
    ]
  }<xsl:if test="following-sibling::sdm:sadam">,</xsl:if></xsl:template>

  <xsl:template match="sdm:sadamapidaja">
    <xsl:call-template name="isik" />
  </xsl:template>

  <xsl:template match="sdm:sadamakapten">
    <xsl:call-template name="isik" />
  </xsl:template>

  <xsl:template match="sdm:sadamaMaaalaAndmed">
    <xsl:for-each select="sdm:katastriyksused/sdm:katastritunnus">"<xsl:value-of select="node()" />"<xsl:if test="following-sibling::sdm:katastritunnus">,
      </xsl:if>
  </xsl:for-each>
  </xsl:template>

  <xsl:template name="isik">"arinimiPerenimi": "<xsl:value-of select="sdm:arinimiPerenimi" />",
      "eesnimi": "<xsl:value-of select="sdm:eesnimi" />",
      "registikoodIsikukood": "<xsl:value-of select="sdm:registikoodIsikukood" />",
      "aadress": "<xsl:call-template name="aadress" />",
      "telefon": "<xsl:value-of select="sdm:telefon" />",
      "mobiil": "<xsl:value-of select="sdm:mobiil" />",
      "epost": "<xsl:value-of select="sdm:epost" />",
      "koduleht": "<xsl:value-of select="sdm:koduleht" />",
      "kontaktisik": "<xsl:value-of select="sdm:kontaktisik" />"</xsl:template>
   
  <xsl:template name="aadress">
    <xsl:value-of select="sdm:aadress/sdm:maakond" /><xsl:if test="sdm:aadress/sdm:omavalitsus">, </xsl:if><xsl:value-of select="sdm:aadress/sdm:omavalitsus" /><xsl:if test="sdm:aadress/sdm:asustusyksus">, </xsl:if>
    <xsl:value-of select="sdm:aadress/sdm:asustusyksus"/>
    <xsl:if test="sdm:aadress/sdm:lahiaadress">, </xsl:if><xsl:value-of select="sdm:aadress/sdm:lahiaadress" />
  </xsl:template>
  
</xsl:stylesheet>

Logi

01.04.2014

  • Parandatud xslt HTML - wiki source: &amp; aga välja paistab &

27.03.2014

  • Parendatud xslt json (string->number)
  • Täiendatud xsd (osutaja unbounded)

24.03.2014

  • Lisatud xslt json

18.03.2014

  • Wiki leht loodud
  • Lisatud xml, xsd ja xslt