Definicje XML

Z VatoWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Okno programu, w którym wprowadza się, modyfikuje definicje raportów XML.

Plik formatu XML umożliwia zapisanie informacji z dowolnej bazy danych, a nawet twierdzi się, że XML jest bazą danych. Ponieważ cały współczesny Świat informatyczny w końcu dogadał się w zakresie formatu wymiany danych, będziemy się starali, żeby to oprogramowania spełniało te nowoczesne tendencje. Nie patrząc na strategię wielu producentów (i autorów) oprogramowania, którzy starają się wbudować eksport do XML do swoich aplikacji, ale niestety ze sztywną strukturą, to oprogramowanie pozwala na swobodną definicję struktury XML.

Kilka szczegółów technicznych:

  • xml składa się z elementów i atrybutów
  • element definiujemy jako ścieżka np. \raporcik\element
  • atrybut definiujemy jako ścieżka zakończona wskazaniem czyli, np. \raporcik\element\@atrybucik

W tym oknie znajdują przykłady, które zawierają wykaz elementów i atrybutów pliku xml. Import i eksport danych musi być poprzedzony zdefiniowaniem, co i gdzie ma się znaleźć, czyli należy wskazać z której tabel i pola mają pochodzić dane do atrybutu i do której tabeli i pola mają być zapisane dane z atrybutu. Oba procesy różnią się między sobą kierunkiem przepływu danych i dlatego należało wprowadzić pewne zmienne pomocnicze:

Eksport: pozycja, rekordy, liczba
Import: wartość

Zmienna pomocnicza pozycja zawiera aktualnie eksportowaną pozycję, może przyjmować wartości zgodnie z zapisem w polu liczba definicji XML, czyli np. 0...999

Zmienne rekordy i liczba, to jednowymiarowa tablica zwierająca numery zaznaczonych rekordów w multiselekcie (w tabelce okienka po naciśnięciu Shift i kliknięciu myszką na jakiś oddalony wiersz), a liczba, to rozmiar tej tablicy. Przykład zastosowania wszystkich zmiennych pomocniczych:

iif(pozycja<=liczba,UZ->(dbgoto(rekordy[pozycja])),.F.)

Formuła sprawdza, czy aktualna pozycja jest możliwa do osiągnięcia, czyli czy jest rekord do którego można zrobić skok za pomocą funkcji dbgoto(), jeśli tak to go wykona, a jeśli nie, to zwraca FAŁSZ, co jest sygnałem o końcu eksportu danych. Funkcje zapisane jako formuła elementu powinny zwracać wartość logiczną oznaczającą zgodę na kontynuację procesu lub brak zgody.

Zmienna wartość zawiera wartość atrybutu do zapisu w polu tabeli bazy danych.

W formułach można zastosować następujące funkcje:

Funkcja Opis
val( <tekst> ) zwraca liczbę
str( <liczba>, <długość>, <po kropce> ) zwraca tekst
iif(<warunek>,<prawda>,<fałsz>) zwraca odpowiednio <prawda> lub <fałsz> w zależności od spełnienia <warunek>
int(<liczba>) zaokrągla do liczby całkowitej poprzez odcięcie
liczba(<nieznany_typ>) zwraca liczbę
round(<liczba>,<dziesiąte>) zaokrągla matematycznie do <dziesiąte> miejsc po przecinku (kropce)
rtrim(<tekst>) odcięcie spacji z prawej strony tekstu
ltrim(<tekst>) odcięcie spacji z lewej strony tekstu
StrTran(<tekst>, <szukany>, [<zamien_na>], [<nr_znaku_poczatku>], [<nr_znaku_konca>]) zwraca <tekst> z zamienionymi znakami <szukany> na <zamien_na>, można nie stosować pozostałych parametrów
dbskip(<liczba>) zmień rekord o <liczba> pozycji
dbgoto(<liczba>) skocz do rekordu o numerze <liczba>
dbseek(<tekst>) szukaj łańcucha tekstowego zgodnie z indeksem
padl(<tekst>,<liczba>) uzupełnij <tekst> o <liczba> spacji z lewej strony
padr(<tekst>,<liczba>) uzupełnij <tekst> o <liczba> spacji z prawej strony