Trubar
Vzorčne datoteke
[
Kazalo ||
Naprej ||
Nazaj
]
S pomočjo vzorčnih datotek lahko opišemo, kako naj
program izdela poročilo (dokument HTML). Pri opisu vzorca si pomagamo s posebnimi
značkami, ki bodo opisane pozneje. Program v datoteki z vzorcem
poišče vse te posebne značke in jih nadomesti z
ustreznimi vrednostmi. Pregledovalnik dokumentov HTML nato dobi že
predelano datoteko, tako da niti z ukazom "View|Document Source"
ne moremo videti vzorca, ampak le končen izdelek.
Vrste vzorčnih datotek
Ločimo dve vrsti vzorčnih datotek: običajne in
deljene. Pri obeh vrstah so posebne značke in njihovi učinki
popolnoma enaki, razlikujejo se le v tem, da je vzorec pri običajni vrsti
zapisan v enem kosu (takšna vzorčna datoteka je podobna datoteki HTML
z dodatnimi značkami), pri deljeni vrsti pa v treh. Ti trije deli so:
- HEADER - glava
- RECORD - opis podatkov
- FOOTER - zaključek
To delitev potrebujemo, kadar bi radi, da se nek vzorec (RECORD)
večkrat ponovi. Vsakega od teh treh delov opišemo na naslednji način.
V prvi vrstici napišemo ime dela, ki bi ga radi definirali, nato znaka
enačaj in plus (=+), na koncu pa še poljubno
izmišljeno oznako. Vmes ne sme biti nobenih presledkov. Oznaka je lahko
poljubno zaporedje znakov, ki nikjer v opisu vzorca ne nastopa kot podniz. V drugi
vrstici datoteke pričnemo z opisom vzorca. Ta se lahko razteza čez
več vrstic. Opis vzorca končamo tako, da v zadnji vrstici
(na začetku) ponovimo oznako iz prve vrstice. Primer:
HEADER=+oznaka
Test
oznaka
Uporaba posebnih značk
<INCLUDE ime>
Vsako pojavitev značke INCLUDE bo program zamenjal z vsebino
datoteke z imenom ime. To datoteko išče v istem
področju, kjer se nahaja vzorčna datoteka. Če je ne najde,
potem samo odstrani značko iz opisa vzorca.
<DEFINE ime vrednost>
S pomočjo značke DEFINE lahko definiramo novo
spremenljivko. Ime spremenljivke (ime) naj ne bi vsebovalo
kakšnih eksotičnih znakov, medtem ko je njena vrednost
(vrednost) lahko poljuben niz znakov. Če vsebuje
kakšen poseben znak, je ta niz najbolje napisati v dvojnih narekovajih.
<MACRODEF ime>definicija</MACRODEF>
Značko MACRODEF uporabljamo za definicijo makro ukazov.
Ti ukazi lahko imajo tudi parametre (trenutno največ tri). Ime ukaza
(ime) naj ne bi vsebovalo kakšnih eksotičnih znakov,
medtem ko lahko pri njegovi definiciji (definicija) uporabimo
poljubne znake. Definicija ukaza se lahko razteza tudi čez več vrstic.
Če bo ukaz imel parametre, potem se lahko na te parametre v definiciji
sklicujemo z opisi #1, #2 in #3.
<VAR ime>
Vsako pojavitev značke VAR bo program zamenjal z vrednostjo
spremenljivke z imenom ime. Poleg spremenljivk, ki jih definiramo
pri opisu vzorca s pomočjo značke DEFINE, lahko
uporabljamo tudi vse spremenljivke, ki si jih program za interpretacijo
vzorčne datoteke definira sam. Če
spremenljivka ni definirana, bo program privzel, da je njena vrednost prazen niz.
<NOW format>
Značka NOW je namenjena izpisu trenutnega datuma in ure.
Parameter format določa format za izpis.
Ker ponavadi vsebuje kar nekaj posebnih znakov (presledki, minusi, ...), ga je najbolje
zapisati v dvojnih narekovajih. Če ga ne določimo, bo program datum
in uro izpisal po svoje.
<DATE ime format>
Značka DATE je namenjena izpisu datuma, ki je zapisan v
spremenljivki z imenom ime. Datum mora biti zapisan v obliki
YYYYMMDD, kjer je YYYY letnica (štiri
cifre), MM številka meseca (01 do
12), DD pa številka dneva v mesecu
(01 do 31). Parameter format
določa format za izpis datuma. Ker ponavadi
vsebuje kar nekaj posebnih znakov (presledki, minusi, ...), ga je najbolje
zapisati v dvojnih narekovajih. Če ga ne določimo, bo program
datum izpisal po svoje.
<TIME ime format>
Značka TIME je namenjena izpisu ure, ki je zapisana v
spremenljivki z imenom ime. Ura mora biti zapisana v obliki
HHMM, kjer je HH ura (00 do
23), MM pa minute (00 do
59). Parameter format določa
format za izpis ure. Ker ponavadi vsebuje kar nekaj
posebnih znakov (presledki, minusi, ...), ga je najbolje zapisati v dvojnih
narekovajih. Če ga ne določimo, bo program uro izpisal po svoje.
<MACRO ime par1 par2 par3>
S pomočjo značke MACRO lahko uporabimo prej definirani
ukaz z imenom ime. Pri klicu ukaza lahko navedemo tudi (največ
tri) parametre. Če kateri od parametrov vsebuje kakšen poseben
znak, potem je najbolje cel parameter zapisati v dvojnih narekovajih.
<IF pogoj>...</IF>
<IF pogoj>...<ELSE>...</IF>
<IF pogoj1>...<ELIF pogoj2>...</IF>
<IF pogoj1>...<ELIF pogoj2>...<ELSE>...</IF>
S pomočjo značk IF, ELIF,
ELSE in /IF lahko del vzorca vključimo v
obravnavo samo, če je ali ni izpolnjen določen pogoj. Ta struktura
pogojnega stavka je podobna kot v vseh programskih jezikih, zato je ne bi podrobno
opisoval. Omenim naj samo, da lahko značka ELIF nastopa
večkrat zaporedoma, ter da so pogojni stavki lahko tudi gnezdeni, kar
pomeni, da lahko imamo drug pogojni stavek znotraj prvega, na primer:
<if pogoj1> ...
<if pogoj2> ...
<else> ...
</if>
<elif pogoj3> ...
<elif pogoj4> ...
<else> ...
</if>
Program zna trenutno prepoznavati dve vrsti pogojev:
- ime
Ta pogoj je izpolnjen, če je definirana spremenljivka z imenom
ime in ima neprazno vrednost.
- ime=vrednost
Ta pogoj je izpolnjen, če ima spremenljivka z imenom ime
vrednost vrednost. Program pri preverjanju enakosti ne
ločuje med malimi in velikimi črkami.
Druge posebnosti vzorčnih datotek
V vzorčnih datotekah lahko uporabljamo še nekatere posebne prijeme
pri opisu besedila, ki jih v HTML datotekah ne moremo uporabljati. Najprej imamo
tukaj možnost nadzora nad vključevanjem posebnih znakov. To nam
omogočajo razne kombinacije znakov, ki se vedno pričnejo z
nagibnico (backslash, \):
- \n - znak za novo vrstico
- \\ - nagibnica
- \" - dvojni narekovaj
- Če je zadnji znak v vrstici nagibnica, potem bo program ignoriral
nagibnico in znak za novo vrsto. S tem dosežemo, da v poročilu
ne dobimo odvečnih znakov za novo vrsto.
Pri pisanju slovenskih besedil lahko šumnike zapisujemo s posebnimi
nizi, podobno kot v SGML:
- č = č
- š = š
- ž = ž
- Č = Č
- Š = Š
- Ž = Ž
[
Kazalo ||
Naprej ||
Nazaj ||
Na začetek
]