środa, 31 marca 2010

Zbędne deklaracje xmlns przy zamianie KML→GPX

Z pliku XML w wersji KML, tj. googleearth chcę wydłubać współrzędne punktów MyPlaces oraz zapisać je w formacie GPX (celem późniejszego załadowania do Garmina). Używam do tego następującego arkusza XSLT:


xmlns:kml="http://earth.google.com/kml/2.2"
xmlns:gpx="http://www.topografix.com/GPX/1/0" >




xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">






xmlns='http://www.topografix.com/GPX/1/0'>















]]>

Gdyby w powyższym arkuszu XSLT zamiast


<wpt xsl:exclude-result-prefixes="gpx kml"
xmlns='http://www.topografix.com/GPX/1/0'>
...

było po prostu:


<wpt xsl:exclude-result-prefixes="gpx kml"
...

to znaczy zostałaby pominięta deklaracja przestrzeni nazw elementu wpt, wtedy procesor XSLT zapisałby na wyjściu coś w rodzaju:


<wpt xmlns="" lat="19.35304208110762" lon="54.35681836243874">
...

A to oznacza, że wpt pochodziłby z pustej przestrzeni nazw, xmlns="". Niby proste, ale nie jest oczywiste jak usunąć -- na pierwszy rzut oka zbędne (a tak na prawdę błędne) -- wpisy xmlns="".

Brak komentarzy:

Prześlij komentarz