1 Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
2 Przestrzenie nazw 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 (ang. namespace): grupa nazw oddzielona (składniowo i semantycznie) od innych nazw. Status: rekomendacja W3C z 14 stycznia 1999 r, XML 1.0 (w tym DTD) nie wspierają przestrzeni nazw, nowsze standardy (XML Schema, XSL, XLink, ...) wspierają przestrzenie nazw. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
3 Nazwy przestrzeni nazwIdentyfikatory URI, np: urn:szz:mimuw Nazwy przestrzeni nazw: nie muszą wskazywać konkretnych zasobów, pełnią funkcję unikatowych identyfikatorów, są porównywane jako napisy (istotna jest wielkość liter). Wykorzystanie w dokumentach XML: odwzorowanie na kilkuznakowy prefiks, poprzedzanie nazw prefiksem. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
4 Użycie przestrzeni nazw w XML-u
5 Domyślna przestrzeń nazw
6 Widoczność przestrzeni nazw
7 Nazwy z prefiksem i bez Nazwy elementów: Nazwy atrybutów:kwalifikowane – należą do pewnej przestrzeni nazw: poprzedzone prefiksem, nie poprzedzone prefiksem, jeśli są w zasięgu deklaracji domyślnej przestrzeni nazw; niekwalifikowane – nie należą do żadnej przestrzeni nazw: nie poprzedzone prefiksem, poza zasięgiem deklaracji domyślnej przestrzeni nazw. Nazwy atrybutów: poprzedzone prefiksem (globalne) – należą do pewnej przestrzeni nazw, nie poprzedzone prefiksem – nie należą do żadnej przestrzeni nazw. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
8 Nazwy elementów bez prefiksów
9 Nazwy atrybutów
10 Atrybuty: ta sama nazwa czy nie?Poprawne:
11 Przestrzenie nazw i schematySchemat zapisuje się przy pomocy jednego lub więcej dokumentów schematów. Schemat deklaruje nazwy należące do zero lub więcej przestrzeni nazw. Dokument schematu deklaruje nazwy należące do zero lub jednej przestrzeni nazw. Przestrzeń nazw zawiera nazwy zadeklarowane w zero lub więcej schematach. import osoba imię nazwisko NIP osoby.xsd firma nazwa NIP inst.xsd Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
12 Dokument schematu (1)
13 Dokument schematu (2)
14 Łączenie dokumentów schematówSchemat zapisuje się przy pomocy jednego lub więcej dokumentów schematów. Metody budowania schematu z dokumentów schematów: instrukcje include, import i redefine, lokalizacje dokumentów schematów są określone w instancji, procesor łączy dokumenty schematów znajdujące się w predefiniowanych (skonfigurowanych) lokalizacjach, lokalizacje dokumentów schematu są przekazywane jako parametry wiersza poleceń. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
15 include Dołączanie dokumentu schematu do docelowej przestrzeni nazw głównego dokumentu schematu.
16 redefine Dołączanie dokumentu schematu do docelowej przestrzeni nazw głównego dokumentu schematu z możliwością przedefiniowania: typów prostych i złożonych, nazwanych grup modeli, grup atrybutów.
17 import Odwołanie do komponentów w innej przestrzeni nazw.
18 Instancja Przestrzeń nazw instancji XML Schema: zawiera atrybuty: nil, type, schemaLocation, noNamespaceSchemaLocation. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
19 schemaLocation
20 noNamespaceSchemaLocation
21 Wartości puste w instancjachSposoby oznaczenia braku wartości: brak elementu/atrybutu, element/atrybut występuje, ale jest pusty, element/atrybut występuje i zawiera specjalną wartość, np. N/A, element ma wartość nil.
22 Wartości domyślne i ustalone
23 Typy Typy wg zasięgu definicji: Typy wg zawartości:typy nazwane, typy anonimowe. Typy wg zawartości: typy proste, typy złożone o zawartości: prostej, elementowej, mieszanej, pustej. Typy wg pochodzenia: typy wbudowane, typy zdefiniowane w schemacie: rozszerzenia innych typów, ograniczenia innych typów, listy i unie. Definiowanie typów dokumentów – część 2: Przestrzenie nazw, XML Schema
24 Typy nazwane i anonimoweTypy nazwane:
25 Typy proste i złożone Typy proste:
26 Typy złożone – typy zawartościZawartość elementowa:
27 Definiowanie zawartości elementowejGrupy deklaracji elementów: sequence, choice, all. Zagnieżdżanie grup:
28 Grupa all – ograniczeniaNie może zawierać innych grup (tylko deklaracje elementów i odwołania do elementów). Każdy element może wystąpić co najwyżej raz. Grupa all nie może być zagnieżdżona w innej grupie. Zagnieżdżanie grup:
29 Definiowanie zawartości prostej
30 Definiowanie zawartości mieszanej
31 Definiowanie zawartości pustej