Wprowadzenie do technologii XML

Podobne dokumenty
Wprowadzenie do technologii XML

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1

Kurs WWW Język XML, część I

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

XML extensible Markup Language. część 2

29. Poprawność składniowa i strukturalna dokumentu XML

Rola języka XML narzędziem

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

XML extensible Markup Language. część 4

XML Schema. Typy proste, wyprowadzanie typów, modularyzacja schematu. Patryk Czarnik. Instytut Informatyki UW

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

DTD - encje ogólne i parametryczne, przestrzenie nazw

Wprowadzenie do XML schema

XML extensible Markup Language. Paweł Chodkiewicz

Przykładowy dokument XML

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

XML extensible Markup Language. część 4

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi:

Aplikacje internetowe laboratorium XML, DTD, XSL

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

XML DTD XML Schema CSS

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

Simple Object Access Protocol

Plan prezentacji DTD. Wiązanie DTD z dokumentem XML Deklaracja typu dokumentu. Co to jest DTD. Wstęp. Przedmiot: XML i jego zastosowania

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Środowisko XML (Extensible Markup Language).

Technologie zarządzania treścią

Dlaczego GML? Gdańsk r. Karol Stachura

PL URZĄD MIASTA SZCZECIN N NOF WPiOL/1111/W/123456/2013 KOWALSKI JAN, FELCZAKA 1A SZCZECIN PLN

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

2 Podstawy tworzenia stron internetowych

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Technologie zarządzania treścią

SCHEMAT DOKUMENTU POTWIERDZENIA GENEROWANEGO PRZEZ ZUS

I.Wojnicki, Tech.Inter.

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

XML Schema. Forma nazwy lokalnych elementów i atrybutów

XML Schema. Alternatywne metody definiowania struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

XML extensible Markup Language. część 1

GML w praktyce geodezyjnej

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty?

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Warszawa, dnia 2 marca 2017 r. Poz. 461 ROZPORZĄDZENIE MINISTRA ROZWOJU I FINANSÓW 1) z dnia 27 lutego 2017 r.

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

1 XML w bazach danych

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

XML Schema w przykładach

Otwarte protokoły wymiany informacji w systemach ITS

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

Programowanie internetowe

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

Komunikacja i wymiana danych

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków

c TP: anything: 13 listopada 2004 roku 1

mgr inż. Jacek Staniec Język XML

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

SCHEMAT DOKUMENTÓW OTRZYMYWANYCH Z ZUS ZAWIERAJĄCYCH INFORMACJE ZGROMADZONE W SYSTEMIE INFORMATYCZNYM ZUS

- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŝonych nie moŝemy dokładnie określić liczby wystąpień elementu

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Format danych adnotacji do tytułów wykonawczych przekazywanych do organów egzekucyjnych przez epuap w związku ze zbiegiem egzekucji

Prezentacja i transformacja

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Uradni list Republike Slovenije

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

XML extensible Markup Language. część 3

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Wprowadzenie do XML. Tomasz Przechlewski

XML i nowoczesne technologie zarządzania treścią

Dictionaries. <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeformdefault="unqualified" elementformdefault="unqualified"

INTEGRACJA I EKSPLORACJA DANYCH

Technologie internetowe

Języki programowania wysokiego poziomu WWW

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Ministerstwo Finansów

Autor: dr inż. Katarzyna Rudnik

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

Przykładowy dokument XML

rk HTML 4 a 5 różnice

kdpw_stream Struktura komunikatu: Depozyty zabezpieczające naliczone na konta rozliczeniowe (colr.mrg ) Data utworzenia: r.

Spis treści Informacje podstawowe Predykaty Przykłady Źródła RDF. Marek Prząda. PWSZ w Tarnowie. Tarnów, 6 lutego 2009

XML extensible Markup Language 1

Złożone komponenty JSF wg

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:

Transkrypt:

Wprowadzenie do technologii Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 kwietnia 2010

Program wykładu Celem wykładu jest przedstawienie technologii i pokrewnych do niej technologii: :,, XSLT. Analiza leksykalna dokumentów. Protokoły -RPC i SOAP. Usługi internetowe budowane w oparciu o WebServices. Usługi WebServices na systemach mobilnych Ćwiczenia będą realizowane przy użyciu różnych technologii.

