Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Implementacja procesora XSLT w języku Ocaml Patryk Czarnik Prezentacja tematu pracy magisterskiej.

Podobne prezentacje


Prezentacja na temat: "Implementacja procesora XSLT w języku Ocaml Patryk Czarnik Prezentacja tematu pracy magisterskiej."— Zapis prezentacji:

1 Implementacja procesora XSLT w języku Ocaml Patryk Czarnik Prezentacja tematu pracy magisterskiej

2 Plan prezentacji Omówienie tematyki –XML –DOM –XSLT i XPath Co ja chcę zrobić –Ocaml –Części składowe mojego projektu

3 XML - Extensible Markup Language XML to sposób zapisywania w plikach tekstowych różnorakich danych z zachowaniem ich struktury XML jest podzbiorem standardu SGML prostszym w parsowaniu, przetwarzaniu

4 Przykładowy dokument XML Przykładowy dokument XML Największym miastem w Polsce jest Warszawa.

5 Przykładowy dokument XML Przykładowy dokument XML Największym miastem w Polsce jest Warszawa. deklaracja XML

6 Przykładowy dokument XML Przykładowy dokument XML Największym miastem w Polsce jest Warszawa. element główny dokument

7 Przykładowy dokument XML Przykładowy dokument XML Największym miastem w Polsce jest Warszawa. elementy tytuł, treść

8 Przykładowy dokument XML Przykładowy dokument XML Największym miastem w Polsce jest Warszawa. atrybuty data-wydania, sym

9 Inne przykłady ustawienia programów

10 Inne przykłady Smith Morgan Morgan dane z bazy danych

11 Dowolna struktura - zaleta czy wada? Dowolność w nazywaniu elementów, atrybutów oraz ich strukturze, zagnieżdżaniu... Łatwo pisać, trudniej analizować Do konkretnego zastosowania warto ustalić strukturę dokumentu XML, stworzyć pewną klasę dokumentów ("zastosowanie XML")

12 DTD - Document Type Definition określa dopuszczalne nazwy elementów określa typ zawartości elementów dla danego elementu określa atrybuty, ich typ zawartości, wartość domyślną,... definiuje encje, które można wstawiać w dokumencie

13 Przykład DTD ]>

14 DOM - Document Object Model O dokumencie można myśleć jak o drzewie, którego węzłami są elementy, atrybuty, węzły tekstowe Formalnie określa to DOM - rekomendacja W3C (IDL i opis działania) Najnowsza obowiązująca wersja DOM level 2 ( ) składa się z jądra i niezależnych modułów

15 DOM - fragment IDL interface Node { const unsigned short ELEMENT_NODE = 1; readonly attribute DOMString nodeName; attribute DOMString nodeValue raises(DOMException) on setting; readonly attribute unsigned short nodeType; readonly attribute Node parentNode; readonly attribute NodeList childNodes; readonly attribute Node firstChild; readonly attribute Node previousSibling; readonly attribute NamedNodeMap attributes; Node insertBefore(in Node newChild, in Node refChild) raises(DOMException);... };

16 Prezentacja danych XML Często XML zawiera dane, które chcielibyśmy prezentować ludziom. XML sam w sobie to tylko struktura, a nie znaczenie czy wygląd. Tą samą treść można chcieć prezentować na wiele różnych sposobów. Dobrze by było móc dodawać informację o prezentacji "obok" dokumentów XML.

17 CSS - Cascading Style Sheets Dość prosty system przypisujący elementom dokumentu obiekty wizualne i dający duże możliwości ich formatowania. Nie pozwala na zmianę kolejności, wielokrotne używanie tych samych fragmentów dokumentu itp. Składnia różna od XML utrudnia parsowanie. Zaimplementowany w większości przeglądarek internetowych.

18 Transformacje dokumentów A BC DE a dbec

19 XSL = XSLT + FO Extensible Stylesheet Language został zaprojektowany z myślą o prezentacji danych z dowolnych dokumentów XML. Formating Objects to zastosowanie XML stworzone z myślą o prezentacji. Zawiera elementy typu "blok", "tabela",... XSL Transformation - język transformacji umożliwiający przekształcenie dowolnego dokumentu XML do FO.

