Pontnév-sablon

A letölthető útpontok kódjának formátuma bizonyos határok között szabadon választható. Ehhez XML formátumú sablont kell kitölteni, amely az adatbázis rendelkezésre álló mezőit a kívánt formátumra hozza, majd ezeket a sablon által megjelölt sorrendben (állandó részekkel együtt) bocsátja a kimeneti fájl rendelkezésére.

Ismerkedésképpen érdemes az előre definiált sablonok kódját átnézni. Javascript-es böngészőknél kiválasztás után az XML kódja megjelenik a szerkesztőablakban (ezzel felülírja annak tartalmát!), itt tanulmányozható és át is szerkeszthető. Ha nincs Javascript-ed, akkor is használhatod az előre definiáltakat, csak töröld ki az XML sablonszerkesztő mező tartalmát, mert az "erősebb", mint a legördülő lista.

Minden, ami < és > jeleken kívül szerepel az XML kódban, az megjelenik a kimenetben, azaz a pontnévben is. Jelenleg egyféle XML tag használatos, ez a <field />. Mivel önálló elem, nincs külön lezáró párja, ezért mindenképpen ki kell írni a / jelet a bezáró > előtt! Az XML hibaüzenetek nem jelennek meg a kimeneti fájlban, hiba esetén a kimenet csonkul, ilyenkor a hiba helyéig előállított szöveg jelenik csak meg.

A <field /> kötelező paramétere a name, ez jelöli, hogy az adatbázis melyik mezőjét illessze be az adott helyre. Lehetséges értékei: id, sorszam, kod, nehezseg, terep, nev, tipus, elrejtes, utolso_megtalalas, allapot, leiras. A legegyszerűbb példa:

<field name="kod"/>

A mező megjelenési formája további paraméterekkel befolyásolható. A paraméterek sorrendje számít, balról jobbra haladva dolgozza fel a program, tehát nem mindegy, hogyan írjuk őket. Ahol több paraméter egy művelethez összetartozik, ott az első helye számít, a továbi(ak)é nem, de az áttekinthetőség kedvéért célszerű ezeket egymás mellé írni. Minden paraméter értékét idézőjelek közé kell zárni, még a számokat is. Minden paraméter legfeljebb csak egyszer szerepelhet!

  • printf: a PHP vagy C nyelvekben tapasztaltak jól sejtik: a mező értékét a printf/sprintf parancsokban megszokott formázással lehet ellátni. Bővebb leírás a PHP dokumentációjában olvasható, de gyors segítságként néhány példa: "%03d" egész számként értelmezi a mezőt, és 3 karakteresre bővíti 0-ák elépakolásával (pl. 015); "%-4s" sztringként kezeli, balra rendezi, és minimum 4 karakter szélesre alakítja (vagyis ha rövidebb, akkor szóközökkel kiegészíti; a kitöltő karakter is megválasztható: "%'_-4s"/> aláhúzással egészíti ki).
  • ereg, fill ha az ereg meg van adva, akkor csak bizonyos karakterek kerülhetnek a kimenetre, a többit a program elnyeli, vagy a fill által megadott karakterre cseréli. Formátuma a PHP ereg függvényével egyezik meg, viszont a kifejezés nem az egész mezőre vonatkozik, hanem karakterenként! Ha üresen hagyjuk (ereg=""), akkor olyan, mintha ereg="[A-Za-z0-9]"-t adtuk volna meg, ilyenkor csak a nagy- és kisbetűk, valamint számjegyek kerülnek a kimenetbe. Az összes többi karakter a fill paraméterre cserélődik, vagy ha az üres, akkor törlődik a szövegből.
  • deaccent ha meg van adva (értéke mindegy, lehet "" is), akkor a mező ékezettelenedik (legalábbis az áéíóúöőüűÁÉÍÓÚÖŐÜŰ betűk).
  • case a kis-és nagybetűk variálására szolgál. case="u" nagybetű, "l" kisbetű, "ucfirst" a legelső betűt nagybetűsíti, "ucwords" minden szó kezdőbetűjét. Az utóbbi kettő a szavak többi karakterét nem befolyásolja, így maradhatnak bennük nagybetűk, ezért van még két lehetőség: "lc+ucfirst" és "lc+ucwords", amelyek előbb kisbetűsítik az egészet, majd átalakítják a megfelelő nagybetűket.
  • start, length A szöveg megrövidítésére szolgál, PHP megfelelője a substr. A start megadásával annyi betű marad le a szó elejéről, amennyit a start mutat (tehát a start="1" a második betűtől kezdi!). A kimenet (maximális) hossza a length paramétertől függ. Mindkét paraméter lehet negatív is, speciális jelentéssel: ha start negatív, akkor a kezdőpozíciót nem a bal végétől számítja jobbra, hanem a jobb végétől balra; ha a length negatív, akkor a start által meghatározott szövegmaradéknak a végéről levágja a length-ben megadott számú karaktert. Ha csak start van megadva, akkor a megadott karakterek elhagyása után a többi mind kimegy; ha csak a length, akkor az elejétől megy a megadott számú karakter a kimenetre (mintha start="0" lenne).
  • translate, to Bizonyos karakterek átalakítására szolgál, PHP megfelelője a strtr. A translate paraméterben megadott karakterek (egyenként!) átfordításra kerülnek a to paraméterben megadott párjukra. Emiatt akkor jó a paraméterezés, ha a kettő egyforma hosszú. A csere megkülönbözteti a kis- és nagybetűket.
  • format A dátummezők (elrejtes, utolso_megtalalas) formázására szolgál. Szintaktikája megfelel a PHP date függvényének. Például: format="Y.m.d H:i": 2003.01.27 08:00; alapesetben "Ymd": 20030127 a formátum.
Bejelentkezés név:  jelszó:   [regisztráció]