Meeskond "HM": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 147: Line 147:


=== XML andmefail ===
=== XML andmefail ===
<pre>
<source lang="xml">
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8" ?>
<!-- Sources:
<!-- Sources:
Line 557: Line 557:
   </kontinent>
   </kontinent>
</Maa>
</Maa>
</pre>
</source>


=== Sisemiseks kasutamiseks ===
=== Sisemiseks kasutamiseks ===

Revision as of 21:57, 3 March 2012

Sources for xml:

http://www.ourairports.com/data/ (public domain) 
http://www.geonames.org/ (Creative Commons Attribution 3.0)

Meeskond

  • Henry Mäeorg - XML, XSD, XSL
  • Martin Laak - XML, XSD, XSL, Wiki
  • Andre-Marcel Peri - XSL


XSD 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="Maa">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="7" name="kontinent">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="nimi" type="xs:string" />
              <xs:element minOccurs="0" maxOccurs="unbounded" name="riik">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="nimi" type="xs:string" />
                    <xs:element maxOccurs="unbounded" name="linn">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="nimi" type="xs:string" />
                          <xs:element minOccurs="0" maxOccurs="unbounded" name="lennujaam">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="nimi" type="xs:string" />
                              </xs:sequence>
                              <xs:attribute name="id" type="xs:string" use="required" />
                              <xs:attribute name="long" type="xs:string" use="required" />
                              <xs:attribute name="lat" type="xs:string" use="required" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:string" use="required" />
                  <xs:attribute name="raha" type="xs:string" use="required" />
                  <xs:attribute name="rahanimi" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="rahvaarv" type="xs:string" use="required" />
            <xs:attribute name="id" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSL stiilifail 1

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
      </head>
      <body>
        <xsl:for-each select="Maa/kontinent">
        <h1><xsl:value-of select="nimi"/></h1>
          <xsl:for-each select="riik">
          <h2><xsl:value-of select="nimi"/></h2>
            <xsl:for-each select="linn">
            <h3><xsl:value-of select="nimi"/></h3>
              <xsl:if test="count(lennujaam) !=0">
              <h4>Lennujaamad:</h4>
              <ul>
                <xsl:for-each select="lennujaam">
                <li><xsl:value-of select="nimi"/></li>
                </xsl:for-each>
              </ul>
              </xsl:if>             
            </xsl:for-each>
          </xsl:for-each>      
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XSL stiilifail 2

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
      </head>
      <body>
        <table border="1">
          <tr bgcolor="#20B2AA">
            <th>Kontinent</th>
            <th>Rahvaarv</th>
            <th>Riigid</th>
            <th>Linnad</th>
            <th>Lennujaamad</th>
          </tr>
          <xsl:for-each select="Maa/kontinent">
            <tr	bgcolor="#E0FFFF">
              <td>
                <xsl:value-of select="nimi"/>
              </td>
           
              <td>
                <xsl:value-of select="@rahvaarv"/>
              </td>
              <xsl:for-each select="riik"> 
                  <td>
                    <xsl:value-of select="nimi"/>
                  </td>

              <xsl:for-each select="linn">
                  <td>
                    <xsl:value-of select="nimi"/>
                  </td>
                <xsl:for-each select="lennujaam">
                  <td>
                    <xsl:value-of select="nimi"/>
                  </td>
                </xsl:for-each>
                </xsl:for-each>
              </xsl:for-each>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XML andmefail

<?xml version="1.0" encoding="utf-8" ?>
<!-- Sources:
 http://www.ourairports.com/data/ (public domain) 
 http://www.geonames.org/ (Creative Commons Attribution 3.0) 
