Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Poprawne modele zawartości. Zarządzanie zmianami struktury.

Podobne prezentacje


Prezentacja na temat: "Poprawne modele zawartości. Zarządzanie zmianami struktury."— Zapis prezentacji:

1 Poprawne modele zawartości. Zarządzanie zmianami struktury.

2 Poprawne modele zawartości. Zarządzanie zmianami struktury.2 XML a białe znaki W modelu elementowym: –ignorowane, –służą jedynie zwiększeniu czytelności. W modelu tekstowym/mieszanym: –stanowią część zawartości tekstowej. Na granicy modeli: –???

3 Poprawne modele zawartości. Zarządzanie zmianami struktury.3 Model błędnej zawartości (1) zombie w religiach afrykańskich: osoba zmarła, która może ożyć dzięki magii Równoważny model poprawny:

4 Poprawne modele zawartości. Zarządzanie zmianami struktury.4 Model błędnej zawartości (2) półpłaszczyzna domknięta jedna z dwu części płaszczyzny, na które prosta L dzieli tę płaszczyznę, wraz z tą prostą Równoważny model poprawny:

5 Poprawne modele zawartości. Zarządzanie zmianami struktury.5 Model niejednoznaczny Równoważny model poprawny:

6 Poprawne modele zawartości. Zarządzanie zmianami struktury.6 Elementy w dowolnej kolejności (1) Konstrukcja SGML-owa: Równoważny model poprawny:

7 Poprawne modele zawartości. Zarządzanie zmianami struktury.7 Elementy w dowolnej kolejności (2) Konstrukcja SGML-owa: Równoważny model poprawny:

8 Poprawne modele zawartości. Zarządzanie zmianami struktury.8 Zarządzanie zmianami w DTD Problem: –niezbędna jest zmiana definicji języka: zmieniająca się rzeczywistość, uwarunkowania prawne, nowe wymagania,... –posiadamy zasoby zgodne z aktualną wersją DTD, –jak uczynić zmianę kompatybilną wstecz? Rozwiązanie: –nowy model musi być bardziej ogólny od dotychczasowego.

9 Poprawne modele zawartości. Zarządzanie zmianami struktury.9 Dozwolone zmiany w DTD (1) Dodanie elementu opcjonalnego Zmiana krotności elementu: – z wymaganego na opcjonalny, – z jednokrotnego na powtarzalny. Dodanie elementu do alternatywy:

10 Poprawne modele zawartości. Zarządzanie zmianami struktury.10 Dozwolone zmiany w DTD (2) Dodanie atrybutu: –opcjonalnego, –z wartością domyślną, –#FIXED Zmiana typu atrybutu: –z wymaganego lub #FIXED na opcjonalny lub z wartością domyślną, –z opcjonalnego na wartość domyślną i na odwrót.

11 Poprawne modele zawartości. Zarządzanie zmianami struktury.11 Jak zarządzać zmianami Zmiany niekompatybilne wstecz – przykład: –dodanie elementu wymaganego. Sposób postępowania w żywym systemie: –wprowadzamy zmianę kompatybilną wstecz (np. dodajemy element, ale opcjonalny), –instruujemy użytkowników o konieczności migracji do nowej struktury, –po dodaniu brakujących elementów (lub po upływie wyznaczonego czasu) – wprowadzenie zmiany docelowej. Większe zmiany modelu: –deklarujemy osobny element z nowym modelem, –przez pewien czas dopuszczamy stary lub nowy model.

12 Poprawne modele zawartości. Zarządzanie zmianami struktury.12 Zmiany struktury a aplikacje Typowa zależność między treścią programu a strukturą danych: –w treści programu zakładamy konkretną postać struktur danych, –jeśli są to dane wejściowe lub wyjściowe, ich postać może się zmieniać w czasie, –zmiana struktury danych powoduje konieczność zmian w kodzie. Uniezależnienie aplikacji od zmian struktury danych: –znaleźć reguły, według których następują zmiany struktury: które reguły budowania struktury są niezmienne, co się zmienia; –zakodować informacje zmienne w samej strukturze, –sparametryzować aplikację tymi informacjami.

