Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Magisterskie Studia Uzupełniające METODY REPREZENTACJI INFORMACJI Ćwiczenie 1: Budowa i rozbiór gramatyczny dokumentów XML Instrukcja laboratoryjna Opracowanie: Dr inż. Jacek Rumiński Katedra Inżynierii Biomedycznej Gdańsk, 2006
1. WPROWADZENIE. CEL LABORATORIUM. Wymagania dotyczące uczestników ćwiczenia: - znajomość rozszerzalnego języka znaczników XML zgodnie z materiałem wykładowym; - podstawowa znajomość języka HTML; - podstawowa umiejętność programowania; - umiejętność twórczego myślenia. Stosowane technologie i narzędzia w ćwiczeniu: - Przykładowe programy (kody programów) do generacji dokumentów XML (XMLCreator) i rozbioru gramatycznego dokumentów XML (Konfig i SAXParser). - API: Java, JDOM, Xerces, JCreator; - inne: przeglądarka WWW, klient FTP, edytor XML. Materiały wprowadzające i pomocnicze: - XML, XSL, XPath specyfikacje i podręczniki na stronach www.w3c.org oraz www.xml.com, podręczniki drukowane o XML, materiały i wiedza z wykładów; - JDOM dokumentacja na stronie www.jdom.org; - Java dokumentacja na stronie java.sun.com; Cel laboratorium: Celem ćwiczenia laboratoryjnego jest zapoznanie uczestników z różnymi technikami przetwarzania dokumentów XML, w tym: - tworzenie dokumentów XML z zastosowaniem prostych edytorów tekstowych, - tworzenie dokumentów XML z zastosowaniem dedykowanych edytorów dokumentów XML, - tworzenie dokumentów XML z zastosowaniem języków programowania, - rozbiór składniowy (gramatyczny) dokumentów XML, - wykorzystanie dokumentów XML do tworzenia i obsługi plików konfiguracyjnych.
2. PRZEBIEG LABORATORIUM Ramowy program ćwiczenia (łączny czas pracy 2h15min/ 3*45min): 1. Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi programami, przegląd dokumentacji (15 min.); 2. Budowa obiektów danych w prostym edytorze tekstowym (notatnik, edit, itp.) Sprawdzanie czy obiekt danych jest dokumentem XML. Interpretacja wyników, dyskusja (30 min.); 3. Zastosowanie narzędzi do budowy dokumentów XML np. Infox Free. Sprawdzanie i podgląd dokumentów XML. Interpretacja wyników, dyskusja (15 min.); 4. Tworzenie dokumentów XML wykorzystując języki programowania (25 min.); 5. Rozbiór gramatyczny dokumentu XML z zastosowaniem JDOM. (25 min.); 6. Rozbiór gramatyczny dokumentu XML z zastosowaniem SAX. (20 min.); 7. Przesłanie zbioru dokumentów/programów do oceny (5 min.). Ad 1. Wprowadzenie kierownika ćwiczenia. Zapoznanie się uczestników ze stosowanymi programami, przegląd dokumentacji (15 min.); Po wprowadzeniu kierownika ćwiczenia uczestnicy zapoznają się ze stanowiskiem komputerowym, oprogramowaniem i dokumentami związanymi z ćwiczeniem. Następnie utworzyć we wskazanym przez kierownika ćwiczenia katalogu własny podkatalog o nazwie zawierającej własne nazwisko. Do katalogu tego przegrać zawartość podkatalogu DANE (znajdującego się w folderze zawierającym instrukcję do ćwiczenia). W utworzonym podkatalogu należy przechowywać wszystkie wytworzone w czasie trwania ćwiczenia dokumenty i programy. Ad 2. Budowa obiektów danych w prostym edytorze tekstowym (notatnik, edit, itp.) Sprawdzanie czy obiekt danych jest dokumentem XML. Interpretacja wyników, dyskusja (30 min.); Wykorzystując prosty edytor tekstu (tj. notatnik, edit, itp.) utworzyć dokument XML zawierający przykładowy życiorys (np. zyciorysxxx.xml, gdzie XXX inicjały przykładowej, wymyślonej osoby). Życiorys powinien zawierać informacje
osobowe, informacje o wykształceniu, doświadczeniu zawodowym, umiejętnościach, wyróżnieniach i nagrodach, hobby, itd. Wszystkie informacje powinny być ujęte w odpowiedniej formie (pogrupowane) i zawarte w dokumencie XML. Tak utworzony obiekt danych należy zweryfikować, czy jest zgodny ze specyfikacją XML (czy jest dobrze sformułowany). W tym celu należy użyć przeglądarki WWW jako procesora XML sprawdzającego składnię dokumentu. Ad 3. Zastosowanie narzędzi do budowy dokumentów XML np. Infox Free. Sprawdzanie i podgląd dokumentów XML. Interpretacja wyników, dyskusja (15 min.); Wykorzystując dedykowany edytor dokumentów XML (np. Infox Free) należy utworzyć dokument XML zawierający informacje dotyczące tygodniowego planu zajęć (własnego lub osoby wymyślonej). Ad. 4 Tworzenie dokumentów XML wykorzystując języki programowania (25 min.); Utworzyć w edytorze JCreator kod programu XMLCreator.java. Zapoznać się z jego treścią (na przykładzie komentarzy). Następnie skompilować go (Build -> Compile File) i uruchomić (Build -> Execute File). Sprawdzić wydruk na ekranie oraz zawartość zapisanego pliku test.xml. Zwróć uwagę na obsługę kodowania znaków dla wyświetlania dokumentów na ekranie i zapisie do pliku. Następnie należy dokonać edycji kodu źródłowego w celu dodania dodatkowych elementów samochod do generowanego dokumentu XML, zgodnie z wzorcem: //utwórz subelement Element car= new Element("samochod"); car.setattribute(new Attribute("VIN", "12345678")); car.setattribute(new Attribute("nrsilnika", "14123")); car.addcontent(new Element("marka").addContent("VW")); car.addcontent(new Element("model").addContent("GOLF")); car.addcontent(new Element("kolor").addContent("różowy")); //dodaj nowy subelement do elementu głównego root.addcontent(car);
Należy dodać opis co najmniej dwóch samochodów. Skompilować program i uruchomić. Jeżeli wszystko wykona się prawidłowo skopiować plik XMLCreator.java (zachować plik) pod nową nazwą XMLCreator_1.java. Następnie plik XMLCreator.java zmienić w celu generacji dokumentu XML o uproszczonej postaci życiorysu (nie więcej niż 5 elementy) wytworzonego w punkcie 2. Skompilować i uruchomić program w celu weryfikacji prawidłowości generacji dokumentu XML. Ad. 5 Rozbiór gramatyczny dokumentu XML z zastosowaniem JDOM. (25 min.); Na podstawie programu Konfig.java sprawdzić realizację rozbioru gramatycznego dokumentu XML wykorzystując bibliotekę JDOM. W tym celu: 1) przejrzeć analizowany plik config.xml w edytorze, 2) skompilować program Konfig.java, 3) uruchomić program Konfig i sprawdzić generowany wydruk. Następnie wprowadzić zmianę w pliku konfiguracyjnym config.xml w pozycji <dbms type="mysql"> zmienić wartość atrybuty type na odbc. Uruchomić program Konfig (bez powtórnej kompilacji). Sprawdzić wydruk pojawiający się na ekranie. Jaki stąd wniosek? Dodać nowy wpis do pliku konfiguracyjnego config.xml (zgodnie z używanym tam wzorcem) i ponownie uruchomić. Ad. 6 Rozbiór gramatyczny dokumentu XML z zastosowaniem SAX. (20 min.); Po analizie kodu źródłowego pliku SAXParser.java skompilować go a następnie uruchomić. Sprawdzić prezentowany w konsoli wydruk rozbioru gramatycznego. Następnie dokonać zmiany w kodzie źródłowym, w celu realizacji rozbioru gramatycznego utworzonego wcześniej dokumentu XML zawierającego życiorys. Wprowadzić celowo błąd składni w dokumencie XML. Sprawdzić efekt rozbioru gramatycznego. Jaka implementacja parsera (zgodnego z SAX) jest używana?
3. ZASADY OCENIANIA Rezultatem wykonania ćwiczenia jest zestaw dokumentów XML oraz przykładowe kody programów. Wszystkie opracowania, a więc wymienione pliki i programy, należy przesłać na serwer FTP (adres i dane dostępu podane będą na zajęciach) w formie pakietu (spakować do pliku o nazwie nazwisko_imie.zip), co stanowi podstawę oceny. W analizie przesłanego materiału na ocenę wpływać będzie: budowa dokumentów XML, ich zgodność ze specyfikacją oraz złożoność dokumentów i programów (w zakresie omawianego tematu). Ponadto na ocenę punktową z ćwiczenia wpływać będzie również aktywność na zajęciach. 4. UWAGI DODATKOWE Do instrukcji dostępnej w laboratorium załączono kody źródłowe wykorzystywanych w ćwiczeniu programów. Należy zapoznać się z komentarzami umieszczonymi w programach, co pozwoli na lepsze zrozumienie działań wykonywanych w czasie ćwiczenia laboratoryjnego. Załączono również przykładowe dokumenty XML.