-->
<Maa>
  <kontinent rahvaarv="738199000" id="EU">
    <nimi>Euroopa</nimi>
    <riik id="DE" raha="EUR" rahanimi="Euro">
      <nimi>Germany</nimi>
      <linn id="Berlin">
        <nimi>Berlin</nimi>
        <lennujaam id="SXF" lat="52.3800010681152" long="13.522500038147" >
          <nimi>Berlin-Schönefeld International Airport</nimi>
        </lennujaam>
        <lennujaam id="TXL" lat="52.559700012207" long="13.2876996994019" >
          <nimi>Berlin-Tegel International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="GB" raha="GBP" rahanimi="Pound">
      <nimi>United Kingdom</nimi>
      <linn id="Belfast">
        <nimi>Belfast</nimi>
        <lennujaam id="BFS" lat="54.6575012207031" long="-6.21582984924316" >
          <nimi>Belfast International Airport</nimi>
        </lennujaam>
        <lennujaam id="BHD" lat="54.6180992126465" long="-5.87249994277954" >
          <nimi>George Best Belfast City Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="London">
        <nimi>London</nimi>
        <lennujaam id="LTN" lat="51.874698638916" long="-0.368333011865616" >
          <nimi>London Luton Airport</nimi>
        </lennujaam>
        <lennujaam id="LGW" lat="51.1481018066406" long="-0.190277993679047" >
          <nimi>London Gatwick Airport</nimi>
        </lennujaam>
        <lennujaam id="LCY" lat="51.505298614502" long="0.0552779994904995" >
          <nimi>London City Airport</nimi>
        </lennujaam>
        <lennujaam id="LHR" lat="51.4706001282" long="-0.461941003799" >
          <nimi>London Heathrow Airport</nimi>
        </lennujaam>
        <lennujaam id="STN" lat="51.8849983215332" long="0.234999999403954" >
          <nimi>London Stansted Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="ES" raha="EUR" rahanimi="Euro">
      <nimi>Spain</nimi>
      <linn id="Tenerife Island">
        <nimi>Tenerife Island</nimi>
        <lennujaam id="TFS" lat="28.044500351" long="-16.5725002289" >
          <nimi>Tenerife South Airport</nimi>
        </lennujaam>
        <lennujaam id="TFN" lat="28.4827003479" long="-16.3414993286" >
          <nimi>Tenerife Norte Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="FR" raha="EUR" rahanimi="Euro">
      <nimi>France</nimi>
      <linn id="Paris">
        <nimi>Paris</nimi>
        <lennujaam id="CDG" lat="49.0127983093" long="2.54999995232" >
          <nimi>Charles de Gaulle International Airport</nimi>
        </lennujaam>
        <lennujaam id="ORY" lat="48.7252998352" long="2.35944008827" >
          <nimi>Paris-Orly Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="IT" raha="EUR" rahanimi="Euro">
      <nimi>Italy</nimi>
      <linn id="Milan">
        <nimi>Milan</nimi>
        <lennujaam id="MXP" lat="45.6305999756" long="8.72811031342" >
          <nimi>Malpensa International Airport</nimi>
        </lennujaam>
        <lennujaam id="LIN" lat="45.445098877" long="9.27674007416" >
          <nimi>Linate Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="TR" raha="TRY" rahanimi="Lira">
      <nimi>Turkey</nimi>
      <linn id="Istanbul">
        <nimi>Istanbul</nimi>
        <lennujaam id="IST" lat="40.9768981934" long="28.8145999908" >
          <nimi>Atatürk International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="RU" raha="RUB" rahanimi="Ruble">
      <nimi>Russia</nimi>
      <linn id="Moscow">
        <nimi>Moscow</nimi>
        <lennujaam id="DME" lat="55.4087982177734" long="37.9062995910645" >
          <nimi>Domodedovo International Airport</nimi>
        </lennujaam>
        <lennujaam id="SVO" lat="55.972599029541" long="37.4146003723145" >
          <nimi>Sheremetyevo International Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="55.8782997131348" long="38.0616989135742" >
          <nimi>Chkalovskiy Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
  </kontinent>
  <kontinent rahvaarv="528720588" id="NA">
    <nimi>Põhja-Ameerika</nimi>
    <riik id="US" raha="USD" rahanimi="Dollar">
      <nimi>United States</nimi>
      <linn id="Fort Worth">
        <nimi>Fort Worth</nimi>
        <lennujaam id="AFW" lat="32.9875984192" long="-97.3188018799" >
          <nimi>Fort Worth Alliance Airport</nimi>
        </lennujaam>
        <lennujaam id="FTW" lat="32.8198013306" long="-97.3623962402" >
          <nimi>Fort Worth Meacham International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Seattle">
        <nimi>Seattle</nimi>
        <lennujaam id="BFI" lat="47.5299987792969" long="-122.302001953125" >
          <nimi>Boeing Field King County International Airport</nimi>
        </lennujaam>
        <lennujaam id="SEA" lat="47.4490013122559" long="-122.30899810791" >
          <nimi>Seattle Tacoma International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Columbus">
        <nimi>Columbus</nimi>
        <lennujaam id="" lat="39.8138008117676" long="-82.9278030395508" >
          <nimi>Rickenbacker International Airport</nimi>
        </lennujaam>
        <lennujaam id="CMH" lat="39.9980010986328" long="-82.8918991088867" >
          <nimi>Port Columbus International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Charleston">
        <nimi>Charleston</nimi>
        <lennujaam id="CHS" lat="32.89860153" long="-80.04049683" >
          <nimi>Charleston Air Force Base-International Airport</nimi>
        </lennujaam>
        <lennujaam id="CRW" lat="38.3731002807617" long="-81.5932006835938" >
          <nimi>Yeager Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Dayton">
        <nimi>Dayton</nimi>
        <lennujaam id="DAY" lat="39.902400970459" long="-84.2193984985352" >
          <nimi>James M Cox Dayton International Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="39.826099395752" long="-84.0483016967773" >
          <nimi>Wright Patterson Air Force Base</nimi>
        </lennujaam>
      </linn>
      <linn id="Washington">
        <nimi>Washington</nimi>
        <lennujaam id="DCA" lat="38.8521003723145" long="-77.0376968383789" >
          <nimi>Ronald Reagan Washington National Airport</nimi>
        </lennujaam>
        <lennujaam id="IAD" lat="38.94449997" long="-77.45580292" >
          <nimi>Washington Dulles International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Spokane">
        <nimi>Spokane</nimi>
        <lennujaam id="GEG" lat="47.6198997497559" long="-117.533996582031" >
          <nimi>Spokane International Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="47.6151008605957" long="-117.65599822998" >
          <nimi>Fairchild Air Force Base</nimi>
        </lennujaam>
      </linn>
      <linn id="Houston">
        <nimi>Houston</nimi>
        <lennujaam id="HOU" lat="29.64539909" long="-95.27890015" >
          <nimi>William P Hobby Airport</nimi>
        </lennujaam>
        <lennujaam id="IAH" lat="29.9843997955322" long="-95.3414001464844" >
          <nimi>George Bush Intercontinental Houston Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="New York">
        <nimi>New York</nimi>
        <lennujaam id="JFK" lat="40.63980103" long="-73.77890015" >
          <nimi>John F Kennedy International Airport</nimi>
        </lennujaam>
        <lennujaam id="LGA" lat="40.77719879" long="-73.87259674" >
          <nimi>La Guardia Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Tampa">
        <nimi>Tampa</nimi>
        <lennujaam id="" lat="27.84930038" long="-82.52120209" >
          <nimi>Mac Dill Air Force Base</nimi>
        </lennujaam>
        <lennujaam id="TPA" lat="27.9755001068115" long="-82.533203125" >
          <nimi>Tampa International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Orlando">
        <nimi>Orlando</nimi>
        <lennujaam id="MCO" lat="28.4293994903564" long="-81.3089981079102" >
          <nimi>Orlando International Airport</nimi>
        </lennujaam>
        <lennujaam id="SFB" lat="28.7775993347168" long="-81.2375030517578" >
          <nimi>Orlando Sanford International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Chicago">
        <nimi>Chicago</nimi>
        <lennujaam id="MDW" lat="41.7859992980957" long="-87.7524032592773" >
          <nimi>Chicago Midway International Airport</nimi>
        </lennujaam>
        <lennujaam id="ORD" lat="41.97859955" long="-87.90480042" >
          <nimi>Chicago O'Hare International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Oklahoma City">
        <nimi>Oklahoma City</nimi>
        <lennujaam id="OKC" lat="35.3931007385254" long="-97.600700378418" >
          <nimi>Will Rogers World Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="35.4146995544434" long="-97.3865966796875" >
          <nimi>Tinker Air Force Base</nimi>
        </lennujaam>
      </linn>
      <linn id="Portland">
        <nimi>Portland</nimi>
        <lennujaam id="PDX" lat="45.58869934" long="-122.5979996" >
          <nimi>Portland International Airport</nimi>
        </lennujaam>
        <lennujaam id="PWM" lat="43.64619827" long="-70.30930328" >
          <nimi>Portland International Jetport Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Rochester">
        <nimi>Rochester</nimi>
        <lennujaam id="ROC" lat="43.1189002990723" long="-77.6724014282227" >
          <nimi>Greater Rochester International Airport</nimi>
        </lennujaam>
        <lennujaam id="RST" lat="43.9082984924316" long="-92.5" >
          <nimi>Rochester International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Springfield">
        <nimi>Springfield</nimi>
        <lennujaam id="SGF" lat="37.24570084" long="-93.38860321" >
          <nimi>Springfield Branson National Airport</nimi>
        </lennujaam>
        <lennujaam id="SPI" lat="39.84410095" long="-89.67790222" >
          <nimi>Abraham Lincoln Capital Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="St Louis">
        <nimi>St Louis</nimi>
        <lennujaam id="STL" lat="38.7486991882324" long="-90.370002746582" >
          <nimi>Lambert St Louis International Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="38.6621017456055" long="-90.6520004272461" >
          <nimi>Spirit of St Louis Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="PR" raha="USD" rahanimi="Dollar">
      <nimi>Puerto Rico</nimi>
      <linn id="San Juan">
        <nimi>San Juan</nimi>
        <lennujaam id="" lat="18.4577999115" long="-66.1211013794" >
          <nimi>San Juan Seaplane Base</nimi>
        </lennujaam>
        <lennujaam id="SJU" lat="18.4393997192383" long="-66.0018005371094" >
          <nimi>Luis Munoz Marin International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
  </kontinent>
  <kontinent rahvaarv="4164252000" id="AS">
    <nimi>Aasia</nimi>
    <riik id="TR" raha="TRY" rahanimi="Lira">
      <nimi>Turkey</nimi>
      <linn id="Istanbul">
        <nimi>Istanbul</nimi>
        <lennujaam id="SAW" lat="40.898601532" long="29.3092002869" >
          <nimi>Sabiha Gökçen International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="IR" raha="IRR" rahanimi="Rial">
      <nimi>Iran</nimi>
      <linn id="Tehran">
        <nimi>Tehran</nimi>
        <lennujaam id="IKA" lat="35.4160995483398" long="51.1521987915039" >
          <nimi>Imam Khomeini International Airport</nimi>
        </lennujaam>
        <lennujaam id="THR" lat="35.6892013549805" long="51.3134002685547" >
          <nimi>Mehrabad International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="PK" raha="PKR" rahanimi="Rupee">
      <nimi>Pakistan</nimi>
      <linn id="Islamabad">
        <nimi>Islamabad</nimi>
        <lennujaam id="ISB" lat="33.61669921875" long="73.0991973876953" >
          <nimi>Benazir Bhutto International Airport</nimi>
        </lennujaam>
        <lennujaam id="" lat="33.560714" long="72.851614" >
          <nimi>(Under construction) New Islamabad International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="JP" raha="JPY" rahanimi="Yen">
      <nimi>Japan</nimi>
      <linn id="Tokyo">
        <nimi>Tokyo</nimi>
        <lennujaam id="NRT" lat="35.7647018432617" long="140.386001586914" >
          <nimi>Narita International Airport</nimi>
        </lennujaam>
        <lennujaam id="HND" lat="35.5522994995117" long="139.779998779297" >
          <nimi>Tokyo International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Osaka">
        <nimi>Osaka</nimi>
        <lennujaam id="KIX" lat="34.4272994995117" long="135.244003295898" >
          <nimi>Kansai International Airport</nimi>
        </lennujaam>
        <lennujaam id="ITM" lat="34.7854995727539" long="135.438003540039" >
          <nimi>Osaka International Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="">
        <nimi></nimi>
        <lennujaam id="" lat="34.7960434679" long="138.18775177" >
          <nimi>Mt. Fuji Shizuoka Airport</nimi>
        </lennujaam>
        <lennujaam id="DNA" lat="26.3556003570557" long="127.767997741699" >
          <nimi>Kadena Air Base</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="KR" raha="KRW" rahanimi="Won">
      <nimi>South Korea</nimi>
      <linn id="Seoul">
        <nimi>Seoul</nimi>
        <lennujaam id="ICN" lat="37.4691009521484" long="126.450996398926" >
          <nimi>Incheon International Airport</nimi>
        </lennujaam>
        <lennujaam id="GMP" lat="37.5583000183" long="126.791000366" >
          <nimi>Gimpo International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="TH" raha="THB" rahanimi="Baht">
      <nimi>Thailand</nimi>
      <linn id="Bangkok">
        <nimi>Bangkok</nimi>
        <lennujaam id="DMK" lat="13.9125995635986" long="100.607002258301" >
          <nimi>Don Mueang International Airport</nimi>
        </lennujaam>
        <lennujaam id="BKK" lat="13.6810998916626" long="100.747001647949" >
          <nimi>Suvarnabhumi Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
    <riik id="CN" raha="CNY" rahanimi="Yuan Renminbi">
      <nimi>China</nimi>
      <linn id="Beijing">
        <nimi>Beijing</nimi>
        <lennujaam id="PEK" lat="40.0801010131836" long="116.584999084473" >
          <nimi>Beijing Capital International Airport</nimi>
        </lennujaam>
        <lennujaam id="NAY" lat="39.7827987670898" long="116.388000488281" >
          <nimi>Beijing Nanyuan Airport</nimi>
        </lennujaam>
      </linn>
      <linn id="Shanghai">
        <nimi>Shanghai</nimi>
        <lennujaam id="PVG" lat="31.1434001922607" long="121.805000305176" >
          <nimi>Shanghai Pudong International Airport</nimi>
        </lennujaam>
        <lennujaam id="SHA" lat="31.1979007720947" long="121.335998535156" >
          <nimi>Shanghai Hongqiao International Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
  </kontinent>
  <kontinent rahvaarv="385742554" id="SA">
    <nimi>Lõuna Ameerika</nimi>
    <riik id="BR" raha="BRL" rahanimi="Real">
      <nimi>Brazil</nimi>
      <linn id="São Paulo">
        <nimi>São Paulo</nimi>
        <lennujaam id="GRU" lat="-23.4355564117432" long="-46.4730567932129" >
          <nimi>Guarulhos - Governador André Franco Montoro International Airport</nimi>
        </lennujaam>
        <lennujaam id="CGH" lat="-23.6261100769043" long="-46.6563873291016" >
          <nimi>Congonhas Airport</nimi>
        </lennujaam>
      </linn>
    </riik>
  </kontinent>