13 Poprawne modele zawartości. Zarządzanie zmianami struktury.13 Zmiany struktury a aplikacje – przykład Aplikacja: –edytor dokumentu XML przy pomocy formularza w przeglądarce, –każdemu elementowi dokumentu odpowiada pole formularza. Co się może zmienić: –liczba i kolejność pól, –etykiety pól. Jak uniezależnić aplikację od tych zmian?

14 Poprawne modele zawartości. Zarządzanie zmianami struktury.14 XML Namespaces Problem: –ta sama nazwa oznacza dwa różne byty w różnych dokumentach, –dokumenty te są powiązane (np. wspólnie przetwarzane, jeden zanurzony w drugim, itp.) Rozwiązanie: –przestrzeń nazw – grupa nazw oddzielona (składniowo i semantycznie) od innych nazw. Status: rekomendacja W3C z 14 stycznia 1999 r. Wątpliwości: –jak uniknąć (nieświadomego) korzystania z tych samych przestrzeni nazw do różnych celów, –jak definiować przestrzenie nazw.

15 Poprawne modele zawartości. Zarządzanie zmianami struktury.15 Deklarowanie i wykorzystanie przestrzeni nazw

16 Poprawne modele zawartości. Zarządzanie zmianami struktury.16 Widoczność przestrzeni nazw Cheaper by the Dozen This is a funny book!

17 Poprawne modele zawartości. Zarządzanie zmianami struktury.17 Domyślna przestrzeń nazw Domyślna przestrzeń nazw: 2 4 Brak przestrzeni nazw: 2 4 Czy to jest poprawne?

18 Poprawne modele zawartości. Zarządzanie zmianami struktury.18 Przestrzenie nazw atrybutów Atrybut bez prefiksu nie jest w żadnej przestrzeni nazw (w szczególności nie jest w domyślnej)! Introduction –element chapter jest w domyślnej przestrzeni nazw, –atrybut number nie ma przypisanej przestrzeni nazw – jest lokalny względem swojego elementu, –atrybut type jest w przestrzeni nazw XLink.

19 Poprawne modele zawartości. Zarządzanie zmianami struktury.19 Ograniczenia Zabronione: –użycie niezadeklarowanego prefiksu przestrzeni nazw, –dwa atrybuty o tej samej nazwie i różnych prefiksach wskazujących na tą samą przestrzeń nazw: Ale to jest legalne:

20 Poprawne modele zawartości. Zarządzanie zmianami struktury.20 Przestrzenie nazw a DTD Dwa różne światy: –przestrzenie nazw sprawdzają się w dokumentach bez definicji struktury, –definiując DTD powinniśmy się obejść bez przestrzeni nazw. Jeśli koniecznie chcemy używać ich razem: –prefiks przestrzeni nazw traktowany jako część nazwy, –brak semantyki przestrzeni nazw (a więc i wspomnianych ograniczeń).

21 Poprawne modele zawartości. Zarządzanie zmianami struktury.21 Przestrzenie nazw a XML Schema Wsparcie dla przestrzeni nazw w XML Schema: –deklarowanie schematu w konkretnej przestrzeni nazw ( targetNamespace ), –importowanie przestrzeni nazw do schematu ( import ), –schematy rozszerzalne:

22 Poprawne modele zawartości. Zarządzanie zmianami struktury.22 Przestrzenie nazw a aplikacje niezależne od struktury Przykład: XLink: –linki w elementach o dowolnych nazwach, –typ linku i jego parametry przekazywane przez specjalne atrybuty. Kopernik, Mikołaj Wybitny polski astronom, urodzony w Toruniu.

23 Poprawne modele zawartości. Zarządzanie zmianami struktury.23 Przestrzenie nazw a aplikacje niezależne od struktury Przykład: –aplikacja weryfikująca numery PESEL i daty urodzenia w dokumencie XML, –nie powinna zależeć od struktury dokumentu wejściowego, –jak przekazać aplikacji, co ma zweryfikować? Rozwiązanie: Zenon Niemrawy

24 Case study XML jako format dokumentów ubezpieczeniowych ZUS