Laboratorium Zaliczenie laboratorium będzie wystawiane na podstawie zaliczenia wszystkich ćwiczeń cząstkowych.

Czym jest? Najmodniejszym tematem w branży informatycznej. W każdej gazecie informatycznej znajdziemy wzmiankę o. Google na zapytanie o zwraca 343.000.000 dokumentów, Amazon oferuje 32.878 książek o tej tematyce.

Czym jest? Najmodniejszym tematem w branży informatycznej. W każdej gazecie informatycznej znajdziemy wzmiankę o. Google na zapytanie o zwraca 343.000.000 dokumentów, Amazon oferuje 32.878 książek o tej tematyce.

Czym jest? Najmodniejszym tematem w branży informatycznej. W każdej gazecie informatycznej znajdziemy wzmiankę o. Google na zapytanie o zwraca 343.000.000 dokumentów, Amazon oferuje 32.878 książek o tej tematyce.

Czym jest? (Extensible Markup Language)- wywodzi się od języka SGML i jest językiem znaczników służącym do opisu danych. Dane przechowywane są w postaci tekstowej w dokumencie o ściśle określonej strukturze. możemy uznać za: technologie opisu i przechowywania danych, rodzinę technologii do prezentacji i przetwarzania danych, podstawowy składnik nowoczesnych technologii rozproszonych. jest stosowany również do opisu swoich własnych rozszerzeń.

Czym jest? (Extensible Markup Language)- wywodzi się od języka SGML i jest językiem znaczników służącym do opisu danych. Dane przechowywane są w postaci tekstowej w dokumencie o ściśle określonej strukturze. możemy uznać za: technologie opisu i przechowywania danych, rodzinę technologii do prezentacji i przetwarzania danych, podstawowy składnik nowoczesnych technologii rozproszonych. jest stosowany również do opisu swoich własnych rozszerzeń.

Czym jest? (Extensible Markup Language)- wywodzi się od języka SGML i jest językiem znaczników służącym do opisu danych. Dane przechowywane są w postaci tekstowej w dokumencie o ściśle określonej strukturze. możemy uznać za: technologie opisu i przechowywania danych, rodzinę technologii do prezentacji i przetwarzania danych, podstawowy składnik nowoczesnych technologii rozproszonych. jest stosowany również do opisu swoich własnych rozszerzeń.

Czym jest? (Extensible Markup Language)- wywodzi się od języka SGML i jest językiem znaczników służącym do opisu danych. Dane przechowywane są w postaci tekstowej w dokumencie o ściśle określonej strukturze. możemy uznać za: technologie opisu i przechowywania danych, rodzinę technologii do prezentacji i przetwarzania danych, podstawowy składnik nowoczesnych technologii rozproszonych. jest stosowany również do opisu swoich własnych rozszerzeń.

Czym jest? (Extensible Markup Language)- wywodzi się od języka SGML i jest językiem znaczników służącym do opisu danych. Dane przechowywane są w postaci tekstowej w dokumencie o ściśle określonej strukturze. możemy uznać za: technologie opisu i przechowywania danych, rodzinę technologii do prezentacji i przetwarzania danych, podstawowy składnik nowoczesnych technologii rozproszonych. jest stosowany również do opisu swoich własnych rozszerzeń.

Gdzie stosujemy? jest standardem przemysłowym i stosowany jest we wszystkich dziedzinach informatyki: prawo- Legal, matematyka- MatchML, chemia- ChemXL. dokumenty i grafika: SVG, OpenOffice. komunikacja: -RPC, SOAP. prezentacja, transformacja, walidacja: XSL-FO, XSLT, -Schema.

Gdzie stosujemy? jest standardem przemysłowym i stosowany jest we wszystkich dziedzinach informatyki: prawo- Legal, matematyka- MatchML, chemia- ChemXL. dokumenty i grafika: SVG, OpenOffice. komunikacja: -RPC, SOAP. prezentacja, transformacja, walidacja: XSL-FO, XSLT, -Schema.

Gdzie stosujemy? jest standardem przemysłowym i stosowany jest we wszystkich dziedzinach informatyki: prawo- Legal, matematyka- MatchML, chemia- ChemXL. dokumenty i grafika: SVG, OpenOffice. komunikacja: -RPC, SOAP. prezentacja, transformacja, walidacja: XSL-FO, XSLT, -Schema.

