Meeskond "asdasdasd"

From ICO wiki
Revision as of 22:14, 22 March 2013 by Kkadalip (talk | contribs) (Esimene)

LIIKMED

  • Karl Kadalipp
  • Robert Pärn

Kodutöö XML osa

Teemaks valisime relvakataloogi/e-poe, kus hoitakse informatsiooni erinevate käsituli- ja külmrelvade kohta.

XML Fail

.................................

<?xml version="1.0" encoding="utf-8" ?>
<!--https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#XML_andmefail-->
<!--XML andmefail
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks,
selle XML faili skeemifail ning paar kolm sobivat XSL faili
loodud XML failis olevate andmete transformeerimiseks HTML formaati ja
XML faili formaadi muutmiseks.
XML-il peab olema vähemalt 4 loogilist dimensiooni.-->
<!--Lisaks tuleb kasutada 3-el dimensioonil attribuute,
mis one enamat, kui lihtsalt ID.-->
<!DOCTYPE relvad SYSTEM "Relvad.dtd">
<relvad>
  <käsitulirelvad>
    <püstolid>
      <püstol Id="1" laskmisrežiimid="safe-semi" päästikutüüp="kahetoimeline/ühetoimeline" rauatüüp="vintraudne">
        <mudel>P226</mudel>
        <päritolu-maad>
          <päritolu-maa>Saksamaa</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>SIG-Sauer</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>9x19</väärtus>
            <tüüp>mm Luger</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.357</väärtus>
            <tüüp>SIG</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.40</väärtus>
            <tüüp>SW</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>196</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>112</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <tüüp>alumiiniumist raamiga</tüüp>
            <kaliibritüüp>
              <väärtus>9</väärtus>
              <ühik>mm</ühik>
            </kaliibritüüp>
            <väärtus>870</väärtus>
            <ühik>g</ühik>
          </tühikaal>
          <tühikaal>
            <tüüp>alumiiniumist raamiga</tüüp>
            <kaliibritüüp>
              <väärtus>.40</väärtus>
            </kaliibritüüp>
            <kaliibritüüp>
              <väärtus>.357</väärtus>
            </kaliibritüüp>
            <väärtus>920</väärtus>
            <ühik>g</ühik>
          </tühikaal>
          <tühikaal>
            <tüüp>roostevabast terasest raamiga</tüüp>
            <väärtus>1180</väärtus>
            <ühik>g</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <kaliibritüüp>
              <väärtus>9</väärtus>
              <ühik>mm</ühik>
            </kaliibritüüp>
            <mahutavus>
              <väärtus>15</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
          <salv>
            <kaliibritüüp>
              <väärtus>.40</väärtus>
              <ühik>mm</ühik>
            </kaliibritüüp>
            <mahutavus>
              <väärtus>12</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
          <salv>
            <kaliibritüüp>
              <väärtus>.357</väärtus>
              <ühik>mm</ühik>
            </kaliibritüüp>
            <mahutavus>
              <väärtus>12</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
        </salved>
      </püstol>
      <püstol Id="2" laskmisrežiimid="safe-semi" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M1911</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Colt</tootja>
          <tootja>Springfield Armory</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>.45</väärtus>
            <tüüp>ACP</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>210</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <tüüp>Government</tüüp>
            <väärtus>127</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <tüüp>Commander</tüüp>
            <väärtus>108</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <tüüp>Officer's ACP</tüüp>
            <väärtus>89</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <tüüp>tühi koos salvega</tüüp>
            <väärtus>1105</väärtus>
            <ühik>g</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>7</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>standartne eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </püstol>
      <püstol Id="3" laskmisrežiimid="safe-semi" päästikutüüp="kahetoimeline/ühetoimeline" rauatüüp="vintraudne">
        <mudel>Beretta M9</mudel>
        <päritolu-maad>
          <päritolu-maa>Itaalia</päritolu-maa>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Fabbrica d'Armi Pietro Beretta</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>9x19</väärtus>
            <tüüp>mm Parabellum</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>217</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>125</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>952</väärtus>
            <ühik>g</ühik>
          </tühikaal>
          <täiskaal>
            <väärtus>1162</väärtus>
            <ühik>g</ühik>
          </täiskaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>15</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </püstol>
    </püstolid>
    <revolvrid>
      <revolver Id="1" laskmisrežiimid="safe-semi" päästikutüüp="kahetoimeline" rauatüüp="vintraudne">
        <mudel>Python</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Colt Defense</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>.357</väärtus>
            <tüüp>Magnum</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <vintrauatüüp>
              <väärtus>4</väärtus>
              <ühik>toll</ühik>
            </vintrauatüüp>
            <väärtus>240</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>64</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <väärtus>102</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <väärtus>153</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <väärtus>203</väärtus>
            <ühik>mm</ühik>
          </rauapikkus> 
        </pikkused>
        <kaalud>
          <tühikaal>
            <vintrauatüüp>
              <väärtus>4</väärtus>
              <ühik>toll</ühik>
            </vintrauatüüp>
            <väärtus>1100</väärtus>
            <ühik>g</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>6</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
        </salved>
      </revolver>
      <revolver Id="2" laskmisrežiimid="safe-semi" päästikutüüp="kahetoimeline" rauatüüp="vintraudne">
        <mudel>M1895 Nagant</mudel>
        <päritolu-maad>
          <päritolu-maa>Belgia-Venemaa</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Tula & Izhevsk</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62</väärtus>
            <tüüp>mm Nagant</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>230</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>114</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>750</väärtus>
            <ühik>g</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>7</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </revolver>
      <revolver Id="3" laskmisrežiimid="safe-semi" päästikutüüp="kahetoimeline" rauatüüp="vintraudne">
        <mudel>AAI Quiet Special Purpose Revolver</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Smith & Wesson</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>.40</väärtus>
            <tüüp>smoothbore</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>170</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>35</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>6</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </revolver>
    </revolvrid>
    <automaadid>
      <automaat Id="1" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M16A4</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Colt Defense</tootja>
          <tootja>Daewoo Precision Industries</tootja>
          <tootja>FN Herstal</tootja>
          <tootja>H&R Firearms</tootja>
          <tootja>General Motors Hydramatic Division</tootja>
          <tootja>Elisco</tootja>
          <tootja>U.S. Ordnance</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>5.56x45</väärtus>
            <tüüp>mm</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1000</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>508</väärtus>
            <ühik>mm NATO</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3.26</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
          <täiskaal>
            <väärtus>4.0</väärtus>
            <ühik>kg</ühik>
          </täiskaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>96</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>335</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>117</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>483</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>100</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>1000</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>2190</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>Beta-C kaheosaline trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
        <lasketihedused>
          <lasketihedus>
            <väärtus>12-15</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>stabiilne</tüüp>
          </lasketihedus>
          <lasketihedus>
            <väärtus>45-60</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>üksilaskudega</tüüp>
          </lasketihedus>
          <lasketihedus>
            <väärtus>700-950</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tsükliline</tüüp>
          </lasketihedus>
        </lasketihedused>
        <laskekaugused>
          <laskekaugus>
            <väärtus>550</väärtus>
            <ühik>m</ühik>
            <tüüp>punkt sihtmärk</tüüp>
          </laskekaugus>
          <laskekaugus>
            <väärtus>800</väärtus>
            <ühik>m</ühik>
            <tüüp>ala sihtmärk</tüüp>
          </laskekaugus>
        </laskekaugused>
      </automaat>
      <automaat Id="2" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>Galil AR (5.56)</mudel>
        <päritolu-maad>
          <päritolu-maa>Iisrael</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Israel Military Industries (IMI)</tootja>
          <tootja>Bernardelli tehas</tootja>
          <tootja>Indumil tehas</tootja>
          <tootja>Ka Pa Sa State tehased</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>5.56x45</väärtus>
            <tüüp>mm</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <tüüp>lahtise kabaga</tüüp>
            <väärtus>979</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kinnipandud kabaga</tüüp>
            <väärtus>742</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>460</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3.95</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>35</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>50</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>65</väärtus>
              <ühik>padrunit</ühik>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>117</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>483</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>100</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>1000</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>2190</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>Beta-C kaheosaline trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
        <lasketihedused>
          <lasketihedus>
            <väärtus>630-750</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tsükliline</tüüp>
          </lasketihedus>
        </lasketihedused>
        <laskekaugused>
          <laskekaugus>
            <väärtus>300-500</väärtus>
            <ühik>m</ühik>
            <tüüp>punkt sihtmärk</tüüp>
          </laskekaugus>
        </laskekaugused>
      </automaat>
      <automaat Id="3" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>G3A3</mudel>
        <päritolu-maad>
          <päritolu-maa>Saksamaa</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Heckler & Koch</tootja>
          <tootja>Rheinmetall</tootja>
          <tootja>SEDENA</tootja>
          <tootja>Defense Industries Organization</tootja>
          <tootja>FBP</tootja>
          <tootja>Carl Gustafs Stads Gevärsfabrik</tootja>
          <tootja>Husqvarna Vapenfabrik</tootja>
          <tootja>Kongsberg Våpenfabrikk</tootja>
          <tootja>MAS</tootja>
          <tootja>Military Industry Corporation</tootja>
          <tootja>MKEK</tootja>
          <tootja>Pakistan Ordnance Factories</tootja>
          <tootja>Royal Ordnance</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62x51</väärtus>
            <tüüp>mm NATO</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1025</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>450</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>4.1</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>50</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
        <lasketihedused>
          <lasketihedus>
            <väärtus>500-600</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tsükliline</tüüp>
          </lasketihedus>
        </lasketihedused>
        <laskekaugused>
          <laskekaugus>
            <väärtus>500</väärtus>
            <ühik>m</ühik>
          </laskekaugus>
        </laskekaugused>
      </automaat>
    </automaadid>
    <püstolkuulipildujad>
      <püstolkuulipilduja Id="1" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>MP5A4</mudel>
        <päritolu-maad>
          <päritolu-maa>Saksamaa</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>H&K</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>9</väärtus>
            <tüüp>mm</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>680</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>225</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>2.9</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>15</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>0.12</väärtus>
                <ühik>kg</ühik>
              </tühikaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>0.17</väärtus>
                <ühik>kg</ühik>
              </tühikaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </püstolkuulipilduja>
      <püstolkuulipilduja Id="2" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>Uzi</mudel>
        <päritolu-maad>
          <päritolu-maa>Iisrael</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Israel Military Industries (IMI)</tootja>
          <tootja>FN Herstal</tootja>
          <tootja>Norinco</tootja>
          <tootja>Lyttleton Engineering Works (Vektor Arms-i all)</tootja>
          <tootja>RH-ALAN</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>9x19</väärtus>
            <tüüp>mm Parabellum</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.22</väärtus>
            <tüüp>LR</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.45</väärtus>
            <tüüp>ACP</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.41</väärtus>
            <tüüp>AE</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <tüüp>avatud kabaga</tüüp>
            <väärtus>640</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kinnise kabaga</tüüp>
            <väärtus>470</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>260</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3.5</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
      </püstolkuulipilduja>
      <püstolkuulipilduja Id="3" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>MAC-10</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Military Armament Corporation</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>9</väärtus>
            <tüüp>mm</tüüp>
          </kaliiber>
          <kaliiber>
            <väärtus>.45</väärtus>
            <tüüp>mm</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <tüüp>eemaldatud kabaga</tüüp>
            <väärtus>269</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kokkupandud kabaga</tüüp>
            <väärtus>295</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>lahtitehtud kabaga</tüüp>
            <väärtus>548</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kokkupandud kaba ja helikompensaatoriga</tüüp>
            <väärtus>545</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>lahtitehtud kaba ja helikompensaatoriga</tüüp>
            <väärtus>798</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>146</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <tüüp>ilma helikompensaatorita</tüüp>
            <väärtus>2.84</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <kaliiber>
                <väärtus>.45</väärtus>
                <tüüp>ACP</tüüp>
              </kaliiber>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <kaliiber>
                <väärtus>9</väärtus>
                <ühik>mm</ühik>
              </kaliiber>
              <väärtus>32</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </püstolkuulipilduja>  
  </püstolkuulipildujad>
    <pumppüssid>
      <pumppüss Id="1" laskmisrežiimid="safe-pump" päästikutüüp="ühetoimeline" rauatüüp="sileraudne">
        <mudel>870</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Remington</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>12</väärtus>
            <tüüp>cal</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>sõltub mudelist</väärtus>
          </täispikkus>
          <rauapikkus>
            <väärtus>355</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <väärtus>457</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3-3.5</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>7-8</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>sisse-ehitatud</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </pumppüss>
      <pumppüss Id="2" laskmisrežiimid="safe-pump" päästikutüüp="ühetoimeline" rauatüüp="sileraudne">
        <mudel>M3T</mudel>
        <päritolu-maad>
          <päritolu-maa>Itaalia</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Benelli</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>12</väärtus>
            <tüüp>cal</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <tüüp>lahtise kabaga</tüüp>
            <väärtus>1035</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kokkupandud-kabaga</tüüp>
            <väärtus>780</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>355</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
          <rauapikkus>
            <väärtus>457</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3-3.5</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>7-8</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>sisse-ehitatud</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </pumppüss>
      <pumppüss Id="3" laskmisrežiimid="safe-semi" päästikutüüp="ühetoimeline" rauatüüp="sileraudne">
        <mudel>Saiga-12</mudel>
        <päritolu-maad>
          <päritolu-maa>Venemaa</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Izhmash</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>12</väärtus>
            <tüüp>cal</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1145</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>580</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>3.6</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>2</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>5</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>8</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>10</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>12</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav trummel</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav trummel</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>hülssi</ühik>
              <tüüp>eemaldatav trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </pumppüss>
    </pumppüssid>
    <kuulipildujad>
      <kuulipilduja Id="1" laskmisrežiimid="safe-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M249</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
          <päritolu-maa>Belgia</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Fabrique Nationale de Herstal</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>5.56x45</väärtus>
            <tüüp>mm NATO</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1035</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>465</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>7.5</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
          <täiskaal>
            <väärtus>10</väärtus>
            <ühik>kg</ühik>
          </täiskaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>ükspuha, kui palju</väärtus>
              <tüüp>lagunev lint (M27)</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>96</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>335</väärtus>
                <ühik>g</ühik>              
              </täiskaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>117</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>483</väärtus>
                <ühik>g</ühik>
                </täiskaal>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>100</väärtus>
              <ühik>padrunit</ühik>
              <tühikaal>
                <väärtus>1000</väärtus>
                <ühik>g</ühik>
              </tühikaal>
              <täiskaal>
                <väärtus>2190</väärtus>
                <ühik>g</ühik>
              </täiskaal>
              <tüüp>Beta-C kaheosaline trummel</tüüp>
            </mahutavus>
          </salv>
        </salved>
        <lasketihedused>
          <lasketihedus>
            <väärtus>50</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>stabiilne</tüüp>
          </lasketihedus>
          <lasketihedus>
            <väärtus>100</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tihe</tüüp>
          </lasketihedus>
          <lasketihedus>
            <väärtus>775</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tsükliline</tüüp>
          </lasketihedus>
        </lasketihedused>
        <laskekaugused>
          <laskekaugus>
            <väärtus>800</väärtus>
            <ühik>m</ühik>
            <tüüp>punkt sihtmärk</tüüp>
          </laskekaugus>
          <laskekaugus>
            <väärtus>3600</väärtus>
            <ühik>m</ühik>
            <tüüp>maksimaalne</tüüp>
          </laskekaugus>
        </laskekaugused>
      </kuulipilduja>
      <kuulipilduja Id="2" laskmisrežiimid="safe-semi-auto" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>RPK</mudel>
        <päritolu-maad>
          <päritolu-maa>Nõukogude Liit</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Vyatskie Polyany tehas</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62×39</väärtus>
            <tüüp>mm M43</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1040</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>590</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>4.8</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>kaardus karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>30</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>kaardus karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>40</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>kaardus karp</tüüp>
            </mahutavus>
          </salv>          
          <salv>
            <mahutavus>
              <väärtus>100</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>trummel</tüüp>
            </mahutavus>
          </salv>        
        </salved>
        <lasketihedused>
          <lasketihedus>
            <väärtus>600</väärtus>
            <ühik>padrunit/minutis</ühik>
            <tüüp>tsükliline</tüüp>
          </lasketihedus>
        </lasketihedused>
        <laskekaugused>
          <laskekaugus>
            <väärtus>100-1000</väärtus>
            <ühik>m</ühik>
            <tüüp>sihikuline</tüüp>
          </laskekaugus>
        </laskekaugused>
      </kuulipilduja>
    </kuulipildujad>
    <täpsuspüssid>
      <täpsuspüss Id="1" laskmisrežiimid="safe-bolt" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M40A3</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>United States Marine Corps</tootja>
          <tootja>Remington</tootja>
          <tootja>U.S. Ordnance</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62x51</väärtus>
            <tüüp>mm NATO</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>1124</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>610</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>7.5</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>5</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>sisse-ehitatud karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </täpsuspüss>
      <täpsuspüss Id="2" laskmisrežiimid="safe-semi" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M14EBR Mod 0</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Naval Surface Warfare Center</tootja>
          <tootja>Crane Division</tootja>
          <tootja>Smith Enterprises</tootja>
          <tootja>CheyTac Firearms(US)</tootja>
          <tootja>Colt Defense Systems (jupid)</tootja>
          <tootja>Sage International (kaba)</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62x51</väärtus>
            <tüüp>mm NATO</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <väärtus>889</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>457</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <tühikaal>
            <väärtus>5.1</väärtus>
            <ühik>kg</ühik>
          </tühikaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>10</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </täpsuspüss>
      <täpsuspüss Id="3" laskmisrežiimid="safe-semi" päästikutüüp="ühetoimeline" rauatüüp="vintraudne">
        <mudel>M110</mudel>
        <päritolu-maad>
          <päritolu-maa>USA</päritolu-maa>
        </päritolu-maad>
        <tootjad>
          <tootja>Knight's Armament Company</tootja>
        </tootjad>
        <kaliibrid>
          <kaliiber>
            <väärtus>7.62x51</väärtus>
            <tüüp>mm NATO</tüüp>
          </kaliiber>
        </kaliibrid>
        <pikkused>
          <täispikkus>
            <tüüp>kaba täiesti väljatõmmatud</tüüp>
            <väärtus>1029</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <täispikkus>
            <tüüp>kaba täiesti kokkulükatud</tüüp>
            <väärtus>1181</väärtus>
            <ühik>mm</ühik>
          </täispikkus>
          <rauapikkus>
            <väärtus>508</väärtus>
            <ühik>mm</ühik>
          </rauapikkus>
        </pikkused>
        <kaalud>
          <täiskaal>
            <tüüp>koos optika, harkjala ja laetud 20-se karpsalvega</tüüp>
            <väärtus>6.94</väärtus>
            <ühik>kg</ühik>
          </täiskaal>
        </kaalud>
        <salved>
          <salv>
            <mahutavus>
              <väärtus>10</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
          <salv>
            <mahutavus>
              <väärtus>20</väärtus>
              <ühik>padrunit</ühik>
              <tüüp>karp</tüüp>
            </mahutavus>
          </salv>
        </salved>
      </täpsuspüss>
    </täpsuspüssid>
  </käsitulirelvad>
  <külmrelvad>
    <löögirelvad>
      <löögirelv Id="1">
        <nimetus>kumminui</nimetus>
        <tootja>Hiina RV</tootja>
      </löögirelv>
      <löögirelv Id="2">
        <nimetus>kettnui</nimetus>
      </löögirelv>
      <löögirelv Id="3">
        <nimetus>teraspiits</nimetus>
        <tootja>Eesti</tootja>
      </löögirelv>
      <löögirelv Id="4">
        <nimetus>kasteet</nimetus>
      </löögirelv>
    </löögirelvad>
    <torkerelvad>
      <torkerelv Id="1">
        <nimetus>pistoda</nimetus>
      </torkerelv>
      <torkerelv Id="2">
        <nimetus>torketääk</nimetus>
      </torkerelv>
      <torkerelv Id="3">
        <nimetus>stilett</nimetus>
      </torkerelv>
    </torkerelvad>
    <torke-lõikerelvad>
      <torke-lõikerelv Id="1">
        <nimetus>jahinuga</nimetus>
      </torke-lõikerelv>
      <torke-lõikerelv Id="2">
        <nimetus>jahipuss</nimetus>
      </torke-lõikerelv>
      <torke-lõikerelv Id="3">
        <nimetus>allveenuga</nimetus>
      </torke-lõikerelv>
      <torke-lõikerelv Id="4">
        <nimetus>tääknuga</nimetus>
      </torke-lõikerelv>
    </torke-lõikerelvad>
    <torke-raierelvad>
      <torke-raierelv Id="1">
        <nimetus>mõõk</nimetus>
      </torke-raierelv>
      <torke-raierelv Id="2">
        <nimetus>valgusmõõk</nimetus>
      </torke-raierelv>
    </torke-raierelvad>
  </külmrelvad>