</Maa>

Sisemiseks kasutamiseks

Siia tulevad asjad mis ei kuulu presenteerimisele, aga võivad olla vajalikud


vana XML andmefail

<?xml version="1.0" encoding="utf-8" ?>
<Maa>
  <manner rahvaarv="1 022 234 000">
    <nimi>Aafrika</nimi>     
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="4 164 252 000">
    <nimi>Aasia</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="738 199 000">
    <nimi>Euroopa</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="528 720 588">
    <nimi>Põhja-Ameerika</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="385 742 554">
    <nimi>Lõuna-Ameerika</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="36 593 000">
    <nimi>Okeaania</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
  <manner rahvaarv="1000-5000">
    <nimi>Antarktika</nimi>
    <riik>
      <nimi></nimi>
      <linn ajatsoon="">
        <nimi></nimi>
        <lennujaam long="" lat="">
          <nimi></nimi>
        </lennujaam>
      </linn>
    </riik>
  </manner>
</Maa>

Source code for xml generator

<?php

$CONT_POPULATION=array(
	"EU"=>738199000,
	"AS"=>4164252000,
	"NA"=>528720588,
	"AF"=>1022234000,
	"AN"=>5000,
	"SA"=>385742554,
	"OC"=>36593000
);


$CONT_NAME=array(
	"EU"=>"Euroopa",
	"AS"=>"Aasia",
	"NA"=>"Põhja-Ameerika",
	"AF"=>"Aafrika",
	"AN"=>"Antarktika",
	"SA"=>"Lõuna Ameerika",
	"OC"=>"Okeaania"
	);