Gdzie stosujemy? jest standardem przemysłowym i stosowany jest we wszystkich dziedzinach informatyki: prawo- Legal, matematyka- MatchML, chemia- ChemXL. dokumenty i grafika: SVG, OpenOffice. komunikacja: -RPC, SOAP. prezentacja, transformacja, walidacja: XSL-FO, XSLT, -Schema.

Gdzie stosujemy? jest standardem przemysłowym i stosowany jest we wszystkich dziedzinach informatyki: prawo- Legal, matematyka- MatchML, chemia- ChemXL. dokumenty i grafika: SVG, OpenOffice. komunikacja: -RPC, SOAP. prezentacja, transformacja, walidacja: XSL-FO, XSLT, -Schema.

-samoopisującesiędane Znacznik opisuje znaczenie i funkcję elementu. Programista/aplikacja może przetwarzać dokument mając na uwadze typ elementu a nie sposób jego prezentacji. umożliwia bezpieczną wymianę danych pomiędzy różnymi systemami i prezentację wyników na różnych platformach: komputer osobisty, PDA, kasa fiskalna itd.

-samoopisującesiędane Znacznik opisuje znaczenie i funkcję elementu. Programista/aplikacja może przetwarzać dokument mając na uwadze typ elementu a nie sposób jego prezentacji. umożliwia bezpieczną wymianę danych pomiędzy różnymi systemami i prezentację wyników na różnych platformach: komputer osobisty, PDA, kasa fiskalna itd.

-samoopisującesiędane Znacznik opisuje znaczenie i funkcję elementu. Programista/aplikacja może przetwarzać dokument mając na uwadze typ elementu a nie sposób jego prezentacji. umożliwia bezpieczną wymianę danych pomiędzy różnymi systemami i prezentację wyników na różnych platformach: komputer osobisty, PDA, kasa fiskalna itd.

Przykład Opis płyt dvd znajdujących się w wypożyczalni <?xml version= 1.0 encoding= iso-8859-2?> <katalog> <dvdid= 1 > <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd> <dvdid= 2 > <tytuł>rambo II</tytuł> <cena>7</cena> <sztuk>12</sztuk> </dvd> </katalog>

Czymniejest? nie jest językiem programowania. Nie można przeprowadzić w nim obliczeń. Nie opisuje w jaki sposób dane mają być prezentowane. Jednak technologie rozwinięte wokół pozwalają na transformację i prezentację danych.

Czymniejest? nie jest językiem programowania. Nie można przeprowadzić w nim obliczeń. Nie opisuje w jaki sposób dane mają być prezentowane. Jednak technologie rozwinięte wokół pozwalają na transformację i prezentację danych.

HTML... Podobnie jak, HTML jest językiem znaczników. W odróżnieniu od, HTML opisuje sposób prezentacji, a nie dane. Przeglądarki HTML starają się czytać i interpretować nieprawidłowe dokumenty HTML(brak kończących znaczników itd.). HTML ma tylko jedno medium prezentacji. Jest nim standardowy ekran komputera.

HTML... Podobnie jak, HTML jest językiem znaczników. W odróżnieniu od, HTML opisuje sposób prezentacji, a nie dane. Przeglądarki HTML starają się czytać i interpretować nieprawidłowe dokumenty HTML(brak kończących znaczników itd.). HTML ma tylko jedno medium prezentacji. Jest nim standardowy ekran komputera.

HTML... Podobnie jak, HTML jest językiem znaczników. W odróżnieniu od, HTML opisuje sposób prezentacji, a nie dane. Przeglądarki HTML starają się czytać i interpretować nieprawidłowe dokumenty HTML(brak kończących znaczników itd.). HTML ma tylko jedno medium prezentacji. Jest nim standardowy ekran komputera.

HTML... Podobnie jak, HTML jest językiem znaczników. W odróżnieniu od, HTML opisuje sposób prezentacji, a nie dane. Przeglądarki HTML starają się czytać i interpretować nieprawidłowe dokumenty HTML(brak kończących znaczników itd.). HTML ma tylko jedno medium prezentacji. Jest nim standardowy ekran komputera.

Problemy wynikające z obecnego stanu technologii HTML Jedna strona HTML jest wyświetlana w różny sposób przez różne przeglądarki. Ze względu na rozszerzenia implementowane przez firmy niezależnie od komisji standaryzacyjnej, koniczne jest przygotowanie wielu wersji tej samej strony dla najpopularniejszych przeglądarek. Rozwiązanie... W celu uniezależnienia dokumentów HTML od konkretnego medium prezentacji powstała nowa wersja HTML, która jest podzbiorem języka. Technologia ta nazywa się XHTML.