</relvad>

XML DTD

.................................

<!-- + * ? tähistavad esinevust failis:
The + sign in the example above declares that the child element must occur one or more times inside the element.
The * sign in the example above declares that the child element can occur zero or more times inside the element.
The ? sign in the example above declares that the child element can occur zero or one time inside the element.
-->
<!ELEMENT relvad (käsitulirelvad*, külmrelvad*)>
  <!ELEMENT käsitulirelvad (püstolid*, revolvrid*, automaadid*, püstolkuulipildujad*, pumppüssid*, kuulipildujad*,täpsuspüssid*)>
    <!ELEMENT püstolid (püstol*)>
      <!ELEMENT püstol (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?)>
        <!ELEMENT mudel (#PCDATA)>
        <!ELEMENT päritolu-maad (päritolu-maa*)>
          <!ELEMENT päritolu-maa (#PCDATA)>
        <!ELEMENT tootjad (tootja*)>
        <!ELEMENT kaliibrid (kaliiber*)>
          <!ELEMENT kaliiber (väärtus?, ühik?, tüüp?)>
        <!ELEMENT pikkused (täispikkus*, rauapikkus*)>
          <!ELEMENT täispikkus (vintrauatüüp?, tüüp?, väärtus?, ühik?)>
          <!ELEMENT rauapikkus (tüüp?, väärtus?, ühik?)>
        <!ELEMENT kaalud (tühikaal*, täiskaal*)>
          <!ELEMENT tühikaal (tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)>
          <!ELEMENT täiskaal (tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)>
        <!ELEMENT salved (salv*)>
          <!ELEMENT salv (kaliibritüüp*, mahutavus?)>
          <!ELEMENT kaliibritüüp (väärtus?, ühik?)>
        <!ELEMENT mahutavus (kaliiber?, väärtus?, ühik?, tühikaal?, täiskaal?, tüüp?)>
        <!ELEMENT lasketihedused (lasketihedus*)>
          <!ELEMENT lasketihedus (väärtus?, ühik?, tüüp?)>
        <!ELEMENT laskekaugused (laskekaugus*)>
          <!ELEMENT laskekaugus (väärtus?, ühik?, tüüp?)>
        <!ELEMENT vintrauatüüp (väärtus, ühik)>
    <!ELEMENT revolvrid (revolver*)>
      <!ELEMENT revolver (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?)>    
    <!ELEMENT automaadid (automaat*)>
      <!ELEMENT automaat (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?, lasketihedused?, laskekaugused?)>    
    <!ELEMENT püstolkuulipildujad (püstolkuulipilduja*)>
      <!ELEMENT püstolkuulipilduja (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?)>
    <!ELEMENT pumppüssid (pumppüss*)>
      <!ELEMENT pumppüss (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?)>
    <!ELEMENT kuulipildujad (kuulipilduja*)>
      <!ELEMENT kuulipilduja (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?, lasketihedused?, laskekaugused?)>
    <!ELEMENT täpsuspüssid (täpsuspüss*)>
      <!ELEMENT täpsuspüss (mudel?, päritolu-maad?, tootjad?, kaliibrid?, pikkused?, kaalud?, salved?)>
  <!ELEMENT külmrelvad (löögirelvad*, torkerelvad*, torke-lõikerelvad*, torke-raierelvad*)>
    <!ELEMENT löögirelvad (löögirelv*)>
      <!ELEMENT löögirelv (nimetus?, tootja?)>
        <!ELEMENT nimetus (#PCDATA)>
        <!ELEMENT tootja (#PCDATA)>
    <!ELEMENT torkerelvad (torkerelv*)>
      <!ELEMENT torkerelv (nimetus?)>
    <!ELEMENT torke-lõikerelvad (torke-lõikerelv*)>
      <!ELEMENT torke-lõikerelv (nimetus?)>
    <!ELEMENT torke-raierelvad (torke-raierelv*)>
      <!ELEMENT torke-raierelv (nimetus?)>

<!ELEMENT väärtus (#PCDATA)>
<!ELEMENT ühik (#PCDATA)>
<!ELEMENT tüüp (#PCDATA)>

<!ATTLIST püstol Id CDATA #REQUIRED>
<!ATTLIST püstol laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST püstol päästikutüüp CDATA #IMPLIED>
<!ATTLIST püstol rauatüüp CDATA #IMPLIED>

<!ATTLIST revolver Id CDATA #REQUIRED>
<!ATTLIST revolver laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST revolver päästikutüüp CDATA #IMPLIED>
<!ATTLIST revolver rauatüüp CDATA #IMPLIED>

<!ATTLIST automaat Id CDATA #REQUIRED>
<!ATTLIST automaat laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST automaat päästikutüüp CDATA #IMPLIED>
<!ATTLIST automaat rauatüüp CDATA #IMPLIED>

<!ATTLIST püstolkuulipilduja Id CDATA #REQUIRED>
<!ATTLIST püstolkuulipilduja laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST püstolkuulipilduja päästikutüüp CDATA #IMPLIED>
<!ATTLIST püstolkuulipilduja rauatüüp CDATA #IMPLIED>

<!ATTLIST pumppüss Id CDATA #REQUIRED>
<!ATTLIST pumppüss laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST pumppüss päästikutüüp CDATA #IMPLIED>
<!ATTLIST pumppüss rauatüüp CDATA #IMPLIED>

<!ATTLIST kuulipilduja Id CDATA #REQUIRED>
<!ATTLIST kuulipilduja laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST kuulipilduja päästikutüüp CDATA #IMPLIED>
<!ATTLIST kuulipilduja rauatüüp CDATA #IMPLIED>

<!ATTLIST täpsuspüss Id CDATA #REQUIRED>
<!ATTLIST täpsuspüss laskmisrežiimid CDATA #IMPLIED>
<!ATTLIST täpsuspüss päästikutüüp CDATA #IMPLIED>
<!ATTLIST täpsuspüss rauatüüp CDATA #IMPLIED>

<!ATTLIST löögirelv Id CDATA #REQUIRED>
<!ATTLIST torkerelv Id CDATA #REQUIRED>
<!ATTLIST torke-lõikerelv Id CDATA #REQUIRED>
<!ATTLIST torke-raierelv Id CDATA #REQUIRED>

XML Skeemifail (DTD põhjal)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="relvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="käsitulirelvad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="külmrelvad" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="käsitulirelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="püstolid" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="revolvrid" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="automaadid" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="püstolkuulipildujad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="pumppüssid" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kuulipildujad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="täpsuspüssid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="püstolid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="püstol" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="püstol">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="mudel" type="xs:string" />
  <xs:element name="päritolu-maad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="päritolu-maa" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="päritolu-maa" type="xs:string" />
  <xs:element name="tootjad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tootja" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="kaliibrid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kaliiber" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="kaliiber">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="pikkused">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="täispikkus" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="rauapikkus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="täispikkus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="vintrauatüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="rauapikkus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="kaalud">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="tühikaal" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="täiskaal" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="tühikaal">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kaliibritüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="vintrauatüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="täiskaal">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kaliibritüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="vintrauatüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="salved">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="salv" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="salv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kaliibritüüp" />
        <xs:element minOccurs="0" maxOccurs="1" ref="mahutavus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="kaliibritüüp">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="mahutavus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliiber" />
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tühikaal" />
        <xs:element minOccurs="0" maxOccurs="1" ref="täiskaal" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="lasketihedused">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lasketihedus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="lasketihedus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="laskekaugused">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="laskekaugus" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="laskekaugus">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="väärtus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="ühik" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tüüp" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="vintrauatüüp">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="väärtus" />
        <xs:element ref="ühik" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="revolvrid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="revolver" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="revolver">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="automaadid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="automaat" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="automaat">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
        <xs:element minOccurs="0" maxOccurs="1" ref="lasketihedused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="laskekaugused" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="püstolkuulipildujad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="püstolkuulipilduja" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="püstolkuulipilduja">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="pumppüssid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="pumppüss" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="pumppüss">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="kuulipildujad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="kuulipilduja" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="kuulipilduja">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
        <xs:element minOccurs="0" maxOccurs="1" ref="lasketihedused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="laskekaugused" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="täpsuspüssid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="täpsuspüss" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="täpsuspüss">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="mudel" />
        <xs:element minOccurs="0" maxOccurs="1" ref="päritolu-maad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootjad" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaliibrid" />
        <xs:element minOccurs="0" maxOccurs="1" ref="pikkused" />
        <xs:element minOccurs="0" maxOccurs="1" ref="kaalud" />
        <xs:element minOccurs="0" maxOccurs="1" ref="salved" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
      <xs:attribute name="laskmisrežiimid" type="xs:string" />
      <xs:attribute name="päästikutüüp" type="xs:string" />
      <xs:attribute name="rauatüüp" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="külmrelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="löögirelvad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torkerelvad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torke-lõikerelvad" />
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torke-raierelvad" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="löögirelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="löögirelv" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="löögirelv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="nimetus" />
        <xs:element minOccurs="0" maxOccurs="1" ref="tootja" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="nimetus" type="xs:string" />
  <xs:element name="tootja" type="xs:string" />
  <xs:element name="torkerelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torkerelv" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="torkerelv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="nimetus" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="torke-lõikerelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torke-lõikerelv" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="torke-lõikerelv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="nimetus" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="torke-raierelvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="torke-raierelv" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="torke-raierelv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" ref="nimetus" />
      </xs:sequence>
      <xs:attribute name="Id" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="väärtus" type="xs:string" />
  <xs:element name="ühik" type="xs:string" />
  <xs:element name="tüüp" type="xs:string" />
</xs:schema>

XML Automaatgenereeritud skeemifail

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="relvad">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="käsitulirelvad">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="püstolid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="püstol">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element maxOccurs="unbounded" name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element minOccurs="0" maxOccurs="unbounded" name="kaliibritüüp">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:decimal" />
                                            <xs:element minOccurs="0" name="ühik" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0" name="täiskaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="kaliibritüüp">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:decimal" />
                                            <xs:element name="ühik" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="revolvrid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="revolver">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="vintrauatüüp">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element maxOccurs="unbounded" name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType mixed="true">
                              <xs:sequence minOccurs="0">
                                <xs:element name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="vintrauatüüp">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="automaadid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="automaat">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0" name="täiskaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element minOccurs="0" name="tühikaal">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:unsignedShort" />
                                                  <xs:element name="ühik" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element minOccurs="0" name="täiskaal">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:unsignedShort" />
                                                  <xs:element name="ühik" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="lasketihedused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="lasketihedus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="ühik" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="laskekaugused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="laskekaugus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="ühik" type="xs:string" />
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="püstolkuulipildujad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="püstolkuulipilduja">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element minOccurs="0" name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element minOccurs="0" name="kaliiber">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:decimal" />
                                                  <xs:element minOccurs="0" name="ühik" type="xs:string" />
                                                  <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element minOccurs="0" name="tühikaal">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:decimal" />
                                                  <xs:element name="ühik" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="pumppüssid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="pumppüss">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element minOccurs="0" name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element maxOccurs="unbounded" name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:string" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="kuulipildujad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="kuulipilduja">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0" name="täiskaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedByte" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:string" />
                                            <xs:element minOccurs="0" name="ühik" type="xs:string" />
                                            <xs:element minOccurs="0" name="tühikaal">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:unsignedShort" />
                                                  <xs:element name="ühik" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element minOccurs="0" name="täiskaal">
                                              <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="väärtus" type="xs:unsignedShort" />
                                                  <xs:element name="ühik" type="xs:string" />
                                                </xs:sequence>
                                              </xs:complexType>
                                            </xs:element>
                                            <xs:element name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="lasketihedused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="lasketihedus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="laskekaugused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="laskekaugus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="ühik" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="täpsuspüssid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="täpsuspüss">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mudel" type="xs:string" />
                          <xs:element name="päritolu-maad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="päritolu-maa" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tootjad">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="tootja" type="xs:string" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaliibrid">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="kaliiber">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:string" />
                                      <xs:element name="tüüp" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="pikkused">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="täispikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element minOccurs="0" name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="rauapikkus">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:unsignedShort" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="kaalud">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element minOccurs="0" name="täiskaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="tüüp" type="xs:string" />
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0" name="tühikaal">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="väärtus" type="xs:decimal" />
                                      <xs:element name="ühik" type="xs:string" />
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="salved">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="salv">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="mahutavus">
                                        <xs:complexType>
                                          <xs:sequence>
                                            <xs:element name="väärtus" type="xs:unsignedByte" />
                                            <xs:element name="ühik" type="xs:string" />
                                            <xs:element name="tüüp" type="xs:string" />
                                          </xs:sequence>
                                        </xs:complexType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="laskmisrežiimid" type="xs:string" use="required" />
                        <xs:attribute name="päästikutüüp" type="xs:string" use="required" />
                        <xs:attribute name="rauatüüp" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="külmrelvad">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="löögirelvad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="löögirelv">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                          <xs:element minOccurs="0" name="tootja" type="xs:string" />
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="torkerelvad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="torkerelv">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="torke-lõikerelvad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="torke-lõikerelv">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="torke-raierelvad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="torke-raierelv">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimetus" type="xs:string" />
                        </xs:sequence>
                        <xs:attribute name="Id" type="xs:unsignedByte" 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>

XML Transformatsiooni failid:

Esimene

See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada kõik XML-i kirjutatud andmed võimalikult loetaval ja viisakal kujul.

<?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="/">
    <!--http://stackoverflow.com/questions/825831/check-if-a-string-is-null-or-empty-in-xslt-->
    <html>
      <head>
        <title>
          RELVAKATALOOG 2013 VR2
        </title>
      </head>
      <body>
        <h1>Relvakataloog 2013</h1>
        <ol>
          <xsl:for-each select="relvad/käsitulirelvad">
            <h2>
              Selles nimekirjas on <xsl:value-of select="name()"/><xsl:text>:</xsl:text>
            </h2>
            <xsl:for-each select="*">
              <xsl:sort select="name()" order="ascending"/> <!--see siin sorteerib relvagrupid tähestikulisse järjekorda-->
              <h3>
                Järgnevad relvad on <xsl:value-of select="name()"/><xsl:text>:</xsl:text>
              </h3>
              <xsl:for-each select="*">
                <li>
                  <h3>
                    <xsl:value-of select="name()"/>
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="mudel"/>
                  </h3>
                </li>
                <xsl:if test="@laskmisrežiimid">
                  <b>Laskmisrežiimid: </b>
                  <xsl:value-of select="@laskmisrežiimid"/>
                  <br></br>
                </xsl:if>
                <xsl:if test="@päästikutüüp">
                  <b>Päästikutüüp: </b>
                  <xsl:value-of select="@päästikutüüp"/>
                  <br></br>
                </xsl:if>
                <xsl:if test="@rauatüüp">
                  <b>Rauatüüp: </b>
                  <xsl:value-of select="@rauatüüp"/>
                  <br></br>
                </xsl:if>
                <xsl:if test="tootjad/*">
                  <b>Tootjad: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="tootjad/*">
                      <li>
                        <xsl:value-of select="."/>
                      </li>
                    </xsl:for-each>
                    <br></br>
                  </ul>
                </xsl:if>
                <xsl:if test="päritolu-maad/*">
                  <b>Päritolu-maad: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="päritolu-maad/*">
                      <li>
                        <xsl:value-of select="."/>
                      </li>
                    </xsl:for-each>
                    <br></br>
                  </ul>
                </xsl:if>
                <xsl:if test="kaliibrid/*">
                  <b>Kaliibrid: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="kaliibrid/*">
                      <li>
                        <xsl:value-of select="."/>
                      </li>
                    </xsl:for-each>
                    <br></br>
                  </ul>
                </xsl:if>
                <xsl:if test="pikkused/*">
                  <b>Pikkused: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="pikkused">
                      <xsl:if test="täispikkus or rauapikkus">
                        <xsl:for-each select="*">
                          <li>
                            <b>
                              <xsl:value-of select="name()"/>
                              <xsl:text> (</xsl:text>
                              <xsl:if test="tüüp">
                                <xsl:for-each select="tüüp">
                                  <xsl:if test=".">
                                    <xsl:value-of select="."/>
                                  </xsl:if>
                                </xsl:for-each>
                              </xsl:if>
                              <xsl:if test="not(tüüp)">
                                <xsl:text>standardkonfiguratsioonis</xsl:text>
                              </xsl:if>
                              <xsl:text>):</xsl:text>
                            </b>
                          </li>
                          <xsl:for-each select="*">
                            <!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)-->
                            <ul>
                              <xsl:if test="name() != 'tüüp'">
                                <li>
                                  <b>
                                    <xsl:value-of select="name()"/>
                                    <xsl:text>: </xsl:text>
                                  </b>
                                  <xsl:value-of select="."/>
                                </li>
                              </xsl:if>
                            </ul>
                          </xsl:for-each>
                        </xsl:for-each>
                      </xsl:if>
                    </xsl:for-each>
                  </ul>
                </xsl:if>
                <xsl:if test="kaalud/*">
                  <b>Kaalud: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="kaalud">
                      <xsl:if test="tühikaal or täiskaal">
                        <xsl:for-each select="*">
                          <li>
                            <xsl:text>Kaalutüüp - </xsl:text>
                            <b>
                              <xsl:value-of select="name()"/>
                            </b>
                          </li>
                          <xsl:for-each select="*">
                            <!--(tüüp?, kaliibritüüp*, vintrauatüüp?, väärtus?, ühik?)-->
                            <ul>
                              <xsl:if test=".">
                                <li>
                                  <b>
                                    <xsl:value-of select="name()"/>
                                    <xsl:text>: </xsl:text>
                                  </b>
                                  <xsl:value-of select="."/>
                                </li>
                              </xsl:if>
                            </ul>
                          </xsl:for-each>
                        </xsl:for-each>
                      </xsl:if>
                    </xsl:for-each>
                  </ul>
                </xsl:if>
                <xsl:if test="salved/*">
                  <b>Salved: </b>
                  <br></br>
                  <ul>
                    <xsl:for-each select="salved/*">
                      <li>
                        <xsl:text>Salv, kuhu mahub </xsl:text>
                        <xsl:if test="mahutavus">
                          <xsl:value-of select="mahutavus/väärtus"/>
                          <xsl:text> </xsl:text>
                          <xsl:value-of select="mahutavus/ühik"/>
                          <xsl:if test="mahutavus/tüüp">
                            <xsl:text> (</xsl:text>
                            <xsl:value-of select="mahutavus/tüüp"/>
                            <xsl:text>) </xsl:text>
                          </xsl:if>
                        </xsl:if>
                        <xsl:if test="not(mahutavus)">
                          <xsl:text>teadmata arv</xsl:text>
                        </xsl:if>
                        <xsl:if test="kaliibritüüp">
                          <xsl:text> kaliibriga </xsl:text>
                          <xsl:value-of select="kaliibritüüp"/>
                          <xsl:text>.</xsl:text>
                        </xsl:if>
                        <xsl:if test="not(kaliibritüüp)">
                          <xsl:text> relva standardkaliibriga.</xsl:text>
                        </xsl:if>
                      </li>
                    </xsl:for-each>
                    <br></br>
                  </ul>
                </xsl:if>
                <br></br>
              </xsl:for-each>
            </xsl:for-each>
          </xsl:for-each>
        </ol>
        <br></br>
        <br></br>
        <ol>
          <xsl:for-each select="relvad/külmrelvad">
            <h2>
              Selles nimekirjas on <xsl:value-of select="name()"/><xsl:text>:</xsl:text>
            </h2>
            <xsl:for-each select="*">
              <h3>
                <u>
                  Järgnevad relvad on <xsl:value-of select="name()"/>
                  <xsl:text>: </xsl:text>
                </u>
              </h3>
              <xsl:for-each select="*">
                <li>
                  <xsl:if test="nimetus">
                    <font size="4.5">
                      <b>
                        <xsl:value-of select="nimetus"/>
                      </b>
                    </font>
                    <br></br>
                  </xsl:if>
                  <xsl:if test="tootja">
                    <b>Tootja: </b>
                    <xsl:value-of select="tootja"/>
                    <br></br>
                  </xsl:if>
                </li>
                <br></br>
              </xsl:for-each>
            </xsl:for-each>
          </xsl:for-each>
        </ol>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Teine

See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses nimekirjas kõik käsitulirelvad (tulirelva tüübi tekst on värvitud punaseks) ning teises nimekirjas külmrelvad (külmrelva tüübi tekst on värvitud siniseks).

<?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>
      <body>
        <xsl:apply-templates/>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="käsitulirelvad">
    <h2>
      <u>Pauguvardad ja teised lahedad ridvad nimekirjast:</u>
    </h2>
    <h4>
      <xsl:for-each select="*">
        <xsl:for-each select="*">
          <span style="color:#FF0000">
            <xsl:value-of select="name()"></xsl:value-of>
          </span>
          <xsl:text> </xsl:text>
          <xsl:value-of select="mudel"/>
          <br />
        </xsl:for-each>
      </xsl:for-each>
    </h4>
    <br />
  </xsl:template>

  <xsl:template match="külmrelvad">
    <h2>
      <u>Muud niidukvibud nimekirjast:</u>
    </h2>
    <h4>
      <xsl:for-each select="*">
        <xsl:for-each select="*">
          <span style="color:#0000FF">
            <xsl:value-of select="name()"></xsl:value-of>
          </span>
          <xsl:text> </xsl:text>
          <xsl:value-of select="nimetus"/>
          <br />
        </xsl:for-each>
      </xsl:for-each>
    </h4>
    <br />
  </xsl:template>
</xsl:stylesheet>

Kolmas

See transformatsioonifail väljastab tulemuse html kujul .htm faililaiendiga failina ja on mõeldud selleks, et XML failist välja sorteerida ja kuvada esimeses alamsektsioonis USA-s toodetavad käsitulirelvad ning teises alamsektsioonis 9mm kaliibriga käsitulirelvad.

<?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"/>
  <!--relvad USA-st ja Saksamaalt-->
  <xsl:template match="/">
    <html>
      <body>
        <h2>USA-s toodetakse käsitulirelvadest:</h2>
        <xsl:for-each select="*/käsitulirelvad/*/*/päritolu-maad">
          <xsl:if test="päritolu-maa = 'USA'">
            <xsl:value-of select="../mudel"/>
            <xsl:text>, </xsl:text>
          </xsl:if>
        </xsl:for-each>
        <xsl:text>.</xsl:text>
        <h2>9mm kaliibriga käsitulirelvad:</h2>
        <xsl:for-each select="*/käsitulirelvad/*/*/kaliibrid">
          <xsl:if test="kaliiber/väärtus = '9' or kaliiber/väärtus = '9x19' and (contains(kaliiber/ühik, 'mm') or contains(kaliiber/tüüp, 'mm'))"> 
            <xsl:value-of select="../mudel"/>
            <xsl:text>, </xsl:text>
          </xsl:if>
        </xsl:for-each>
        <xsl:text>.</xsl:text>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Teenus

...

Valminud teenuse meetodid:

  • ... - ...

Valminud töö saab kätte lingilt: ...

Klientrakendus

Valminud klientrakenduse saab allalaadida lingilt: ...

Klientrakendus on ...

Logi

22.03.2013

  • Lõime WIKI lehe
  • Esitasime ära XML, DTD, Schemad, XSL-id (3 erinevat)

23.03.2013

  • ...

24.03.2013

  • ...

25.03.2013

  • ...

26.03.2013

  • ...

27.03.2013

  • ...

28.03.2013

  • ...