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



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

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

Przykładowy dokument XML

Definiowanie typów dokumentów Część 3. XML Schema

- 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

Dlaczego DTD nie wystarcza? Definiowanie typów dokumentów Część 2. XML Schema. Status XML Schema. DTD XML Schema. Definiowanie elementów i atrybutów

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

Schema Schemat_JPK_PKPIR_v1-0.xsd

Schematy XML. Tomasz Traczyk.

Plan prezentacji. XML Schema Definition Language (XSD) Zalety i wady Schematów XML. Ogólna charakterytyka XML Schema. Wstęp

XML Schema w przykładach

Rozdział 1 Cel dokumentu Rozdział 2 Deklaracja Rozdział 3 Nagłówek Rozdział 4 Podmiot Rozdział 5 FATCA...

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Rzeszów, dnia 18 czerwca 2015 r. Poz UCHWAŁA NR IX RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.

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

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

XML extensible Markup Language. część 4

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

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

Załącznik nr 14 Struktura logiczna korekty informacji podsumowującej o dokonanych wewnątrzwspólnotowych dostawach/nabyciach towarów (VAT-UEK)

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

BGK Zlecenia (Ferryt Enterprise)

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

Schematy aplikacyjne UML i GML dla mapy zasadniczej oraz Modelu Podstawowego. Rozdział 1 Założenia podstawowe

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

XML i nowoczesne metody zarządzania treścią

Nazwa pliku XSD:

(Dz. U. z dnia 17 listopada 2006 r.)

Wprowadzenie do XML schema

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

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

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

Struktura logiczna zgłoszenia aktualizacyjnego osoby fizycznej nieprowadzącej samodzielnie działalności gospodarczej (NIP-3)

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

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

Rola języka XML narzędziem

Format elektroniczny deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi oraz układ informacji i powiązań między nimi

Schema bsb-kwy xsd

Załączniki do rozporządzenia Ministra Finansów z dnia 2011 r. (poz. ) Załącznik nr 1. Struktura logiczna urzędowego poświadczenia odbioru

Definicja struktury danych XSD dla opisu wzorów dokumentów elektronicznych przyjmowanych w Centralnym Repozytorium Dokumentów

Integracja Obieg Dokumentów - GiS Spis treści

Definiowanie typów dokumentów Część 1. DTD, XML Schema

Załącznik nr 5 do uchwały Nr XXXVIII/775/2013 Rady Miejskiej w Gliwicach z dnia 07 listopada 2013 r.

Załącznik do rozporządzenia. Ministra Finansów z dnia września 2006 r. (poz. )

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

XML DTD XML Schema CSS

Wykład 2 xaml, cz Czym jest xml?

Rozprawa doktorska mgr Dariusza Mikułowskiego, pt. Koncepcja i realizacja rozproszonych ontologii w systemie entish

Symbole wieloznaczne w XML Schema. Definiowanie typów dokumentów Część 4. XML Schema, RELAX NG, Schematron. Schematron

Projekt z dnia 20 grudnia 2006 r. ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 2007 r.

XML extensible Markup Language. część 2

Egzamin z przedmiotu Projektowanie języków XML imię i nazwisko. Zadanie Suma Punkty Max Punkty

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

Schema Schemat_JPK_EWP_v1-0.xsd

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

Załączniki do rozporządzenia Ministra Finansów z dnia 2010 r. (poz. ) Załącznik nr 1

Załączniki do rozporządzenia Ministra Finansów z dnia marca 2008 r. (poz. )

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 02

Warszawa, dnia 5 stycznia 2012 r. Pozycja 18 ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 3 stycznia 2012 r.

Implementacja schematów i statycznej kontroli typów w systemie JLoXiM

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

ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 2008 r.

Szczecin, r. Copyright (c) 2015 Izba Skarbowa w Szczecinie. Izba Skarbowa w Szczecinie

Technologie internetowe

Definicja obiektowego modelu danych: struktura i zachowanie

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

Złożone komponenty JSF wg

COAJRM5D.XSD <?xml version="1.0" encoding="windows-1250"?> <xsd:schema xmlns:xsd=" version="1.0">

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

UCHWAŁA NR IX RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.

XML i Java 1. XML Budowa dokumentu XML. Projektowanie systemów informatycznych

Wprowadzenie do technologii XML

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

XML i nowoczesne metody zarządzania treścią

Politechnika Koszalińska

<xsd:simpletype name="tnaturalny"> <xsd:annotation> <xsd:documentation>liczby naturalne</xsd:documentation> </xsd:annotation> <xsd:restriction

Dlaczego GML? Gdańsk r. Karol Stachura

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Semistrukturalne bazy danych Wykład dla studentów matematyki

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

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

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

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

Złożone komponenty JSF wg

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

Bazy danych 7. SQL podstawy

Wykład 4. SQL praca z tabelami 1

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Struktura logiczna informacji o przychodach (dochodach) wypłaconych lub postawionych do dyspozycji faktycznemu albo po

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