Problemy wynikające z obecnego stanu technologii HTML Jedna strona HTML jest wyświetlana w różny sposób przez różne przeglądarki. Ze względu na rozszerzenia implementowane przez firmy niezależnie od komisji standaryzacyjnej, koniczne jest przygotowanie wielu wersji tej samej strony dla najpopularniejszych przeglądarek. Rozwiązanie... W celu uniezależnienia dokumentów HTML od konkretnego medium prezentacji powstała nowa wersja HTML, która jest podzbiorem języka. Technologia ta nazywa się XHTML.

Problemy wynikające z obecnego stanu technologii HTML Jedna strona HTML jest wyświetlana w różny sposób przez różne przeglądarki. Ze względu na rozszerzenia implementowane przez firmy niezależnie od komisji standaryzacyjnej, koniczne jest przygotowanie wielu wersji tej samej strony dla najpopularniejszych przeglądarek. Rozwiązanie... W celu uniezależnienia dokumentów HTML od konkretnego medium prezentacji powstała nowa wersja HTML, która jest podzbiorem języka. Technologia ta nazywa się XHTML.

Struktura dokumentu Rekomendacja W3C znajduje się na stronie: http://www.w3.org/tr/rec-xml/ Dokument składa się z trzech sekcji: Prolog. Treść. Epilog. Jedynie sekcja treść jest obowiązkowa. Pozostałe dwie nie muszą występować. Dodatkowym elementem jest komentarz: <!--mójkomentarz-->

Prolog Prolog stanowi pierwszą sekcję dokumentu i powinien rozpoczynać się od deklaracji. Deklaracja wygląda następująco: <?xml version= 1.0?> Deklaracja ta zawiera informacje o typie dokumentu() i jego wersji(1.0). Dodatkowo można podać informację o kodowaniu i zaznaczyć czy dokument wymaga zewnętrznych dokumentów: <?xml version= 1.0 encoding= utf-8 standalone= yes?>

Treść W treści dokumentu znajdują się właściwe dane. Treść dokumentu zawiera tylko jeden element objęty parą znaczników: <dane>...</dane> W początkowej parze znaczników może być zagnieżdżona dowolna ilość elementów(znaczników).

Epilog Epilog jest najczęściej pomijany. Może zawierać instrukcje dotyczące przetwarzania dokumentu.

Element Element jest podstawowym pojemnikiem do przechowywania danych. Definiuje typ i przeznaczenie przechowywanych danych. <imię> Bartłomiej </imię> Element może nie posiadać danych. Dozwolony jest brak zawartości pomiędzy znacznikami: Można użyć skróconego zapisu: <imię> </imię> <imię/>

Element Element jest podstawowym pojemnikiem do przechowywania danych. Definiuje typ i przeznaczenie przechowywanych danych. <imię> Bartłomiej </imię> Element może nie posiadać danych. Dozwolony jest brak zawartości pomiędzy znacznikami: Można użyć skróconego zapisu: <imię> </imię> <imię/>

Element Element jest podstawowym pojemnikiem do przechowywania danych. Definiuje typ i przeznaczenie przechowywanych danych. <imię> Bartłomiej </imię> Element może nie posiadać danych. Dozwolony jest brak zawartości pomiędzy znacznikami: Można użyć skróconego zapisu: <imię> </imię> <imię/>

Element i atrybuty Każdy element może posiadać dodatkowe atrybuty: <dvd id= 19922 typ= komedia >Shrek</dvd> Użycie atrybutu jest ściśle określone: Wszystkie wartości atrybutów muszą być ujęte w cudzysłowy lub apostrofy. Nie można użyć kilkarotnie tej samej nazwy wewnątrz jednego atrybutu. W wartościach atrybutów nie mogą występować znaki < i&. Zamiast nich stosujemy< i&.

Element i atrybuty Każdy element może posiadać dodatkowe atrybuty: <dvd id= 19922 typ= komedia >Shrek</dvd> Użycie atrybutu jest ściśle określone: Wszystkie wartości atrybutów muszą być ujęte w cudzysłowy lub apostrofy. Nie można użyć kilkarotnie tej samej nazwy wewnątrz jednego atrybutu. W wartościach atrybutów nie mogą występować znaki < i&. Zamiast nich stosujemy< i&.

