1 / 33

Technologie

Łódź, 8 października 2012 roku. Technologie. mgr inż. Tomasz Węgliński email: tweglinski@kis.p.lodz.pl www: http://www.tweglinski.pl. WYKŁAD 3. XML Schema. 2/33. Co to jest XML Schema?. XML Schema – to standard umożliwiający dokładne opisanie

Download Presentation

Technologie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Łódź, 8 października 2012 roku Technologie mgr inż. Tomasz Węglińskiemail: tweglinski@kis.p.lodz.plwww: http://www.tweglinski.pl

  2. WYKŁAD 3 XML Schema 2/33

  3. Co to jest XML Schema? • XML Schema – to standard umożliwiający dokładne opisanie • drzewiastej struktury dokumentu XML oraz typów danych • znajdujących się w elementach i atrybutach. • Jest „następcą” DTD – XML Schema rozszerza jego możliwości. • XML Schema pozwala (w odróżnieniu od DTD) na określenie wzorców i typów zawartości zarówno elementów jak i atrybutów. • Istnieje wiele typów zawartości, które można zawężać, a nawet rozszerzać w zależności od potrzeb. XML Schema jest najbardziej obszernym standardem związanymz językiem XML jaki został opracowany przez organizację W3C. 3/33 Wykład 3: XML Schema

  4. Możliwości XML Schema • XML Schema definiuje: • elementy i atrybuty występujące w dokumencie XML • elementy potomne • kolejność występowania elementów potomnych • liczbę elementów potomnych • typy danych elementów i atrybutów • domyślne i wymagane wartości dla elementów i atrybutów • Dzięki XML Schema łatwiej jest: • opisać dopuszczalna zawartość dokumentu • sprawdzić poprawność danych • pracować z danymi z bazy danych • określić aspekty danych (ograniczenia w danych) • określić wzorce danych (format danych) • dokonać konwersji pomiędzy różnymi typami danych 4/33 Wykład 3: XML Schema

  5. Budowa schematu • W schematach XML Schema musi wystąpić: • deklaracja XML; • element główny (korzeń) schematu wraz z określeniem odpowiedniej przestrzeni nazw; • definicja typów; • deklaracja elementów i atrybutów. deklaracja XML element główny wraz z określeniem przestrzeni nazw definicja typów deklaracja elementów 5/33 Wykład 3: XML Schema

  6. Budowa schematu • Deklaracja przestrzeni nazw w dokumencie XML Schema: -- wykorzystywane elementy i typy danych pochodzą z przestrzeni nazw XML Schema oraz posiadają prefix xs -- elementy (nazwy) zdefiniowane w tym schemacie pochodzą ze wskazanej przestrzeni nazw -- wskazana przestrzeń nazw jest domyślną przestrzenią nazw schematu -- wszystkie nazwy elementów są przydzielane do nowej przestrzeni 6/33 Wykład 3: XML Schema

  7. Budowa schematu • Odwołania do schematów – z przestrzenią nazw Pierwsze dwa parametry już znamy, natomiast zapis: identyfikator przestrzeni ścieżka do pliku oznacza, że elementy i atrybuty zdefiniowane w dokumencie XML pochodzą z przestrzeni nazw zadeklarowanej w pliku note.xsd 7/33 Wykład 3: XML Schema

  8. Budowa schematu • Odwołania do schematów – bez przestrzeni nazw Schemat pochodzi z ogólnie przyjętejprzestrzeni nazw XML Schema • W praktyce odwołania bez przestrzeni nazw są stosowane znacznie częściej. 8/33 Wykład 3: XML Schema

  9. Walidacja • Proces sprawdzenia poprawności dokumentu XML: Dokument XML Schemat Dokument lub schemat niepoprawny Dokument orazschemat poprawny Sprawdzenie zgodności dokumentu XML ze schematemoraz samego schematu Reguły XML Schema wbudowane w parser 9/33 Wykład 3: XML Schema

  10. Elementem prostym nazywamy taki element, który może posiadać jedynie zawartość tekstową. Element prosty nie może zawierać podelementów ani atrybutów. Typy proste nazwa elementu typ danych • XML Schema zawiera wiele wbudowanych typów danych jakie może przyjmować element. • Do najbardziej popularnych należą: • xs:string • xs:decimal • xs:integer • xs:boolean • xs:date • xs:time 10/33 Wykład 3: XML Schema

  11. Typy proste • Przykłady elementów prostych • Deklaracje XML Schema opisujące powyższy przykład: 11/33 Wykład 3: XML Schema

  12. Typy proste Element prosty może również zawierać wartość ustaloną lub domyślną: wartość domyślna • Wartość domyślna może, ale nie musi stanowić treści elementu wartość ustalona • Wartość ustalona musi stanowić treść elementu 12/33 Wykład 3: XML Schema

  13. Typy proste Wszystkie atrybuty są typu prostego (oczywiste). nazwa atrybutu typ danych • Atrybuty posiadają te same wbudowane typy danych co elementy. Przykłady: 13/33 Wykład 3: XML Schema

  14. Typy proste • Atrybuty domyślne i ustalone wartość domyślna wartość ustalona • Atrybuty w dokumencie XML są opcjonalne, jednakże można wymusić konieczność ich wystąpienia: Atrybut musi wystąpić 14/33 Wykład 3: XML Schema

  15. Aspekty (ograniczenia) XML Schema pozwala określić własne dopuszczalne wartości dla poszczególnych elementów oraz ich atrybutów. Takie ograniczenia nazywamy aspektami (ang. facets) • Spójrzmy na ten przykład: deklaracja nowego typu prostego ograniczenie definicja ograniczenia • Ograniczenie typu prostego zawiera parametr base, który informuje jakiego typu danych będzie dotyczyło ograniczenie. 15/33 Wykład 3: XML Schema

  16. W celu ograniczenia (określenia) zawartości elementów, możemy dodać listę dozwolonych wartości tego elementu: Aspekty (ograniczenia) dozwolone wartości elementu car • Bardziej ogólnie możemy napisać tak: definicja typuprostego Jaka różnica? 16/33 Wykład 3: XML Schema

  17. Ograniczenia typu prostego umożliwiają również zadeklarowanietzw. wzorca (ang. pattern), czyli dozwolonej zawartości tekstowej wewnątrz elementu. • Do tego celu wykorzystywane są wyrażenia regularne. • Przykłady: Aspekty (ograniczenia) wyrażenie regularne wyrażenie regularne 17/33 Wykład 3: XML Schema

  18. Aspekty (ograniczenia) • Białe znaki (ang. whitespace characters) w treści elementu mogą być obsłużone na trzy sposoby: • zachowane – słowo kluczowe preserve • zamienione – słowo kluczowe replace • usunięte – słowo kluczowe collapse • Przykład: wszystkie białe znaki zostanązamienione na spacje 18/33 Wykład 3: XML Schema

  19. Aspekty (ograniczenia) • Lista dostępnych ograniczeń dla typów prostych: 19/33 Wykład 3: XML Schema

  20. Typy złożone Element złożony (ang. complex element) to element zawierający zawartość tekstową lub mieszaną oraz atrybuty opcjonalne. • Przykład elementu złożonego: • Prosta deklaracja w XML Schema: deklaracja typu złożonego Co to znaczy (patrz. DTD)? 20/33 Wykład 3: XML Schema

  21. Typy złożone • Definiowane typy danych możemy oczywiście wykorzystywać wielokrotnie,tak samo jak przy typach prostych: ten sam typ danych użyty wielokrotnie definicja typu złożonego 21/33 Wykład 3: XML Schema

  22. Typy złożone • Typy danych możemy również łączyć (rozszerzać): dołączenie deklaracjipersoninfo Wewnatrz elementu complexContentmożna dodawać rozszerzenia lubograniczenia (aspekty) 22/33 Wykład 3: XML Schema

  23. Typy złożone Elementy puste typu złożonego mogą zawierać jedynie atrybuty. • Przykład elementu pustego zawierającego atrybut: • Deklaracja w XML Schema: wykorzystanie typu wbudowanego(prodid może być liczbą dodatnią) 23/33 Wykład 3: XML Schema

  24. Typy złożone Elementy złożone o zawartości mieszanej mogą zawierać zarówno tekst jak i inne elementy. • Przykład elementu o zawartości mieszanej: • Deklaracja w XML Schema: dozwolona zawartość mieszana Czy tutaj też ma to znaczenie? 24/33 Wykład 3: XML Schema

  25. Wskaźniki • Deklaracje wskaźników (ang. indicators) mogąinformować parser o: • kolejności występowania elementów • liczbie wystąpień elementu • przynależności elementów lub atrybutów do grupy • Kolejność elementów podobnie jak w DTD może być: • dowolna • sekwencyjna • opcjonalna (wyboru) Uwaga: element może wystąpić tylko raz (!) element dowolnej treści 25/33 Wykład 3: XML Schema

  26. Wskaźniki • Deklaracje wskaźników (ang. indicators) mogąinformować parser o: • kolejności występowania elementów • liczbie wystąpień elementu • przynależności elementów lub atrybutów do grupy • Dozwoloną liczbę wystąpień elementu deklarujemy za pomocą parametrów: • minOccurs • maxOccurs wartością parametru może być liczba lub słowo kluczowe unbounded 26/33 Wykład 3: XML Schema

  27. Wskaźniki • Deklaracje wskaźników (ang. indicators) mogąinformować parser o: • kolejności występowania elementów • liczbie wystąpień elementu • przynależności elementów lub atrybutów do grupy • Przynależność elementów do grupy deklarujemy słowem: • group dołączenie zadeklarowanej grupy elementów 27/33 Wykład 3: XML Schema

  28. Wskaźniki • Deklaracje wskaźników (ang. indicators) mogąinformować parser o: • kolejności występowania elementów • liczbie wystąpień elementu • przynależności elementów lub atrybutów do grupy • Przynależność atrybutów do grupy deklarujemy słowem: • attributeGroup dołączenie zadeklarowanej grupy atrybutów 28/33 Wykład 3: XML Schema

  29. Dołączanieelementów Element <any> pozwala na dołączenie do elementów zadeklarowanych, wewnątrz jednego schematu, dodatkowych elementów z innego schematu. • Plik person.xsd W tym miejscu mogą się pojawić elementy z innego schematu(!) • Plik children.xsd 29/33 Wykład 3: XML Schema

  30. Dołączanieelementów • Przykład wykorzystania właściwości elementu <any> w pliku XML: połączenie schematówz dwóch plików .xsd tak nadal można 30/33 Wykład 3: XML Schema

  31. Dołączanieelementów Element <anyAttribute> pozwala na dołączenie do elementów zadeklarowanych wewnątrz jednego schematu, dodatkowych atrybutów z innego schematu. • Plik person.xsd W tym miejscu mogą się pojawić atrybuty z innego schematu(!) • Plik attribute.xsd 31/33 Wykład 3: XML Schema

  32. Dołączanieelementów • Przykład wykorzystania elementu <anyAttribute> w pliku XML: połączenie schematówz dwóch plików .xsd Uwaga: Elementy <any> oraz <anyAttribute> sprawiają, że tworzonedokumenty XML są naprawdę ROZSZERZALNE, czyli mogą zawierać elementy i/lub atrybuty zdefiniowane w wielu schematach. 32/33 Wykład 3: XML Schema

  33. Podmianaelementów W XML Schema istnieje również możliwość podmiany elementóww zależności od potrzeb. Ta właściwość może być użyteczna do internacjonalizacjidokumentów XML. • Zapis: • Pozwala na stworzenie dwóch równoważnych typów dokumentów XML: Oba dokumenty są poprawne! 33/33 Wykład 3: XML Schema

More Related