20 XSLT XSLT pozwala na przekształcenia nie tylko do FO, ale do dowolnego dokumentu XML. Wynik przekształcenia można zapisywać jako XML, HTML lub płaski tekst. Arkusz XSLT jest dokumentem XML, nie trzeba specjalnych parserów. XSLT jest językiem deklaratywnym.

21 Budowa arkusza XSLT Arkusz XSLT składa się z szablonów. Każdy szablon mówi jak zamieniać jakiś węzeł (węzły) dokumentu wejściowego na fragment dokumentu wyjściowego. Predefiniowany szablon przepisuje na wyjście zawartość tekstową elementu i wywołuje szablony dla podelementów. Tranformacja polega na wywołaniu szablonu dla elementu głównego.

22 Budowa arkusza XSLT ID:

23 Tworzenie węzłów wyjściowych wpisanie ich po prostu w treść szablonu elementy tworzące dokument wyjściowy wartość tekst

24 Sterowanie Warunkowe generowanie zawartości: zawartość... Dla wszystkich węzłów określonych przez ścieżkę: zawartość

25 XPath - podstawy XPath to język wyrażeń służący do adresowania części dokumentu XML. Wynikiem wyrażenia XPath jest grupa węzłów (np. jeden element, jeden węzeł tekstowy, lista elementów, lista atrybutów...).

26 XPath - podstawy Oś, adresowanie wezłów w drzewie dokumentu podobne do adresowania plików w drzewie katalogów, rodzaj węzła. following::/doc/section/para attribute::style descesant-or-self::node() Możliwe są skróty i napisy wieloznaczne: //miasto

27 XPath - arytmetyka W wyrażeniach mogą być zapisane warunki logiczne: section[position()=3] section[3] XPath zawiera w sobie arytmetykę: /par[position() = (count(/par) div 2)] Możliwe są skomplikowane wyrażenia: < or

28 "Funkcje" w XSLT W arkuszach XSLT można deklarować "zmienne": wartość 7">... Szablony mogą mieć nazwy i parametry:...

29 "Funkcje" w XSLT Można wywołać szablon z określonymi parametrami: Dopuszczalna jest rekurencja.

30 Silnia w XSLT $res

31 Ocaml Język programowania funkcyjnego, składniowo podobny do SML, gorliwy. Rozbudowany system modułów (sygnatury, struktury, funktory), rozłączna kompilacja. Efektywny kompilator i optymalizator. Imperatywne i obiektowe rozszerzenia.

32 Podział na moduły Unicode DOM Parser XML XPath XSLT

33 Unicode Międzynarodowy standard kodowania znaków. Brak wsparcia w Ocamlu. W moim module: 16 bitowe znaki i wybrane pary, int ? napisy - tablice lub listy tablic funkcje potrzebne do pracy z napisami odczyt i zapis do UTF-16, UTF-8 i jednobajtowych standardów ISO-8859-X

34 DOM Implementacja DOM level2 Core jak najbliższa rekomendacji. Model obiektowy - wykorzystam obiektowe rozszerzenia Ocamla

35 Parser Oparty o napisy Unicodowe, implementacja od podstaw. Tworzy obiekt dokumetu DOM (drzewo). Należy pamiętać o DTD (inna składnia od prostej zawartości XML).

36 XPath typy dla wartości wyrażeń (bool, number, text, node-set) parser wyrażeń i obliczanie... (ścieżki, warunki logiczne, arytmetyka)

37 Procesor XSLT Korzystając z implementacji DOM i XPath dokonuje tranformacji dokumentów. dopasowywanie szablonów parametry i szablony (funkcje) serializer (do XML, HTML, tekstu)


Pobierz ppt "Implementacja procesora XSLT w języku Ocaml Patryk Czarnik Prezentacja tematu pracy magisterskiej."

Podobne prezentacje


Reklamy Google