Uniwersytet Warszawski

Wydział Matematyki, Informatyki i Mechaniki

 

 

 

 

Karol Bieńkowski

Nr albumu: 181029

 

Implementacja standardów XPointer i XInclude

 

 

 

 

 

 

 

 

 

 

 

 

Praca magisterska

wykonana pod kierunkiem

dr Janiny Mincer-Daszkiewicz

Instytut Informatyki

 

 

 

 

Warszawa, czerwiec 2003ale


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pracę przedkładam do oceny

Data                                               Podpis autora pracy:

 

 

 

 

Praca jest gotowa do oceny przez recenzenta

Data                                               Podpis kierującego pracą:


 

 

 

Streszczenie

Treścią pracy jest opis napisanego przeze mnie programu – implementacji standardów XPointer i XInclude. Standardy te zostały zdefiniowane przez World Wide Web Consortium, żeby ułatwić pracę z dokumentami XML. Praca zawiera omówienie wymagań stawianych programowi, w tym opis wykorzystywanych standardów, projekt programu oraz przegląd jego zastosowań, spośród których najważniejszym jest system zarządzania dokumentami.

 

 

Słowa kluczowe

Standardy XML, XPointer, XInclude, Java, Saxon

 

 

Klasyfikacja tematyczna wg ACM Computing Classification System (1998)

I.7.2. Document and Text Preparation – Markup Languages, Standards

D. Software



Spis treści

1.    Wstęp. 7

1.1.  Cel pracy. 7

1.2.  Struktura pracy. 7

2.    Wymagania. 8

2.1.  Ogólnie o XML i standardach. 8

2.2.  Zastosowania XML. 9

2.2.1. Dokumenty przetwarzane automatycznie. 9

2.2.2. Dokumenty tworzone przez człowieka. 9

2.3.  Opisy standardów uwzględnianych przy implementacji 10

2.3.1. Standardy pomocnicze: XML, Namespaces, Base, InfoSet 10

2.3.2. XPath – standard bazowy dla XPointer 13

2.3.3. XPointer 15

2.3.4. XInclude. 17

2.4.  Wymaganie związane z językiem programowania i modelem przetwarzania. 19

2.4.1. Java. 19

2.4.2. DOM.. 20

2.4.3. SAX.. 20

2.4.4. Filtry SAX.. 21

2.4.5. Porównanie XML InfoSet i SAX.. 22

2.5.  Dodatkowe wymagania. 22

2.5.1. Własne schematy URI 22

2.5.2. Kolorowanie zakresów.. 22

2.5.3. Aplikacja przykładowa. 23

2.6.  Istniejące implementacje XInclude oraz XPointer 23

2.6.1. Implementacje XInclude. 23

2.6.2. Implementacje XPointer 23

3.    Projekt 25

3.1.  Architektura XInclude. 25

3.1.1. Klasy. 25

3.1.2. Resolwery dla schematów URI 28

3.2.  Wybór parsera XPath. 29

3.3.  Architektura XPointer - Saxon. 29

3.3.1. Wyrażenie. 30

3.3.2. Drzewo dokumentu. 30

3.3.3. Zakres i punkt jako węzły. 30

3.4.  API 30

3.4.1. API dla XInclude. 31

3.4.2. API dla XPointer 31

3.4.3. XIncludeFilter 32

3.5.  Obsługa wyjątków w XInclude. 32


4.    Implementacja. 33

4.1.  XInclude. 33

4.1.1. Obługa XML Base. 33

4.1.2. Elementy <xi:fallback>. 33

4.1.3. Cykle. 34

4.1.4. XPointer dla XInclude. 34

4.2.  XPointer 34

4.2.1. Wyrażenie /range-to. 34

4.2.2. Klasa implementująca zakres. 35

4.2.3. Ekstrakcja przedziałów.. 36

4.2.4. Zaznaczanie zakresów.. 37

4.2.5. Funkcja string-range(). 37

4.2.6. Porządek węzłów w dokumencie. 37

<