Ustvarjanje vaših lastnih slogov za Pybliographer.
Zoltán Kóta
zoltank@gmail.com
Frédéric Gobry
frederic.gobry@epfl.ch

Dovoljenje Creative Commons - deljenje pod istimi pogoji 3.0

# Novi slogi

Z enostavno datoteko XML lahok opišete svoj lasten slog bibliografije. Datoteka XML naj ima naslednjo glavo:

          <?xml version="1.0"?>

Celoten opis bi se moral prilegati paru oznak <bibstyle>, katerih vsebina je kratko opisana v tem odseku. Zainteresiranim uporabnikom preglagamo ogled ustreznega DTD-ja, ki podrobno opisuje dovoljeno skladnjo. Tega DTD-ja ni mogoče najti v isti mapi kot privzete datoteke sloga.

# Splošno oblikovanje

Datoteka sloga XML opiše kako so različna podatkovna polja organizirana za ustvarjanje bibliografskega sloga. Lahko na primer navede, da se članek začne s krepko tiskanim naslovom članka, ki mu sledijo imena avtorjev, itd.

Trenutno oblika XML ne more opisati podrobnosti nizke ravni kot je na primer izhod avtorjevega imena. To storite s kazanjem na niz funckij python, ki so združene v modul. Oglejmo si naslednji primer:

      <module name="generic">
        <define field="author">full_authors</define>
        <define field="editor">first_last_full_authors</define>
        <define field="date">european_date</define>
        <define method="keys">string_keys</define>
      </module>

V tem primeru zahtevamo da so polja avtor oblikovana s funkcijo `full_authors()`, ki jo je mogoče najti v modulu general.

Tak modul je treba določiti v datoteki pybrc.py z vrstico kot:

    Autoload.preregister ('style','Generic','Pyblio.Style.Generic')

Natančno definicijo funkcij oblikovanja je mogoče bolje razložiti z ogledom kode v Generic.py.

# Definicija bibliofrafije

Ko so osnovne definicije oblikovanja določene, je mogoče opisati z vidika dejanskih bibliografij z naslednjimi oznakami:

<style name="imesloga">

Ta oznaka določi trenuten slog prikaza, med druim krepko, ležeče, nagnjene, poudarjene.

<inentry name="ime vnosa">

Ta oznaka obda blok, ki se pojavi le v vnosih vrste vrsta vnosa.

<notinentry name="ime vnosa">

Ta oznaka obda blok, ki se pojavi le v vnosih, ki niso vrste entryname.

<infield name="ime polja">

Ta oznaka obda blok, ki se pojavi le ko navedeno polje imepolja obstaja v trenutnem vnosu.

<notinfield name="ime polja">

Ta oznaka obda blok, ki se pojavi le, ko se navedeno polje ime polja ne obstaja v trenutnem vnosu.

<vsebina name="imepolja"/>

Prazno oznako zamenja vsebina trenutnega polja (ko je postavljena v blok <inpolje>) ali vsebina polja navedena kot atribut.

<ločnica>

Vsebina te oznake je nič, ko ni bilo izdano še nobeno besedilo. Je priročen način za dodajanje ločnice za polja brez skrbi o posebnih primerih, ko polja niso določena.

Obstoječe datoteke slogov so dobri primeri.

# Prihodnost oblike

V prihodnosti bo to začetno obliko zelo verjetno zamenjal mehanizem osnovan na XSL, ki vsebuje tako definicijo XML kot module python in zagotavlja samostojne datoteke sloga, ki jih lahko razčleni katerikoli razčlenjevalnik XSL.