Element i atrybuty Predefiniowane znaki w dokumentach : Sekwencja: Znak: < < > > & & " &apos;

Dodatkowe informacje o składni jest wrażliwy na wielkość liter. Znacznik <from> i <From> to dwa różne znaczniki. uwzględnia białe znaki pomiędzy znacznikami. Jedyne poprawne zakończenie linii dokumentu to znak LF( \n ).

Dodatkowe informacje o składni jest wrażliwy na wielkość liter. Znacznik <from> i <From> to dwa różne znaczniki. uwzględnia białe znaki pomiędzy znacznikami. Jedyne poprawne zakończenie linii dokumentu to znak LF( \n ).

Dodatkowe informacje o składni jest wrażliwy na wielkość liter. Znacznik <from> i <From> to dwa różne znaczniki. uwzględnia białe znaki pomiędzy znacznikami. Jedyne poprawne zakończenie linii dokumentu to znak LF( \n ).

Znaczniki W znaczniki muszą być nazywane zgodnie z zasadami: Nazwa może zawierać litery, cyfry i inne znaki drukowalne. Nazwa musi zaczynać się od litery. Nazwa nie może zaczynać się od ciągu xml,, Xml. Nazwa nie może zawierać znaków białych.

Definicja typu dokumentu Aby dokument był użyteczny konieczne jest oprócz zdefiniowania składni zdefiniowanie znaczników i określenie sekwencji w jakich mogą występować. Opis logiczny dokumentu realizuje się między innymi za pomocą definicji typu dokumentu (Document Type Definition).

Definicja jest dokładną specyfikacją tego, co może pojawić się w dokumencie i ściśle określa strukturę drzewa dokumentu (poziomy zagnieżdżeń). Dokument, który nie zawiera opisu określa się mianem niepoprawnego. jest szkieletem dokumentu.

Podstawą jest element Podstawę stanowi deklaracja ELEMENT, która ma postać: <!ELEMENT nazwa elementu...> Za nazwą znacznika można wymienić zawarte w nim elementy podrzędne.

Elementy podrzędne Zasady dodawania elementów podrzędnych:,- Przecinek używany jest do tworzenia listy elementów podrzędnych, które muszą wystąpić w odpowiedniej kolejności. - Znakiem pipe rozdziela się elementy opcjonalne.?- Pytajnik oznacza opcjonalny element podrzędny. *- Dowolna liczba wystąpień elementu podrzędnego. +- Co najmniej jedno wystąpienie elementu podrzędnego. (...)- Grupowanie elementów podrzędnych.

Przykład <!ELEMENT kanapka(chleb,(dżem nutella), chleb) > <!ELEMENT kanapka(chleb,(dżem nutella)?, chleb) > <!ELEMENT napój(herbata,(kakao sok)?) > <!ELEMENT posiłek(kanapka+, napój) >

Przykład <!ELEMENT kanapka(chleb,(dżem nutella), chleb) > <!ELEMENT kanapka(chleb,(dżem nutella)?, chleb) > <!ELEMENT napój(herbata,(kakao sok)?) > <!ELEMENT posiłek(kanapka+, napój) >

Przykład <!ELEMENT kanapka(chleb,(dżem nutella), chleb) > <!ELEMENT kanapka(chleb,(dżem nutella)?, chleb) > <!ELEMENT napój(herbata,(kakao sok)?) > <!ELEMENT posiłek(kanapka+, napój) >

Przykład- wypożyczalnia DVD Opis struktury drzewiastej bez uwzględnienia typów <!ELEMENT katalog(dvd+) > <!ELEMENT dvd(tytuł, cena, sztuk) >

Typy elementów Typy danych CDATA- napis. ID- nazwa unikatowa w dokumencie. IDREF- odwołanie do innego elementu po ID. ENTITY- nazwa zewnętrznej jednostki. NOTATION- zdefiniowana na zewnątrz notacja. Kwantyfikatory typów danych #REQUIRED- atrybut wymagany. #IMPLIED- atrybut opcjonalny. #FIXED <wartość>- atrybut musi mieć podaną wartość.