Implementacja reguł integralności w XML-owych bazach danych

XML extensible Markup Language. część 4

Schema Schemat_JPK_PKPIR(2)_v1-0.xsd

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

XML extensible Markup Language. część 3

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

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

Transkrypt:

Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych oraz definiować własne Powiązać dokument ze schematem 2 1

W3C http://www.w3.org/standards/xml/schema W3Schools Schema tutorial http://w3schools.com/schema/default.asp W3C Schema Validator http://www.w3.org/2001/03/webdata/xsv Altova procesor (walidacja oraz transformacja dokumentu ) http://www.altova.com/download_components.html Schema Validator on-line http://tools.decisionsoft.com/schemavalidate/ Understanding W3C Schema Complex Types http://www.xml.com/lpt/a/833 3 Badanie poprawności semantycznej dokumentu Schemat i jego składowe Powiązanie dokumentu ze schematem Deklaracja elementu i atrybutu Typy danych, wbudowane oraz definiowane przez użytkownika Określanie struktury elementów 4 2

5 Formalna specyfikacja dokumentu Zestaw reguł i zasad określających strukturę oraz zawartość dokumentu Dokument elementy, atrybuty, struktura dokumentu Schemat opis zawartości oraz struktury elementów, atrybutów 6 3

Dostępne języki W3C Schema Document Type Definition(DTD) Relax-NG Schematron 7 Dokument Schemat danych Zgodność ze schematem Parser Struktura poprawna Struktura niepoprawna Składnia niepoprawna Składnia poprawna Dalsze przetwarzanie 8 4

deklaracja xml element główny (schema) przestrzeń nazw deklaracje elementów i atrybutów definicje typów <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/schema"> <!-- zawartość schematu (deklaracje elementów, atrybutów, definicje typów) --> </xsd:schema> 9 <?xml version="1.0"?> <student> <nazwisko>brzęczyszczykiewicz</nazwisko> <imie>grzegorz</imie> <miasto>chrząszczyŝewoszyce</miasto> </student> <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/schema"> <xsd:element name="student"> <xsd:complextype> <xsd:sequence> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="imie" type="xsd:string"/> <xsd:element name="miasto" type="xsd:string"/> </xsd:sequence> </xsd:element> </xsd:schema> 10 5

Przedsiębiorstwo A Przedsiębiorstwo B Dokument Sprawdzenie zgodności ze schematem Sprawdzenie zgodności ze schematem Dokument Dane Schemat dokumentu Dane 11 12 6

Element Prosty Złożony Tylko tekst Tylko tekst i atrybuty Tekst, atrybuty, elementy potomne 13 Deklaracja elementu <xsd:element name= "imie" type="xsd:string"/> <xsd:element name="wzrost" type="xsd:integer"/> <xsd:element name="dataurodzenia" type="xsd:date"/> Dokument zgodny ze schematem <imie>ania</imie> <wzrost>172</wzrost> <dataurodzenia>1989-07-19</dataurodzenia> 14 7

Deklaracja atrybutu <xsd:attribute name="plec" type="xsd:string"/> <xsd:attribute name= "wlosy" type="xsd:string"/> Dokument zgodny ze schematem <imie plec="kobieta" wlosy="rude">ania</imie> 15 Typy danych Wbudowane Definiowane znakowy: string, normalizedstring, token, liczbowy: integer, decimal, float, double, logiczny: boolean daty i czasu: datetime, time, date, duration, Prosty (simple type) Złożony (complex type) 16 8

Utwórz nowy typ danych Zastosuj complextype nie Typ zawiera tak nie Możliwość tak element lub tworzenia atrybut? elementów? Zastosuj simpletype Dozwolona wartość tekstowa elementu Wykorzystaj restiction, list lub union Użyj simplecontent Dozwolona wartość tekstowa i atrybuty Wykorzystaj extension (tylko atryb.) lub restriction Użyj complexcontent Dozwolona wartość tekstowa, elementy potomne i atrybuty Wykorzystaj restriction lub extension Źródło: opracowanie własne na podstawie: http://www.xml.com/2001/08/22/examples/schematree.pdf 17 Definicja typu prostego <!-- element zawierający wyłącznie tekst --> <xsd:simpletype name="typnrdniatygodnia"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="1"/> <xsd:maxinclusive value="7"/> </xsd:restriction> </xsd:simpletype> Deklaracja elementu <xsd:element name="nrdniatygodnia" type="typnrdniatygodnia"/> Dokument zgodny ze schematem <NrDniaTygodnia>4</NrDniaTygodnia> 18 9

Definicja typu złożonego <! element zawierający tekst i atrybut --> <xsd:complextype name="typstudent"> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="wiek" type="xsd:integer" use="required"/> </xsd:extension> </xsd:simplecontent> Deklaracja elementu <xsd:element name="student" type="typstudent"/> Dokument zgodny ze schematem <student wiek="22">jan Kowalski</student> 19 Element z elementami potomnymi Dowolny już istniejący typ złożony lub anytype <!-- element z elementami potomnymi --> <xsd:complextype name="typstudent"> <xsd:complexcontent> <xsd:restriction base="xsd:anytype"> <xsd:sequence> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="rokstudiow" type="xsd:integer"/> </xsd:sequence> </xsd:restriction> </xsd:complexcontent> 20 10

