Zdefiniuj w schema atrybut o nazwie płec, którego jedynymi wartościami mają być "m" lub "k" (skorzystaj z simpleType, restriction, enumeration).
a) W pliku ze schematem faktury wydziel grupę dane_adresowe obejmującą nazwa, ulica, kod, miasto, kraj.
< group name = "..." > <xsd:sequence> ... <xsd:sequence> < group >
i odnieś się do niej przez
<xsd:group ref="dane_adresowe">
b) Utwórz grupę atrybutów o nazwie osobaAtrybut złożoną z atrybutów pesel i NIP. Schemat jest taki:
< attributeGroup name = "..." > <xsd:attribute name= " ... " type = "..."> ... < attributeGroup >
Ten podpunkt nie ma być częścią większego schematu.
Niekiedy elementy lub kombinacje elementów powinny
mieć unikalne wartości. Wykorzystuje się do tego
mechanizm kluczy oraz wartości unikalnych.
Modyfikując przez analogię plik z przykładu zawartego w wykładzie (uczelnia.xsd dla uczelnia.xml),
utwórz schemat dla pliku xml zadanie.xml
który spełnia następujące własności:
- numer pracownika się nie powtarza
- kombinacja: imię i nazwisko się nie powtarza
- kombinacja: lokalizacja, numer filii
oraz dzial jest unikalna
- wartością pola lokalizacja była wartość klucza,
który identyfikuje pole miasto
(zdefniuj klucz dla miasta oraz keyref,
który utożsamia lokalizację z wartością tego klucza)
Pamiętaj, że miejsce
na definicję klucza jest pod koniec elementu którego klucz dotyczy,
wewnątrz < element> ... </element>
Przykłady definiowania klucza są tutaj:
w przykładach do wykładu
Przenieś fragment schematu dotyczącego zadania z zamówieniem (zad 3 z poprzednich zajęć) lub jakiegokolwiek pliku xsd, do pliku inny_schemat.xsd, załącz go następnie poprzez
<xsd:include schemaLocation="inny_schemat.xsd"/>
zwróć uwagę, że dane w pliku inny_schemat.xsd powinny być otoczone elementem
<xsd:schema xmln:xsd="http://www.w3.org/2001/XMLSchema">
Wywołaj błąd redeklaracji przez skopiowanie fragmentu schematu do zadania z zamówieniem do pliku inny_schemat (zamiast przeniesienia go tam) i sprawdzenie zgodności ze schematem
-->Zaprojektuj schemat dla dokumentu xml o głębokości drzewa conajmniej 4, i szerokości conajmniej 5. Zadbaj o wykorzystanie umiejętności poznanych na ćwiczeniach. Termin oddania: przoszę wysłać na mejla w trakcie zajęć 17.04.2018.
UWAGA: oprócz projektu proszę wypełnić plik samooceny, który jest tu:
plik samooceny
Dopuszczalne formy pliku xsd:
Metoda płaskiego katalogu (z użyciem ref) 5 pkt, Metoda typów nazwanych 7 pkt
(nie należy mieszać metod).
Użycie odpowiednich elementów jest punktowane jak następuje:
- restriction, pattern, choice, all, sequence po 1 pkt
- unia, 2 pkt
- lista 2 pkt
- grupy elementów 2 pkt
- grupy atrybutów 2 pkt
- typ wbudowany (im więcej różnych użytych tym więcej punktów np.
xs:string, xs:integer itp.) każdy po 1 pkt max 6
- atrybut z wybraną wartością 1 pkt
- klucz, wartość unikalna po 2 pkt
- Przydzielenie do przestrzeni nazw - 3 pkt (patrz przykład poniżej)
Uwaga: Można zrobić schemat dla projektu poniższego, ale własny będzie punktowany
o 3 punkty wyżej.