Witajcie - Tak naprawdę myślenie nie boli. I mam nadzieję iż Ci którzy chcą i użyczą swój otwarty umysł innym, przyłączą się do inicjatywy, o której piszę na swoim blogu Inzynieria. Stwórzmy czy to zawodowo- Informatycznie, czy międzyludzko strefę, która stale będzie się powiększać. W jedności siła. Bo aby zmienić świat trzeba chcieć i działać.
W ramach zmieniania świata i pomocy innym postanowiłem upublicznić to co udało mi się wypracować z moim nauczycielem z pracy. Zrobiłem to aby inni też się otworzyli.
Poniżej przedstawiam efekty mojej pracy:
- Ujarzmione tabele w XSL`u przy użyciu CSS`a w ALEPH 16.
Dla przypomnienia i celem wprowadzenia – w systemie Aleph 16 mechanizm drukowania oparty jest o standard:
- - XML (eXtensible Markup Language)
- XSL (eXtensible Style Language)
- HTML (HyperText Markup Language)
Należy przy tym pamiętać iż plik XSL zawiera minimalna ilość informacji o stylach, a dodatkowo posiada swoje ograniczenia. (Przykładem jest tu kwestia formatowania tabeli.)
Zagłębiając się w XSL`a należy wspomnieć iż istnieją trzy podstawowe układy, w których nasze dane mogą być wyświetlone:
- - Free
- Grid
- Split
Przeszukując katalog /exlibris/aleph/u16_1/wasza_baza50/form_pol (gdzie znajdują się nasze formularze wydruków XSL) w poszukiwaniu znacznika BORDER znajdziemy go tylko w pliku funcs-table.xsl.
Poniżej przedstawiam fragment kodu:
Ograniczenia o jakich wspomniałem wcześniej przy formatowaniu powodują iż przy pomocy XSL`a nie jesteśmy w stanie zmienić wyglądu naszej tabeli na wydruku – składa się ona z "dwóch linii". Przy wydrukach gdzie jest mała ilość wierszy i kolumn taki format tabeli może nie stanowić problemu. Lecz w przypadku gdy mamy do czynienia z dużym wydrukiem staje się on poprzez takie formatowanie mało czytelny.
Optymalne rozwiązanie to zbudowanie takiej tabeli do której jesteśmy przyzwyczajeni czyli składającej się z "jednej linii".
Na pomoc w rozwiązaniu takiego problemu przychodzi nam CSS (Cascading Style Sheets).
Dzięki tzw. kaskadowym arkuszom stylów jesteśmy w stanie „przeformatować” naszą tabelę.
(CSS może nam również posłużyć do ożywienia wyglądu innych elementów naszego wydruku.)
Chcąc włączyć CSS`a w naszego XSL`a należy:
1. Utworzyć nową funkcję np. grid-ramka i dodać ją np. w pliku funcs-table.xsl:
2. W funkcji grid-open (w pliku funcs-table.xsl) należy dodać w elemencie TABLE atrybut ID o nazwie grid w następujący sposób:
3. W formularzu wydruku wywołujemy zdefiniowaną wcześniej funkcję grid-ramka w następujący sposób:
Przemysław Bielecki
BIBLIOGRAFIA (linki):
- Mechanizm translacji – pliki trn (Aleph16).
Szukając rozwiązania (znane polecenie grep) naszym oczom ukazał się plik translate_readme.txt (/exlibris/aleph/u16_1/wasza_baza_50/form_pol)
A tutaj dużo ciekawych informacji odnośnie interesujących nas parametrów w pliku cash-summary.trn np.:
Kod: |
ADD-SIGN adds "-" or "+" depending on the credit-debit value ("C", "D"). put in the param-column the relevant "*-credit-debit". SIGN1 Accounting notation for signed numbers: -number translated to "(number)" +number translated "number" SIGN2 -number kept as "-number" +number translated "number" DEL-SIGN removes + or - from prefix CREDIT-TXT Add text specified in param for sums proceeded by "+" DEBIT-TXT Add text specified in param for sums proceeded by "-" |
I to co nas interesuje:
Kod: |
NONE returns the original-value. no parameter required. |
Oczywiście podane też są przykłady zastosowania wymienianych parametrów.
Informacja ta powstała dzięki pracy Bożeny Guziuk-Dąbrowskej.
Przemysław Bielecki
BIBLIOGRAFIA (linki):
1. Modyfikacja Wydruków (XML i XSL)
- „Obrazki” w wydrukach XSL w ALEPH 16
Do tego celu wykorzystamy funcs.xsl, w którym zbudujemy naszą funkcję, którą w plikach wydruków XSL będziemy wywoływali.
Uwaga - jeżeli planujemy stworzyć wiele funkcji dobrze by było, aby siedziały one w innym pliku niż globalny funcs.xsl.
Takie działanie pozwoli nam zachować przejrzystość kodu, a w razie pojawienia się problemu przyspieszy jego rozwiązanie.
W tym celu należy:
1. Utworzyć nową funkcję np. „header-obrazek” w nowym pliku np. funcs-nasze.xsl :
Istotę tej funkcji stanowi poniższy zapis:
Prezentowana składnia nie jest przypadkowa i poświecę jej tu chwilę.
Jak widzimy nasz obrazek jest pobierany z katalogu dzięki znanemu z HTML`a elementowi img z atrybutem src (które może być [ścieżką lub URL`em]). Pamiętajmy iż w XSL`u w przeciwieństwie do HTML`a nasz element zamykamy „/>”.
(Informację o tym w jaki sposób położyć obrazek na serwerze dla zainteresowanych prześlę emailem)
2. W pliku globalnym np. funcs.xsl dodajemy linię wywołującą naszą funkcję np.:
3. Teraz edytując nasz plik wydruku XSL w miejscu, które jest przewidziane na nasz obrazek wpisujemy:
Przedstawiony powyżej sposób ma jeszcze tę zaletę iż w plikach wydruków XSL wywołujemy tylko funkcję zamiast za każdym razem przepisywać kod.
Informacja ta powstała dzięki pracy Iwony Sikory i Bożeny Guziuk-Dąbrowskej.
Przemysław Bielecki
(email w profilu)
Oczywiście wszystkie te nasze prace są widoczne pod adresem http://www.aleph.pl/forum/viewforum.php?f=1
Poza tymi informacjami mamy małą porcję ze świata:
- Profesjonalna animacja w domu...
- Jądro 2.6.26 - kolejne możliwości
- Windows Vista Compatibility CenterBETA
Pozdrawiam
Miłego Dnia :)
Brak komentarzy:
Prześlij komentarz