Definicja typu złożonego (jeśli wywodzi się z anytype) <!-- definicja typu złoŝonego: element z elementami potomnymi --> <xsd:complextype name="typstudent"> <xsd:sequence> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="rokstudiow" type="xsd:integer"/> </xsd:sequence> Deklaracja elementu <xsd:element name="student" type="typstudent"/> Dokument zgodny ze schematem <student> <nazwisko>kowalski</nazwisko> <rokstudiow>5</rokstudiow> </student> 21 Deklaracja globalna elementów i atrybutów umieszczona w elemencie głównym schema zakres widoczności: cały schemat Deklaracja lokalna umieszczona wewnątrz deklaracji elementu / definicji typu brak nazwy typu Referencja odsyłacz do zadeklarowanych elementów i/lub atrybutów 22 11

<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/schema"> <!-- globalna deklaracja elementu --> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="osoba"> <!-- lokalna definicja typu --> <xsd:complextype> <xsd:sequence> <!-- odsyłacz do elementu globalnego --> <xsd:element ref="nazwisko"/> <xsd:element name="imie" type="xsd:string"/> </xsd:sequence> </xsd:element> </xsd:schema> 23 minoccurs(domyślnie 1) maxoccurs(domyślnie 1) unbounded(liczba wystąpień nieokreślona) <xsd:element name="imie" type="xsd:string" minoccurs="1" maxoccurs="2"/> <xsd:element name="nrtelefonu" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> 24 12

wymagany (required) opcjonalny (optional) (wartość domyślna) zakazany (prohibited) <xsd:attribute name="plec" type="xsd:string" use="required"/> <xsd:attribute name="stawkavat" type="xsd:string" use="optional" default="22"/> <xsd:attribute name="opis" type="xsd:string" use="prohibited"/> 25 Określenie sposobu występowania subelementów (elementów potomnych) sequence(wszystkie w podanej kolejności) all(wszystkie w dowolnej kolejności) choice(jeden z wymienionych) 26 13

<!-- sequence --> <xsd:complextype name="typosoba"> <xsd:sequence> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="imie" type="xsd:string"/> </xsd:sequence> <!-- choice --> <xsd:complextype name="typdochod"> <xsd:choice> <!-- pobory pracownika --> <xsd:element name="pobory" type="xsd:decimal"/> <!-- dochód emeryta --> <xsd:element name="emerytura" type="xsd:decimal"/> </xsd:choice> 27 <!-- definicja typu złoŝonego --> <xsd:complextype name="typosoba"> <xsd:sequence> <xsd:element name="nazwisko" type="xsd:string"/> <xsd:element name="imie" type="xsd:string"/> </xsd:sequence> <! - rozszerzenie TypOsoba o dodatkowe dane o studencie --> <xsd:complextype name="typstudent"> <xsd:extension base="typosoba"> <xsd:sequence> <xsd:element name="rokstudiow" type="xsd:integer"/> <xsd:element name="kierunekstudiow" type="xsd:string"/> </xsd:sequence> </xsd:extension> 28 14

<!-- definicja typu prostego (pochodna typu string) --> <xsd:simpletype name="typnazwisko"> <xsd:restriction base="xsd:string"> <xsd:minlength value="2"/> <xsd:maxlength value="40"/> </xsd:restriction> </xsd:simpletype> 29 dopuszczalne wartości elementów i atrybutów length, minlength, maxlength maxinclusive, maxexclusive, mininclusive, minexclusive totaldigits, fractiondigits pattern(regular expressions wyrażenia regularne) enumeration(wyliczenia - słowniki) whitespace preserve(bez normalizacji ciągu - wart. domyślna) replace (zamiana białych znaków na spacje) collapse (zamiana spacji na pojedynczą spację) 30 15

<!-- aspekt enumeration --> <!-- lista dopuszczalnych wartości --> <xsd:simpletype name="typstancywilny"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="panna"/> <xsd:enumeration value="kawaler"/> <xsd:enumeration value="ŝonaty"/> <xsd:enumeration value="męŝatka"/> <xsd:enumeration value="wdowa"/> </xsd:restriction> </xsd:simpletype> 31 <!-- lista 6 liczb z 49 --> <wynikiduzegolotka>5 12 40 6 28 10</wynikiDuzegoLotka> <xsd:simpletype name="liczbaduzylotek"> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxinclusive value="49"/> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="listaliczb"> <xsd:list itemtype="liczbaduzylotek"/> </xsd:simpletype> <xsd:simpletype name="liczbyduzegolotka"> <xsd:restriction base="listaliczb"> <xsd:length value="6"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="losowanie" type="liczbyduzegolotka"/> 32 16