$CONT = array();

$CC = explode("\n",str_replace("\r","",file_get_contents("countryInfo.txt")));
$CC_keys = array_shift($CC);
$CC_keys = explode("\t",$CC_keys);

$CCA = ARRAY();
foreach($CC as $cline){
	if(trim($cline)=="")continue;
	$c = explode("\t",$cline);
	$a = array();
	foreach($CC_keys as $num=>$key){
		$a[$key] = $c[$num];
	}
	//print_r($a);
	$CCA[$a['ISO']]=$a;
	$CONT[$a['Continent']]=true;
	//exit();
	
}


$WORLD = array();
//$AIRP=array();

$CIT=array();

$f = fopen("airports.csv",'r');
$num = "";
while($a = fgetcsv ($f)){
	if($a[2]!="large_airport")continue;
	if($a[4]=="0")continue;
	$continent = $a[7];
	$country = $a[8];
	$munip = $a[10];
	$airp_code = $a[13];
	if(!isset($CIT[$country."/".$munip]))$CIT[$country."/".$munip]=0;
	$CIT[$country."/".$munip]++;
	//$WORLD[$continent]['children'][$country]['children'][$munip]['children'][$airp_code]=$a;
	//if($a[2]=="large_airport")$num++;
	
}


$f = fopen("airports.csv",'r');
$num = "";
while($a = fgetcsv ($f)){
	if($a[2]!="large_airport")continue;
	if($a[4]=="0")continue;
	$continent = $a[7];
	$country = $a[8];
	$munip = $a[10];
	$airp_code = $a[13];
	
	if($CIT[$country."/".$munip]<2)continue;
	
	if(!isset($WORLD[$continent])){
		$WORLD[$continent] = array('children'=>array());
	}
	if(!isset($WORLD[$continent]['children'][$country])){
		$WORLD[$continent]['children'][$country] = array('children'=>array());
	}
	if(!isset($WORLD[$continent]['children'][$country]['children'][$munip])){
		$WORLD[$continent]['children'][$country]['children'][$munip] = array('children'=>array());
	}
	
	$a['id']=$airp_code;
	$a['lat']=$a[4];
	$a['long']=$a[5];
	$a['nimi']=$a[3];
	
	$WORLD[$continent]['children'][$country]['children'][$munip]['children'][$airp_code]=$a;
	
	$WORLD[$continent]['id'] = $continent;
	$WORLD[$continent]['nimi'] = $CONT_NAME[$continent];
	$WORLD[$continent]['rahvaarv'] = $CONT_POPULATION[$continent];
	$WORLD[$continent]['children'][$country]['id'] = $country;
	$WORLD[$continent]['children'][$country]['nimi'] = $CCA[$country]['Country'];
	$WORLD[$continent]['children'][$country]['raha'] = $CCA[$country]['CurrencyCode'];
	$WORLD[$continent]['children'][$country]['rahanimi'] = $CCA[$country]['CurrencyName'];	
	$WORLD[$continent]['children'][$country]['children'][$munip]['id']=$munip;
	$WORLD[$continent]['children'][$country]['children'][$munip]['nimi']=$munip;
	if($a[2]=="large_airport")$num++;
}
//echo $num;

