*
Janosik - Logo
*

Janosik
Założenia
Aktualności
Loga - projekty
Zrzuty ekranu
Lista dyskusyjna
Dostęp przez CVS
Pliki (download)
Linki
Development
KXML-howto
Płatnik pod Wine
Prawnicze (wy)boje

Valid HTML 4.0!

KXML-howto

    Podstawowymi klockami, na których opiera się Janosik, są szablony KXML. Każdemu szablonowi odpowiada odpowiedni formularz ZUS. Z szablonów są generowane płatnikowe pliki KEDU. Innego typu szablony służą do drukowania, w nieniejszym dokumencie zajmiemy się tylko szablonami kxml.

     Aby stworzyć nowy szablon potrzebujemy w zasadzie tylko jednej rzeczy: tzw. specyfikacji wejścia/wyjścia, którą można pobrać ze stron ZUS lub Janosika.

Następnie wybieramy dokument, który nas interesuje. Lista opracowanych formularzy znajduje się na stronie Development projektu. Powinniśmy więcy wybrać jeden z tych, których brak.

Następnie tworzymy pusty plik tekstowy, w którym umieszczamy następujące linijki:
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>

</dokument>
Cała nasza praca znajdzie się między znacznikami dokument.
Przyjrzyjmy się tworzeniu szablonu na przykładzie już istniejącego, RNA.

Przede wszystkim odszukujemy opis RNA w specyfikacji (str. 57 w dokumencie PDF). Znacznik początkowy formularza to ZUSRNA, w naszym kxml oznaczmy to jako
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>
<pola name="rna">

</pola>
</dokument>
Jeśli przyjrzymy się specyfikacji, zobaczymy, że formularz jest podzielony na sekcje. Pierwsza z nich nazywa się DORNA, druga DIPL, trzecia DDORNA itd. W kxml podchodzimy do tego następująco:
<?xml version ="1.0" encoding="iso-8859-2"?>
<dokument>
<pola name="rna">
	<section name="dorna" desc="Dane organizacyjne">
	</section>
</pola>
</dokument>
Atrybut "name" to nazwa znacznika, zaś "desc" to jego opis, dokładnie taki, jaki pojawia się w specyfikacji.

Został nam ostatni, najważniejszy element -- właściwe pola formularza. Przyjrzyjmy się przykładom:
<pole name="dorna_identyfikator" longname="Identyfikator raportu"
kedu_length="8">+dorna_identyfikator+</pole>

"Name" to unikalny identyfikator pola, który tworzymy z nazwy sekcji, podkreślenia oraz nazwy. Wybierając nazwę powinniśmy kierować się zdrowym rozsądkiem. "Longname" to napis, który pojawi się przy danym polu w oknie dialogowym, jest to więc "Opis pola" z dokumentacji, ale w granicach rozsądku -- jeśli opis jest bardzo długi, trzeba go przyciąć. "Kedu_length" to długość pola, "Rozmiar" z dokumentacji. "+dorna_identyfikator+" to fragment, który jest podmieniany. Powinna to być wartość atrybutu "pole" ograniczona znakami "+". Jeśli pole powinno zostac uzupełnione zerami, dodajemy specjalny atrybut ZEROED nadając mu wartość "true". Jeśli spacjami -- dodajemy atrybut SPACED="true".

Gotowy szablon możemy umieścić w CVS lub podesłać na listę.