XML2ISIS UNESCO Czerwiec 2001 Współpraca: Autor programu: DBA, Włochy Giovanni Santini Wersja dokumentacji 1.004 Tłumaczenie z jęz. ang.: Stanisław Romański Instytut INTE
Spis treści 1. Wprowadzenie 3 2. Instalacja 3 2.1. Kasowanie instalacji XML2ISIS 3 2.2 Tworzenie nowej wersji językowej 4 3. Jak działa XML2ISIS 4 4. Importowanie - faza I 4 4.1 Ustawienia systemowe 5 5. Importowanie - faza II 7 5.1 Ładowanie istniejącego FDT 8 5.2 Automatyczne tworzenie nowego FDT 9 5.3 Ręczne wstawianie i edycja pól FDT 10 5.4 Odwzorowywanie pól 11 6. Importowanie - faza III 13-2 -
1. Wprowadzenie Niniejsze oprogramowanie zostało stworzone przez UNESCO i jest rozprowadzane na zasadach GNU GPL (Ogólnej Licencji Publicznej): http://www.gnu.org/licenses/licenses.html Do wykorzystywania programu wymagana jest dobra znajomość CDS/ISIS oraz XML. Dokumentacja odwołuje się do znaczników XML nazywając je polami XML, aby uwypuklić podobieństwa do pól bazy danych. Głównym zadaniem programu jest importowanie do bazy CDS/ISIS plików XML tworzonych przez Winisis 1.4 (lub nowszy) w celu umożliwienia wymiany danych pomiędzy użytkownikami CDS/ISIS. Oprogramowanie zostało napisane przy użyciu pakietu Delphi firmy Borland. Kod źródłowy jest dostępny w pliku instalacyjnym; można go też uzyskać z UNESCO. Zastrzeżenie UNESCO DOSTARCZA XML2ISIS TAKIM JAKI JEST, BEZ GWARANCJI ŻADNEGO RODZAJU, JAKKOLWIEK WYRAŻANEJ LUB IMPLIKOWANEJ, WLICZAJĄC W TO LECZ NIE OGRANICZAJĄC SIĘ DO PRZYDATNOŚCI XML2ISIS DO JAKIEGOKOLWIEK SZCZEGÓLNEGO ZASTOSOWANIA. CAŁKOWITE RYZYKO ZARÓWNO DOTYCZĄCE JAKOŚCI JAK I DZIAŁANIA XML2ISIS CIĄŻY NA INSTYTUCJI OTRZYMUJĄCEJ. W ŻADNYM WYPADKU UNESCO ANI DYSTRYBUTOR NIE BĘDZIE ODPOWIADAĆ ZA ŻADNE STRATY, WLICZAJĄC W TO UTRACONE ZYSKI LUB INNE ZNISZCZENIA PRZYPADKOWE CZY BEDĄCE KONSEKWENCJAMI UŻYCIA ALBO Z NIEMOŻNOŚCI UŻYCIA XML2ISIS. Współpraca: Koordynacja: DBA, Italy (http://www.dba.it) Autor programu: Giovanni Santini Parser XML Open Source: Destructor.de (http://www.destructor.de) Biblioteka ISIS_DLL: UNESCO/BIREME (http://www.bireme.br) Kontakty: Davide Storti, UNESCO, Wydział ds. Społeczeństwa Informacyjnego (d.storti@unesco.org) Oficjalna strona CDS/ISIS: http://www.unesco.org/webworld/isis 2. Instalacja XML2ISIS jest 32-bitowym programem dla systemu operacyjnego Windows 95 lub jego następców. Pakiet XML2ISIS jest dostępny do skopiowania na stronie: ftp://ftp.unesco.org/pub/winisis/windows/utilities Aby zainstalować XML2ISIS, należy uruchomić program XML2ISIS.EXE. Pojawi się wówczas pytanie o katalog docelowy. Zalecane jest użycie katalogu Winisis, na przykład: c:\winisis XML2ISIS zostanie zainstalowany w tym katalogu. Oprogramowanie jest dostarczane z wersjami językowymi: angielską, francuską, włoską 1. Nowych wersji językowych można szukać na stronach WWW. 2.1. Kasowanie instalacji XML2ISIS Aby usunąć XML2ISIS z komputera wystarczy, używając np. Eksploratora Windows, usunąć następujący plik (nieistotne są małe/wielkie litery w nazwie): XML2ISIS.EXE Można też ewentualnie usunąć skrót do XML2ISIS i wszystkie zainstalowane wersje językowe, na przykład: 1 Polscy użytkownicy otrzymują także polską wersję językową (przyp. tłum.). - 3 -
XMLISIS_EN.INI XMLISIS_FR.INI XMLISIS_IT.INI XMLISIS_PL.INI 2.2. Tworzenie nowej wersji językowej Aby utworzyć nową wersję językową XML2ISIS, należy stworzyć kopię pliku XMLISIS_EN.IN przechowywanego w katalogu instalacyjnym XML2ISIS. Następnie należy przemianować nowy plik używając innego akronimu (np. XMLISIS_GR.INI dla języka greckiego) 2. Plik ten można zmodyfikować używając standardowego Notatnika systemu Windows, tłumacząc wszystkie komunikaty na nowy język. Utworzony w ten sposób plik powinien być umieszczony w folderze instalacyjnym XML2ISIS. Może być konieczne ponowne uruchomienie XML2ISIS w celu uwzględnienia przez ten program nowej wersji językowej. 3. Jak działa XML2ISIS XML2ISIS jest programem do importowania danych XML do baz CDS/ISIS. Taka operacja może być podzielona na następujące fazy: i. Otwarcie źródłowego pliku XML i wczytanie jego tablicy definicji danych (DTD) lub przejrzenie całego pliku XML w celu zinwentaryzowania jego struktury. ii. Wydobycie fragmentu struktury XML z definicji XML, zaczynając od poziomu wskazanego przez operatora; celem tej czynności jest załadowanie lub automatyczne utworzenie tablicy definicji pól (FDT) systemu CDS/ISIS oraz dokonanie niezbędnych poprawek w skojarzeniu pól (znaczników) XML z polami CDS/ISIS. iii. Utworzenie/zaktualizowanie bazy CDS/ISIS. Uwaga: Bieżąca wersja nie potrafi aktualizować istniejących baz danych. Oczywiście, istnieją ograniczenia - XML jest bardzo swobodnym i złożonym formatem do opisu danych, natomiast struktura danych CDS/ISIS jest ograniczona do 3 poziomów: rekord, pole, podpole. Tak jak tego wymaga XML, CDS/ISIS obsługuje pola powtarzalne i podpola oraz może przechowywać rekordy różnych typów Istnieją jednak ograniczenia związane z nazwami zarówno pól jak i podpól: długość nazwy pola CDS/ISIS nie może przekroczyć 30 znaków, a nazwy podpól są ograniczone do jednego znaku alfanumerycznego. Ze względu na te ograniczenia, XML2ISIS przewiduje, na przykład, możliwość łączenia pól powyżej drugiego poziomu, przy zastosowaniu specjalnie zdefiniowanego separatora. Możliwe jest łączenie dwóch lub więcej pól XML w jedno pole lub podpole bazy CDS/ISIS. 4. Importowanie - faza I XML2ISIS po uruchomieniu wyświetla następujące okno: 2 Nazwa pliku zawierającego wersję językową ma postać ogólną XMLISIS_cc.IN, gdzie cc jest dwuliterowym kodem języka (przyp. tłum.). - 4 -
4.1. Ustawienia systemowe Zakładka Ustawienia pozwala na określenie kilku parametrów: Można wybrać domyślną ścieżkę dla tworzonych plików i zmienić język konwersacji. Separator pól połączonych jest znakiem, który będzie wstawiany pomiędzy dwa pola XML wpisywane razem do tego samego wystąpienia pola tworzonych rekordów bazy CDS/ISIS. Zmieniając Max rozmiar rekordu można ustawić maksymalną długość dozwoloną dla rekordu CDS/ISIS oraz wybierając Kontrolę długości rekordów wskazać sposób postępowania w przypadku przekroczenia tego ograniczenia. W tym celu są dostępne 3 opcje: Bez interwencji - jedynie wyświetlenie ostrzeżenia w oknie komunikatów. Podział - podział pola (pól) na kilka rekordów w razie potrzeby. Obcięcie - skrócenie zawartości pola do wymaganej długości. Gdy XML2ISIS importuje dane z pliku XML, dane są automatycznie konwertowane z zestawu znaków systemu Windows (ANSI) do właściwego dla bazy CDS/ISIS zestawu znaków systemu DOS (OEM). Aby umożliwić zastosowanie innej konwersji, XML2ISIS akceptuje standardowe dla WinIsis tablice konwersji. Stosowna tablica może zostać wybrana w polu Tablica konwersji znaków. Tablica ta musi znajdować się w katalogu startowym XML2ISIS, razem z plikami wersji językowych INI. Na przykład, WinIsis dostarczany jest z tablicą konwersji o nazwie TXT_TXT.tab. Użycie tej tablicy spowoduje, że dane XML będą importowane bez zmiany sposobu ich kodowania. Przed rozpoczęciem importowania należy wybrać źródłowy plik XML, klikając w przycisk Załaduj XML; XML2ISIS umożliwi wskazanie nazwy tego pliku. - 5 -
Gdy zostanie wybrany plik XML (taki jak CDS.xml), w głównym oknie pojawiają się dwa nowe przyciski: Przycisk Pobierz DTD powoduje przejrzenie pliku XML w poszukiwaniu definicji DTD, natomiast przycisk Przeglądaj dane - odczytanie całego pliku XML w celu odtworzenia jego struktury (w przypadku plików XML o dużych rozmiarach czynność ta może chwilę potrwać). Wyniki obu działań mogą się różnić. Teoretycznie, poprawnie skonstruowany dokument XML jest w pełni zgodny ze swoją tablicą DTD. W innych plikach może być brak takiej zgodności, co spowoduje różnice w otrzymanych wynikach. Na próbę można skorzystać z przycisku "Pobierz DTD" w odniesieniu do dostarczonego pliku CDS.xml. - 6 -
5. Importowanie - faza II Po załadowaniu DTD pojawia się zakładka o nazwie Struktura: Naciśnięcie przycisku Odtwórz strukturę rekordu otwiera okienko z zapytaniem o poziom startowy drzewa: Poziom ten jest istotny, gdyż reprezentuje najniższy poziom znacznika XML, który będzie uwzględniany podczas kojarzenia struktur danych XML z FDT bazy CDS/ISIS. Rozważmy na przykład następujący plik XML 3 : <library> <shelf num= 1 > <book> <title>cds/isis for Windows User Manual</title> <author>unesco</author> </book> </shelf> <shelf num= 2 > <book> <title>xml for everybody</title> <author>smith</author> </book> </shelf> </library> Powyższa struktura reprezentuje następujące poziomy: a) biblioteka (ang. library) b) półka (ang. shelf) c) książka (ang. book) d) tytuł, autor (ang. title, author) W zależności od wybranego poziomu startowego (w tym przypadku można wybrać 0, 1, 2), pomijana jest informacja z niższych poziomów. Rozpoczęcie na poziomie drugim daje następujące drzewo XML: 1. książka 2. tytuł, autor wynikiem rozpoczęcia na poziomie 1 jest drzewo: 1. półka 2. książka 3. tytuł, autor natomiast rozpoczęcie od poziomu 0 odtwarza pełną strukturę drzewa XML. 3 Jest on dostarczony w postaci pliku sample1.xml (przyp. tłum.). - 7 -
Sugestia: używając przykładu CDS.xml, wybierzmy poziom 1. 5.1. Ładowanie istniejącego FDT Przykład użycia CDS.xml od poziomu 1 Na tym etapie trzeba skojarzyć znaczniki XML ze strukturą CDS/ISIS. Taka struktura jest definiowana i zawarta w plikach mających rozszerzenie FDT. W naszym przypadku, baza CDS/ISIS już istnieje (jest ona rozpowszechniana z wszystkimi wersjami systemu CDS/ISIS); wobec tego można użyć CDS.FDT. Po kliknięciu przycisku Załaduj FDT - 8 -
należy przejść do katalogu zawierającego bazę CDS (często jest to folder instalacyjny Winisis) i wskazać plik CDS.FDT: c:\winisis\data\cds.fdt Struktura bazy CDS pojawia się w prawym panelu. Załadowany plik CDS.FDT Uwaga: po załadowaniu zewnętrznego FDT, nie ma aktywnych ani domyślnych powiązań między obydwoma panelami. 5.2. Automatyczne tworzenie nowego FDT Jeśli struktury importowanego pliku XML i istniejących baz CDS/ISIS są różne lub jeśli użytkownik zamierza utworzyć kompletnie nową FDT i bazę, powinien on użyć klawisza Utwórz FDT. Pojawi się następujący okno dialogowe: - 9 -
Bazując na poziomie startowym drzewa XML, dwa pierwsze poziomy znaczników XML są domyślnie uważane odpowiednio za pola i podpola. Kolejne poziomy są traktowane zgodnie z wyborem dokonanym w ramce Atrybuty/Pola poziomu 3. Okno dialogowe Automatyczne tworzenie FDT pozwala sterować sposobem w jaki atrybuty znaczników XML są traktowane podczas importowania. Atrybuty na poziomie 1 mogą być: Ignorowane Ładowane do osobnych pól bazy CDS/ISIS Łączone wszystkie razem w pojedyncze pole bazy CDS/ISIS Atrybuty na poziomie 2 mogą być: Ignorowane Ładowane do osobnych podpól bazy CDS/ISIS Łączone wszystkie razem w pojedyncze podpole bazy CDS/ISIS Łączone wszystkie razem w nowe pole bazy CDS/ISIS Jak wspomniano wcześniej, atrybuty i znaczniki (pola) na poziomie 3 mogą być: Ignorowane Łączone w pojedyncze podpole Łączone wszystkie razem w pojedyncze nowe pole Rozważając poprzedni przykład (plik XML z opisem biblioteki), domyślne ustawienia XML2ISIS utworzą (przy starcie z poziomu 0) w bazie CDS/ISIS pole o nazwie shelf i wyróżniku 1 (skojarzone z <shelf>). W tym polu wystąpią dwa podpola o nazwach ^a i ^b (skojarzone odpowiednio z <title> i <author>) 5.3. Ręczne wstawianie i edycja pól FDT Możliwe jest także ręcznie utworzenie FDT poprzez wstawianie po kolei potrzebnych pól. Naciśnięcie prawego przycisku myszy na pustym panelu FDT i wybranie Dodaj POLE spowoduje wyświetlenie okna dialogowego: Przy użyciu tego okna można dodawać pola lub zmieniać ich definicję poprzez modyfikację: a) wyróżnika pola, b) nazwy pola, c) jego podpól, d) nominalnej maksymalnej długości pola, e) określenia czy pole jest powtarzalne. Uwaga: podpola są tu reprezentowane jako sekwencje pojedynczych znaków bez spacji, na przykład abcd (warto zwrócić uwagę, że jest to standardowa notacja dla podpól CDS/ISIS). W dowolnym momencie można zmodyfikować właściwości pól przez podwójne kliknięcie nazwy pola w prawym panelu (FDT) lub przez kliknięcie prawym przyciskiem i wybranie czynności Edycja POLA. Oczywiście, edycja podpól nie jest dozwolona. Uwaga: Podczas edycji pola, gdy zmieniana jest jakaś cecha podpola, wszystkie bieżące asocjacje podpól tego pola są kasowane! - 10 -
5.4. Odwzorowywanie pól Teraz można rozpocząć odwzorowywanie pól XML na pola FDT. Tę operację można łatwo wykonać metodą "przeciągnij i upuść" - nazwy pól XML są upuszczane na odpowiadające im pola lub podpola FDT. Poniżej w lewym panelu można zauważyć elementy żółte i zielone. Żółte to te, które nie są odwzorowane w prawym panelu FDT, a zielone to te, które są odwzorowane. Te ostatnie można rozpoznać po poprzedzających je zielonych znaczkach. Aktualne odwzorowanie można uwidocznić wybierając jedno z pól w dowolnym panelu (zostaną podświetlone odpowiednie pola w obu panelach). Uwaga: możliwe jest powiązanie pojedynczego pola FDT z wieloma polami XML. Aby skompensować elastyczność XML, dozwolone jest łączenie wielu pól XML w jedno pole FDT. Należy jednak zwracać uwagę na rozmiary łączonych pól, których suma może przekroczyć maksymalny dozwolony rozmiar pola lub rekordu w bazie CDS/ISIS (aktualne wersje dopuszczają do 30 000 znaków). Określanie odpowiedniości pól - 11 -
Dla obiektów występujących zarówno w lewym (XML) jak i prawym (FDT) panelu są dostępne odpowiednie czynności po kliknięciu na ten obiekt prawym przyciskiem myszy. Dla pola XML jest wyświetane następujące menu: Po kliknięciu prawym przyciskiem myszy na obiekt występujący w lewym panelu można wybrać jedną z następujących czynności: a. NIE będzie UŻYTE - kasuje odwzorowanie wskazanego pola XML b. Utwórz jako POLE - tworzy powiązanie wskazanego pola XML z polem bazy CDS/ISIS c. Utwórz jako PODPOLE - tworzy powiązanie wskazanego pola XML z podpolem bazy CDS/ISIS W szczególności, ta ostania czynność jest możliwa tylko wtedy, gdy w panelu FDT występuje co najmniej jedno pole. W takim przypadku jest wyświetlane okienko dialogowe z nazwami dostępnych pól: - 12 -
Należy wybrać pole, w którym ma zostać utworzone podpole, i nacisnąć OK w celu zatwierdzenia odwzorowania. Po kliknięciu prawym przyciskiem myszy na obiekt występujący w prawym panelu można wybrać jedną z następujących czynności: a. NIE będzie UŻYTE - kasuje odwzorowanie odpowiedniego pola XML b. Edycja POLA - pozwala modyfikować definicję pola (nazwę, podpola, rozmiar, atrybut powtarzalności) c. Dodaj POLE - tworzy nowe pole nie związane z żadnym elementem XML d. Dodaj PODPOLE - tworzy nowe podpole we wskazanym polu e. Usuń POLE - usuwa wskazane pole f. Opróżnij FDT - usuwa wszystkie definicje pól z FDT Uwaga: oczywiście, niektóre z tych czynności nie są dostępne dla podpól. 6. Importowanie - faza III Gdy wszystkie powiązania zostały określone, można przejść do importowania danych. Odpowiedni przycisk jest dostępny w ramach zakładki ISIS. Uwaga: bieżąca wersja nie może aktualizować istniejących baz danych. W celu utworzenia nowej bazy należy kliknąć przycisk Utwórz bazę i podać nazwę nowej bazy (do 6 znaków) lub wybrać nazwę bazy, której zawartość zostanie zastąpiona (należy zachować szczególną ostrożność). - 13 -
Gratulacje! Plik XML został załadowany do wskazanej bazy CDS/ISIS. Teraz można otworzyć tę bazę przy użyciu Winisis i sprawdzić jej zawartość. - 14 -