ś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="".

sobota, 27 marca 2010

Ustawienie częstotliwość sprawdzania dysku

Ponieważ mój PCet ma dwa dyski fizyczne i cztery duże partycje, to domyślne sprawdzanie co 30 montowań jest denerwująco za częste. Poniższe ustawia częstotliwość sprawdzania dysku podczas startu systemu na 99:


sudo tune2fs -c 99 /dev/sdb3

wtorek, 2 marca 2010

Numer bieżącego roku w Emacsie

Poniższe przypisuje zmiennej current-year napis zawierający numer bieżącego roku:


(setq current-year (number-to-string (nth 5 (decode-time (current-time)))))

Bez number-to-string zmienna current-year zawierałaby liczbę. Ale wtedy byłby problem jeżeli coś takiego byłoby argumentem funkcji concat.