25 Poprawne modele zawartości. Zarządzanie zmianami struktury.25 Tło projektu Formularze ubezpieczeniowe: –22 typy formularzy, –przesyłane okresowo przez płatników do ZUS, –dotychczas kodowane w pseudo-SGML-u. Przyczyny zmiany formatu: –błędny projekt formatu SGML-owego, –rosnąca popularność XML-a, –nadchodząca zmiana rozporządzenia określającego strukturę formularzy. Projekt badawczo-rozwojowy prowadzony przez empolis Polska w 2000 roku.

26 Poprawne modele zawartości. Zarządzanie zmianami struktury.26 Kolekcja Elektronicznych Dokumentów Ubezpieczeniowych

27 Poprawne modele zawartości. Zarządzanie zmianami struktury.27 Przykład: fragment formularza ZUS RCB

28 Poprawne modele zawartości. Zarządzanie zmianami struktury.28 Problemy Wybór logicznego modelu struktury dokumentów: –model semantyczny, –model składniowy. Modelowanie informacji pozwalających na walidację treści dokumentów. Modelowanie informacji zwrotnych: –informacje o błędach w dokumentach, –informacje o korektach automatycznie wprowadzonych przez ZUS. Oznaczenie pól wypełnianych przez ZUS.

29 Poprawne modele zawartości. Zarządzanie zmianami struktury.29 Logiczny model struktury dokumentów Semantyczny: Składniowy: DRZB dane-organizacyjne termin-przys-dekl ident-deklaracji dane-ident-platnika NIP REGON... RCB dane-organizacyjne dane-ident-platnika... DRZB DRZB.01 DRZB DRZB DRZB.02 DRZB DRZB RCB RCB.01 RCB.02...

30 Poprawne modele zawartości. Zarządzanie zmianami struktury.30 Logiczny model struktury dokumentów Model semantyczny: –zwięzły i elegancki, –pozwala na modelowanie relacji wiele-do-wielu, –ale: nazwy szybko przestają być semantyczne. Model składniowy: –łatwość automatyzacji przetwarzania: operowanie nazwami elementów, generowanie DTD oraz samych dokumentów, –możliwość wzbogacenia o informacje semantyczne. Wybór: model składniowy.

31 Poprawne modele zawartości. Zarządzanie zmianami struktury.31 Modelowanie informacji dodatkowych Informacje dodatkowe: –opisy pól, –informacje o sposobie walidacji pól, –informacje o polach wypełnianych przez ZUS. Sposób kodowania: atrybuty #FIXED : –umieszczane w DTD wraz z wartościami, –wartości dostępne w instancji dokumentu, –nie ma możliwości zmiany wartości atrybutu w instancji dokumentu.

32 Poprawne modele zawartości. Zarządzanie zmianami struktury.32 Informacje dodatkowe – przykład

33 Poprawne modele zawartości. Zarządzanie zmianami struktury.33 Informacje zwrotne Nie mogą być kodowane w atrybucie: –może być więcej niż jeden błąd lub korekta, dotycząca tego samego pola, –zawartości mogą zawierać podelementy, –niedozwolony model (#PCDATA, BLAD*, KOREKTA*) Rozwiązanie: –opcjonalne elementy po elemencie, w którym wystąpił błąd.

34 Poprawne modele zawartości. Zarządzanie zmianami struktury.34 Informacje zwrotne – przykład

35 Poprawne modele zawartości. Zarządzanie zmianami struktury.35 Przykład: reprezentacja w XML-u

36 Poprawne modele zawartości. Zarządzanie zmianami struktury.36 Gdzie szukać dalej Namespaces in XML, W3C Recommendation: Zioło, Sz., Sztuka hodowli drzew, czyli modele zawartości dokumentów XML Software 2.0, nr 6/2001, Wydawnictwo Software Materiały Artykuły Zioło, Sz., Jak pozostać niezależnym od DTD Software 2.0, nr 6/2002, Wydawnictwo Software Górski, C., Zioło, Sz., Wykorzystanie XML-a w zarządzaniu formularzami ubezpieczeniowymi ZUS Materiały Artykuły


Pobierz ppt "Poprawne modele zawartości. Zarządzanie zmianami struktury."

Podobne prezentacje


Reklamy Google