Bevezető

Két programot találsz itt. Ami a következő három:

  1. Az 5di_xml program a rádióamatőr csomagrádiós BBS-ekben régóta használt, Béla, HA5DI által bevezetett ( 5di ) formátumúra konvertálja az NMHH honlapjáról letölthető Extensible Markup Language ( xml ) formátumú állományokat.
  2. csv_xml Comma Separated Value ( csv ) formátumúra konvertál.
  3. A gen pedig az első kettőt futtatja.

Mindkét program Linux(Ubuntu) felett fut. A csv_xml létjogosultságát az indokolja, hogy botrányosan hosszú ideig tart az xml-nek az OpenOffice.org ( OOo ) táblázatkezelőbe töltése. Lényegesen rövidebb ideig tart a konvertálás és a csv betöltése. ( Megjegyzem: ha az xml-t akarod betölteni az OOo táblázatkezelőbe, akkor előtte telepítsd az OOo adatbázis kezelőt! )

Bár az NMHH adatbázis - első sora <?xml version="1.0" encoding="ISO-8859-1"?> szerint - ISO-8859-1 kódolásúnak hazudja magát, valójában ISO-8859-2 WINDOWS-1250 kódolású.

Telepítés, paraméterezés

Másold egy munkakönyvtárba a gen, az 5di_xml és a csv_xml programot valamint a c.fmt r.fmt formátumállományokat. Megtalálod a ../futás könyvtárban.

A formátumállományok jók a 2011-08-28-i NMHH adatbázishoz, de leírom, hogyan tudod módosítani. A formátumállomány egyszerű szöveges állomány, amiben a rekord ( sor ) mezőire ( celláira ) a mezők sorszámaival tudsz hivatkozni. Például az első mezőre ( 'A' oszlop ) [0]-ként vagy {0}-ként. Az első [0] forma a mező tartalmának változatlan kiírását jelenti. Kivétel a dátum formátumú, mert annak csak az első 10 karakteréét ( éééé-hh-nn ). Másodiknál a tartalmat balra igazítva 10 karakter szélesen írja ki a program; ezt használd a hívójel mező kiírásához. A többi karakter változatlanul kiírásra kerül. Karakterkódolása egyezzen meg az xml-ével.

Töltsd le ugyanide az NMHH adatbázisokat ( call_sign_book.xml, relay_list.xml ) a http://www.nmhh.hu/index.php?id=hir&cid=8112&mid=2926 helyről.

Terminálból futtasd:

$ ./5di_xml <call_sign_book.xml
5di_xml: BBS - NMHH hívójelkönyv konvertáló GG630504 HG9IEG 2011-08-25
[0]	Partner code
[1]	Name of Licensee
[2]	Country
[3]	ZIP
[4]	City
[5]	Street, House
[6]	License Number
[7]	Call sign
[8]	Community or private
[9]	State of Licence
[10]	Level of Exam
[11]	Morse
[12]	License date
[13]	Validity
[14]	Chief operator
$

Ellenőrizd, megfelelő-e a c.fmt formátumállomány. Ha nem, akkor egy egyszerű szövegszerkesztővel módosítsd. Karakterkódolása egyezzen meg az xml-ével.

{7}[1]; [4] [5]; H-[3]
{7}[8] [10] [11] [13]

Ugyanez az ellenőrzés a relay_list.xml-re.

$ ./5di_xml <relay_list.xml
5di_xml: BBS - NMHH hívójelkönyv konvertáló GG630504 HG9IEG 2011-08-25
[0]	Partner code
[1]	Licensee
[2]	Community or private
[3]	Chief operator
[4]	Call sign
[5]	License Number
[6]	Validity
[7]	QTH city
[8]	Mode
[9]	TxFreq
[10]	Rx Freq
[11]	ERP  (dBW)
[12]	Gain (dB)
[13]	Direction of radiation
[14]	Geo. Coord. X
[15]	Geo. Coord. Y
[16]	Height asl
[17]	Antenna height (m)
[18]	Type of equipment
[19]	Tx Output power [dBW]
[20]	Type of antenna
[21]	Direction
$

És r.fmt-re.

{4}[1] - [3]; [7]
{4}[2] [6]

Mint láttad, az 5di_xml program a szabványos bemenetről a szabványos kimenetre dolgozik. Ha nem kap paramétert, akkor az első rekordot írja ki a mezők sorszámaival együtt. Ha paraméterként megkapja a formátumállomány azonosítóját, akkor aszerint kiírja a rekordokat - az elsőt kivéve.

Ennek megfelelő a gen program tartalma:

#!/bin/sh
./5di_xml c.fmt <call_sign_book.xml >cbook.dat
./5di_xml r.fmt <relay_list.xml    >>cbook.dat
iconv -f WINDOWS-1250 -t UTF-8 <cbook.dat >cbook_utf_8.dat
 
./csv_xml <call_sign_book.xml | iconv -f WINDOWS-1250 -t UTF-8 >call_sign_book.csv
./csv_xml <relay_list.xml     | iconv -f WINDOWS-1250 -t UTF-8 >relay_list.csv

Emlékeztetlek, hogy az 5di_xml nem végez karakterkódolás-módosítást, tehát a cbook.dat kódolása megegyezik az xml-ekével, ami ISO-8859-2. Ha más kódolás kell, vagy az UTF-8 kódolásúra nincs szükséged, egyszerű szövegszerkesztővel módosítsd a gen programot. Ugyancsak módosítsd, ha az eredményállományokat más könyvtárba akarod másolni.

A csv_xml programon semmit sem kell beállítanod. Szabványos bemenetről olvas és szabványos kimenetre ír. Módosíthatod vagy elhagyhatod az utólagos átkódolást a gen programban.

Futtatás

  1. Töltsd le az NMHH adatbázisokat ( call_sign_book.xml, relay_list.xml ) a http://www.nmhh.hu/index.php?id=hir&cid=8112&mid=2926 helyről.
  2. Futtasd a gen programot.
  3. A kapott eov.txt állományt dolgozd fel a http://pf-prg.hu/trafo/trafo-4-f.php?mod=0 honlapon lévő konvertálóval.

gg630504 hg9ieg 2012-04-14 ( 2011-08-25 .. 2012-03-15 02:34:31 UTC ) cc-by-nc-sa