echo '<?xml version="1.0" encoding="utf-8" ?>'."\n";
echo "<!-- Sources:\n http://www.ourairports.com/data/ (public domain) \n http://www.geonames.org/ (Creative Commons Attribution 3.0) \n-->\n";
echo "<Maa>\n";
foreach($WORLD as $continent){
	$id = $continent['id'];
	$nimi = $continent['nimi'];
	$rahvaarv = $continent['rahvaarv'];
	echo str_pad("",2);
	echo "<kontinent rahvaarv=\"$rahvaarv\" id=\"$id\">\n";
	echo str_pad("",4);
	echo "<nimi>$nimi</nimi>\n";
	foreach($continent['children'] as $country){
		$id = $country['id'];
		$nimi = $country['nimi'];
		$raha = $country['raha'];
		$rahanimi=$country['rahanimi'];
		echo str_pad("",4);
		echo "<riik id=\"$id\" raha=\"$raha\" rahanimi=\"$rahanimi\">\n";
		echo str_pad("",6);
		echo "<nimi>$nimi</nimi>\n";
		foreach($country['children'] as $city){
			$id = $city['id'];
			$nimi = $city['nimi'];
			echo str_pad("",6);
			echo "<linn id=\"$id\">\n";
			echo str_pad("",8);
			echo "<nimi>$nimi</nimi>\n";
			foreach($city['children'] as $airport){
					$id = $airport['id'];
					$nimi = $airport['nimi'];
					$lat = $airport['lat'];
					$long=$airport['long'];
					echo str_pad("",8);
					echo "<lennujaam id=\"$id\" lat=\"$lat\" long=\"$long\" >\n";
					echo str_pad("",10);
					echo "<nimi>$nimi</nimi>\n";

					echo str_pad("",8);
					echo "</lennujaam>\n";
			}
			echo str_pad("",6);
			echo "</linn>\n";
		}
		echo str_pad("",4);
		echo "</riik>\n";
	}
	echo str_pad("",2);
	echo "</kontinent>\n";
}
echo "</Maa>\n";

countryInfo.txt (tab delim file)

Source http://download.geonames.org/export/dump/countryInfo.txt (Creative Commons Attribution 3.0)

Enne töötlemist eemaldada kommenteeritud read (algavad #) välja arvatud viimane kommenteeritud rida (kus on veerunimed). Sealt reast lihtsalt eemaldada # sümbol

airporst.csv

http://www.ourairports.com/data/airports.csv (public domain)