Typy elementów Typy danych CDATA- napis. ID- nazwa unikatowa w dokumencie. IDREF- odwołanie do innego elementu po ID. ENTITY- nazwa zewnętrznej jednostki. NOTATION- zdefiniowana na zewnątrz notacja. Kwantyfikatory typów danych #REQUIRED- atrybut wymagany. #IMPLIED- atrybut opcjonalny. #FIXED <wartość>- atrybut musi mieć podaną wartość.

Przykład- wypożyczalnia DVD Opis struktury drzewiastej z uwzględnieniem typów <!ELEMENT katalog(dvd+) > <!ELEMENT dvd(tytuł, cena, sztuk) > <!ATTLIST dvd id ID#REQUIRED > <!ELEMENT tytuł(#pcdata) > <!ELEMENT cena(#pcdata) > <!ELEMENT sztuk(#pcdata) >

Powiązanie z dokumentem Pełna definicja dokumentu z wypożyczalni DVD: <!DOCTYPE katalog[ <!ELEMENT katalog(dvd+) > <!ELEMENT dvd(tytuł, cena, sztuk) > <!ATTLIST dvd id ID#REQUIRED > <!ELEMENT tytuł(#pcdata) > <!ELEMENT cena(#pcdata) > <!ELEMENT sztuk(#pcdata) > ]>

Dołączanie do dokumentu Opis struktury dokumentu w postaci definicji można dołączyć do dokumentu na dwa sposoby: Poprzez umieszczenie go w prologu dokumentu: <?xml version= 1.0?> <!DOCTYPE znacznik-root[... ]> Dołączenie zewnętrzenego pliku z opisem do dokumentu : <?xml version= 1.0?> <!DOCTYPE znacznik-root SYSTEM nazwa pliku >

Dołączanie do dokumentu Opis struktury dokumentu w postaci definicji można dołączyć do dokumentu na dwa sposoby: Poprzez umieszczenie go w prologu dokumentu: <?xml version= 1.0?> <!DOCTYPE znacznik-root[... ]> Dołączenie zewnętrzenego pliku z opisem do dokumentu : <?xml version= 1.0?> <!DOCTYPE znacznik-root SYSTEM nazwa pliku >

służy do definiowania struktury dokumentu (pełni podobną funkcję jak ). pozwala na: zdefiniowanie elementów dokumentu zdefiniowanie atrybutów poszczególnych elementów określenie które elementy są zagnieżdżone(hierarchia elementów) określenie kolejności elementów zdefiniowanie wartości elementów(pusty czy zawiera tekst?) określenie typu wartości elementów i atrybutów zdefiniowanie domyślnych i stałych wartości elementów i atrybutów

jako następca Z powodów takich jak: jest technologią, którą można rozszerzać w razie potrzeby jest znacznie rozbudowana w stosunku do dokumenty są zapisane jako wspiera typy danych i umożliwia definiowanie złożonych typów danych pozwala na definiowanie przestrzeni nazw spodziewa się, że będzie używana w większości aplikacji i wyprze. jest oficjalną rekomendacją W3C.

Definiowanie typów danych umożliwia definiowanie typów danych co jest największą zaletą w stosunku do. łatwiej jest zdefiniować poprawną zawartość dokumentu możliwa jest walidacja i sprawdzenie poprawności danych łatwiejsza jest współpraca z bazami danych prostrza jest konwersja pomiędzy typami danych

a dokumenty Ciekawą własnością jest to, że jest opisany za pomocą. Ponieważ został napisany w to: nie potrzeba uczyć się nowego języka(opisu) możliwa jest edycja przy pomocy standardowych edytorów można użyć parserów do parsowania można użyć technologi DOM do tworzenia i manipulowania można użyć arkuszy XSLT do transformacji

a bezpieczeństwo wymiany danych jest najczęściej wykorzystywany w celu wymiany danych pomiędzy dwoma systemami. Niezwykle ważne jest aby nadawca i odbiorca dokumentu mieli takie same wymagania odnośnie jego struktury i zawartości. opisuje typy danych w taki sposób, że możliwa jest jednorodna interpretacja zawartości treści przez nadawcę i odbiorcę.

a bezpieczeństwo wymiany danych jest najczęściej wykorzystywany w celu wymiany danych pomiędzy dwoma systemami. Niezwykle ważne jest aby nadawca i odbiorca dokumentu mieli takie same wymagania odnośnie jego struktury i zawartości. opisuje typy danych w taki sposób, że możliwa jest jednorodna interpretacja zawartości treści przez nadawcę i odbiorcę. Przykład: <date type="date">1980-03-24</date> Data zostanie poprawnie zinterpretowana przez wszystkie systemy, gdyż definiuje datę w postaci RRRR-MM-DD.

jest rozszerzalny podobnie jak sam jest rozszerzalny(ponieważ jest napisany w ) Poprzez rozszerzanie rozumie się: użycie jednej definicji wewnątrz innej definicji definiowanie własnych typów złożonych w oparciu o typy standardowe(wbudowane) odwoływanie się do wielu schematów z jednego dokumentu

Dlaczego Poprawnie sformatowany dokument to dokument zgodny z zasadami: musi rozpoczynać się od deklaracji musi posiadać unikalny element główny wszystkie elementy(tagi) muszą być zakończone elementy (tagi) są wrażliwe na wilkość liter elementy muszą być prawidłowo zagnieżdżone wszystkie wartości atrybutów muszą być ujęte w cudzysłowy znaki specjalne muszą być zastąpione określonymi jednostkami

Dlaczego Poprawnie sformatowany dokument to za mało! Poprawnie sformatowany dokument to dokument zgodny z zasadami: musi rozpoczynać się od deklaracji musi posiadać unikalny element główny wszystkie elementy(tagi) muszą być zakończone elementy (tagi) są wrażliwe na wilkość liter elementy muszą być prawidłowo zagnieżdżone wszystkie wartości atrybutów muszą być ujęte w cudzysłowy znaki specjalne muszą być zastąpione określonymi jednostkami Nawet poprawnie sformatowany dokument może zawierać błędy!

Prosty dokument <?xml version= 1.0 encoding= iso-8859-2?> <dvd> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd>

Prosta definicja <!ELEMENT dvd(tytuł, cena, sztuk) > <!ELEMENT tytuł(#pcdata) > <!ELEMENT cena(#pcdata) > <!ELEMENT sztuk(#pcdata) >

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified"> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Definicja

Element <schema> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified">... </xs:schema> Element <schema> Element <schema> jest elementem głównym dokumentu Schema. Element ten może zawierać wile atrybutów.

Element <schema> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified">... </xs:schema> xmlns:xs... Atrybut xmlns:xs oznacza, że elementy i typy danych użyte w definicji pochodzą z przestrzeni nazw http://www.w3.org/2001/schema. Wszystkie elementy pochodzące z tej przestrzeni nazw powinny mieć prefix xs.

Element <schema> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified">... </xs:schema> targetnamespace... Atrybut targetnamespace oznacza, że elementy zdefiniowane w (dvd, tytuł, cena, sztuk) pochodzą z przestrzeni nazw http://swierczu.com.

Element <schema> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified">... </xs:schema> xmlns... Domyślną przestrzenią nazw jest przestrzeń http://swierczu.com.

Element <schema> <xs:schema xmlns:xs="http://www.w3.org/2001/schema" targetnamespace="http://swierczu.com" xmlns="http://swierczu.com" elementformdefault="qualified">... </xs:schema> elementformdefault= qualified Użycie tego atrybutu oznacza, że wszystkie elementy zdefiniowane wtymschemacieschemaiużytewinnymdokumencie muszą być poprzedzone nazwą przestrzeni nazw.

Dołączenie do dokumentu <?xml version= 1.0 encoding= iso-8859-2?> <dvd xmlns="http://swierczu.com" xmlns:xsi="http://www.w3.org/2001/schema-instance" xsi:schemalocation="http://swierczu.com note.xsd"> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd>

Dołączenie do dokumentu <?xml version= 1.0 encoding= iso-8859-2?> <dvd xmlns="http://swierczu.com" xmlns:xsi="http://www.w3.org/2001/schema-instance" xsi:schemalocation="http://swierczu.com note.xsd"> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd> xmlns= http://swierczu.com Deklaracja domyślnej przestrzeni nazw. Wszystkie elementy użyte w dokumencie powinny być zadeklarowane w przestrzeni nazw http://swierczu.com.

Dołączenie do dokumentu <?xml version= 1.0 encoding= iso-8859-2?> <dvd xmlns="http://swierczu.com" xmlns:xsi="http://www.w3.org/2001/schema-instance" xsi:schemalocation="http://swierczu.com note.xsd"> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd> xmlns:xsi= http://www.w3.org/2001/schema-instance Deklaruje przestrzeń nazw xsi jako http://www.w3.org/2001/schema-instance.

Dołączenie do dokumentu <?xml version= 1.0 encoding= iso-8859-2?> <dvd xmlns="http://swierczu.com" xmlns:xsi="http://www.w3.org/2001/schema-instance" xsi:schemalocation="http://swierczu.com note.xsd"> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd> xsi:schemalocation= http://swierczu.com note.xsd Lokalizacja dokumentu dla przestrzeni nazw xsi.

Bardziej złożony dokument <?xml version= 1.0 encoding= iso-8859-2?> <katalog> <dvd> <tytuł>rambo I</tytuł> <cena>5</cena> <sztuk>10</sztuk> </dvd> <dvd> <tytuł>rambo II</tytuł> <cena>7</cena> <sztuk>11</sztuk> </dvd> </katalog>

Definicja <!ELEMENT katalog(dvd)+ > <!ELEMENT dvd(tytuł, cena, sztuk) > <!ELEMENT tytuł(#pcdata) > <!ELEMENT cena(#pcdata) > <!ELEMENT sztuk(#pcdata) >

Definicja <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema"> <xs:element name="katalog"> <xs:complextype> <xs:sequence> <xs:element name="dvd" minoccurs="1" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

Definicja - referencje <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema"> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element ref="tytuł"> <xs:element ref="cena"> <xs:element ref="sztuk"> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="katalog"> <xs:complextype> <xs:sequence> <xs:element ref="dvd" minoccurs="1" maxoccurs="unbounded"> </xs:sequence> </xs:complextype> </xs:element>

Definicja - referencje <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema"> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element ref="tytuł"> <xs:element ref="cena"> <xs:element ref="sztuk"> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="katalog"> <xs:complextype> <xs:sequence> <xs:element ref="dvd" minoccurs="1" maxoccurs="unbounded"> </xs:sequence> </xs:complextype> </xs:element>

Definicja - referencje <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/schema"> <xs:element name="tytuł" type="xs:string"/> <xs:element name="cena" type="xs:integer"/> <xs:element name="sztuk" type="xs:integer"/> <xs:element name="dvd"> <xs:complextype> <xs:sequence> <xs:element ref="tytuł"> <xs:element ref="cena"> <xs:element ref="sztuk"> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="katalog"> <xs:complextype> <xs:sequence> <xs:element ref="dvd" minoccurs="1" maxoccurs="unbounded"> </xs:sequence> </xs:complextype> </xs:element>

Typy danych xs:string xs:decimal xs:integer xs:boolean xs:date xs:time

Prosty element <xs:element name="xxx" type="yyy"/> <xs:element name="color" type="xs:string" default="red"/> <xs:element name="color" type="xs:string" fixed="red"/>

Atrybuty <xs:attribute name="xxx" type="yyy"/> <xs:attribute name="lang" type="xs:string" default="en"/> <xs:attribute name="lang" type="xs:string" fixed="en"/> <xs:attribute name="lang" type="xs:string" use="optional"/> <xs:attribute name="lang" type="xs:string" use="required"/>

Typy złożone <dvd id="76"/>

Typy złożone <dvd id="76"/> <xs:element name="dvd"> <xs:complextype> <xs:complexcontent> <xs:restriction base="xs:integer"> <xs:attribute name="id" type="xs:positiveinteger"/> </xs:restriction> </xs:complexcontent> </xs:complextype> </xs:element>

Typy złożone <dvd id="76"/> <xs:element name="dvd"> <xs:complextype> <xs:complexcontent> <xs:attribute name="id" type="xs:positiveinteger"/> </xs:complexcontent> </xs:complextype> </xs:element>

Definiowanie typów <xs:simpletype name="nazwiskotyp"> <xs:restriction base="xs:string"> <xs:maxlength value="32"/> </xs:restriction> </xs:simpletype>

Definiowanie typów <xs:simpletype name="peseltyp"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{10}"/> </xs:restriction> </xs:simpletype>

Odnośniki: Specyfikacje W3C: Primer: http://www.w3.org/tr/xmlschema-0/ Structures: http://www.w3.org/tr/xmlschema-1/ Datatypes: http://www.w3.org/tr/xmlschema-2/