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

Podobne dokumenty
XML extensible Markup Language. część 2

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

XML extensible Markup Language. część 4

XML extensible Markup Language. część 4

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 1 METAJĘZYK SGML CZĘŚĆ 1

Wprowadzenie do XML schema

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

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

Rola języka XML narzędziem

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

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

XML extensible Markup Language. Paweł Chodkiewicz

Technologie zarządzania treścią

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

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

Wprowadzenie do technologii XML

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

Technologie internetowe

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

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

XML extensible Markup Language. część 3

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

XML DTD XML Schema CSS

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

Uradni list Republike Slovenije

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

- 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

DTD - encje ogólne i parametryczne, przestrzenie nazw

c TP: anything: 13 listopada 2004 roku 1

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

Przykładowy dokument XML

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

Wprowadzenie do XML. Tomasz Przechlewski

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

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

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

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

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

Aplikacje internetowe laboratorium XML, DTD, XSL

XML extensible Markup Language 1

Podstawy XML-a. Zaawansowane techniki programowania

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

kdpw_stream Struktura komunikatu: System rekompensat - deklaracja wpłat (cpss.dcl ) Data utworzenia: r.

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

Załącznik Nr 1 do Uchwały Nr XX/356/11 Rady Miasta Gdańska z dnia 24 listopada 2011 r.

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

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

I.Wojnicki, Tech.Inter.

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

XML i nowoczesne metody zarządzania treścią

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

XML Schema w przykładach

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

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

<xs:element minoccurs="1" name="rok"> <xs:simpletype> <xs:restriction base="xs:gyear">

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

Elementy struktur MiCOMP_VAT

Aplikacje Internetowe

Schema bsb-kwy xsd

UCHWAŁA NR XXXVI RADY MIEJSKIEJ W ANDRYCHOWIE. z dnia 20 czerwca 2013 r.

Dokumentacja platformy format źródłowy epcollxml. epodreczniki.pl

kdpw_stream Struktura komunikatu: Płatności z tytułu depozytów zabezpieczających (colr.mrg ) Data utworzenia: r.

SCHEMAT DOKUMENTU POTWIERDZENIA GENEROWANEGO PRZEZ ZUS

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

XML extensible Markup Language. część 1

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

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

kdpw_stream Struktura komunikatu: Płatności z tytułu depozytów zabezpieczających i obsługi rynku OTC (colr.mrg ) Data utworzenia: r.

HTML DOM, XHTML cel, charakterystyka

kdpw_stream Data utworzenia: r.

Technologie zarządzania treścią

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

GML w praktyce geodezyjnej

kdpw_stream Struktura komunikatu: Zestawienie stanów posiadania (semt.smh ) Data utworzenia: r.

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

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

Zastosowanie informatyki w gospodarce Wykład 3

UCHWAŁA NR XVII RADY MIASTA MIŃSK MAZOWIECKI. z dnia 27 czerwca 2016 r.

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO

kdpw_stream Struktura komunikatu: Informacja o aktualizacji funduszu rozliczeniowego (colr.sgf ) Data utworzenia: r.

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

kdpw_stream Struktura komunikatu: Salda rozliczeń pieniężnych (camt.smt ) Data utworzenia: r.

Biblioteki dzielone, XML i readline

kdpw_stream Struktura komunikatu: Raport rejestru zabezpieczeń (colr.sm ) Data utworzenia: r.

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

Schematy XML. Tomasz Traczyk.

Programowanie internetowe

Model semistrukturalny

INTEGRACJA I EKSPLORACJA DANYCH

kdpw_stream Struktura komunikatu: Status komunikatu z danymi uzupełniającymi na potrzeby ARM (auth.ste ) Data utworzenia: r.

Semistrukturalne bazy danych Wykład dla studentów matematyki

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

kdpw_stream Struktura komunikatu: Raport przepływów papierów na dzień zawarcia transakcji (semt.ssf ) Data utworzenia: r.

kdpw_stream Struktura komunikatu: Komunikat zgłoszenia do Repozytorium (trar.ins ) Data utworzenia: r.

kdpw_stream Struktura komunikatu: Informacja o aktualizacji funduszu zabezpieczającego OTC (colr.sgf ) Data utworzenia: r.

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO

Transkrypt:

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

XML (ang. Extensible Markup Language Rozszerzalny język znaczników) Oparty o SGML prosty, elastyczny format tekstowy opisujący klasę obiektów nazywanych dokumentami XML. Dokumenty te zawierają dane i znaczniki, które służą do reprezentacji struktury i znaczenia danych, nie są jednak z nimi związane domyślne reguły prezentacji i formatowania danych. Poprawny dokument XML to dokument spełniający zasady opisane w definicji typu dokumentu DTD.

DOBRE FORMATOWANIE TO NIE WSZYSTKO Dobrze sformatowany document XML: Zaczyna się od deklaracji XML; Zawiera jeden unikalny element podstawowy (root element); Wszystkie znaczniki są domknięte; Nazwy elementów uwzględniają wielkość liter; Elementy muszą być poprawnie zagnieżdżone; Wartości atrybutów muszą być w cudzysłowach; Znaki specjalne muszą mieć swoje odpowiedniki. Samo formatowanie to nie wszystko nadal mogą pojawiać się błędy. Przykład: zamówienie 8 drukarek brutto zamiast 8 sztuk.

DOKUMENT DTD (Document Type Definition) Dokument definiujący strukturę i elementy oraz atrybuty dokumentu XML. To swego rodzaju przewodnik po dokumencie zawiera informację o znacznikach, atrybutach, dozwolonych wartościach. Przy wymianie informacji między różnymi systemami, pełni rolę opisu standardu informacji oraz umożliwia sprawdzenie, czy dokument XML jest poprawny.

PRZYKŁAD <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#CDATA)> ]> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

INTERPRETACJA DTD <!DOCTYPE note [ //root element is note <!ELEMENT note (to,from,heading,body)> //must contain to, from, heading, body elements //elementy mają format tekstowy <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#CDATA)>

PO CO UŻYWAĆ DTD? Dzięki definicji typu dokumentu można ustalić standard do wymiany informacji miedzy różnymi grupami osób lub różnymi systemami. Aplikacje mogą zweryfikować, czy otrzymały poprawny dokument XML.

BLOKI XML W DTD Elementy inaczej znaczniki, Atrybuty właściwości znaczników, Odwołania znakowe (encje, entities): o < < o > > o & & o " " o &apos; ' PCDATA tekst, który będzie interpretowany przez parser, CDATA tekst, który nie będzie interpretowany, tylko wstawiany as it is

ELEMENTY W DTD Elementy w DTD definiowane są poprzez składnię ELEMENT: <!ELEMENT element-name category> lub <!ELEMENT element-name (element-content)>

PUSTY ELEMENT <!ELEMENT element-name EMPTY> Przykład: <!ELEMENT br EMPTY> czyli <br />

ELEMENTY Z DOWOLNĄ ZAWARTOŚCIĄ <!ELEMENT element-name ANY> Przykład: <!ELEMENT note ANY>

ELEMENTY PCDATA <!ELEMENT element-name (#PCDATA)> Przykład: <!ELEMENT from (#PCDATA)>

ELEMENTY ZAWIERAJĄCE INNE ELEMENTY <!ELEMENT element-name (child1)> lub <!ELEMENT element-name (child1,child2,...)> Przykład: <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#CDATA)>

ILOŚĆ WYSTĄPIEŃ ELEMENTU W DTD można ustalić, że: Element wystąpi tylko raz <!ELEMENT element-name (child-name)> Element wystąpi minimum raz <!ELEMENT element-name (child-name+)> Element wystąpi wcale lub wiele razy <!ELEMENT element-name (child-name*)> Element wystąpi wcale lub jeden raz <!ELEMENT element-name (child-name?)>

MIESZANE ELEMENTY Wystąpi jeden element lub drugi <!ELEMENT note (to,from,header,(message body))> //wystąpi message LUB/I body Może wystąpić mieszany typ elementów <!ELEMENT note (#PCDATA to from header message)*> //note zawiera 0 lub więcej wystąpień każdego z elementów

ATRYBUTY W DTD Atrybuty w DTD definiowane są przez składnię ATTLIST: <!ATTLIST element-name attribute-name attribute-type attribute-value> Przykład: <!ATTLIST payment type CDATA "check"> czyli <payment type="check" />

TYPY ATRYBUTÓW: ATTRIBUTE-TYPE CDATA - wartość znakowa (en1 en2..) - wartość z listy ID IDREF IDREFS NMTOKEN wartość to ID wartość to ID innego elementu - wartość to lista ID innych elementów wartość to nazwa XML NMTOKENS wartość to lista nazw XML ENTITY ENTITIES NOTATION xml: wartość to jednostka wartość to lista jednostek wartością jest nazwa notacji - wartością jest predefiniowana wartość XML

WARTOŚCI ATRYBUTÓW ATTRIBUTE-VALUE value - domyślna wartość atrybutu #REQUIRED atrybut jest wymagany #IMPLIED - atrybut jest opcjonalny #FIXED value wartość atrybutu jest ustalona

DOMYŚLNA WARTOŚĆ DTD: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0"> XML: <square width="100" /> //pusty element square posiada atrybut width typu znakowego, który ma domyślnie ustaloną wartość 0

#REQUIRED Używamy, gdy chcemy wymusić istnienie atrybutu, nawet jeśli nie mamy domyślnej wartości. <!ATTLIST element-name attribute-name attribute-type #REQUIRED> DTD: <!ATTLIST person number CDATA #REQUIRED> Poprawny XML: <person number="5677" /> Niepoprawny XML: <person />

#IMPLIED Używamy, gdy nie mamy domyślnej wartości i nie wymagamy istnienia atrybutu. <!ATTLIST element-name attribute-name attribute-type #IMPLIED> DTD: <!ATTLIST contact fax CDATA #IMPLIED> Poprawny XML: <contact fax="555-667788" /> lub: <contact />

#FIXED Używamy, gdy sami chcemy decydować o wartości atrybutu. <!ATTLIST element-name attribute-name attribute-type #FIXED "value"> DTD: <!ATTLIST sender company CDATA #FIXED "Microsoft"> Poprawny XML: <sender company="microsoft" /> Niepoprawny XML: <sender company="w3schools" />

LIST WARTOŚCI ATRYBUTÓW <!ATTLIST element-name attribute-name (en1 en2..) default-value> DTD: <!ATTLIST payment type (check cash) "cash"> Poprawny XML: <payment type="check" /> lub <payment type="cash" />

ODWOŁANIA ZNAKOWE (ENTITIES) Odwołania znakowe (encje) służą do definiowania skrótów do znaków specjalnych. <!ENTITY entity-name "entity-value"> DTD: <!ENTITY writer "Donald Duck."> <!ENTITY copyright "Copyright W3Schools."> XML: <author>&writer;&copyright;</author>

DTD ZAWARTE W DOKUMENCIE XML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#CDATA)> ]> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

DTD ZAWARTE W OSOBNYM PLIKU <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

XML SCHEMA DEFINITION (XSD) CZĘŚĆ 2

XML SCHEMA DEFINITION (XSD) Podobnie jak DTD jest to format do opisu struktury dokumentu XML, z tym, że jest oparty na języku XML. Celem XML Schema jest definiowanie ptrawidłowej budowy bloków w dokumencie XML, czyli określenie: Elementów i atrybutów, które mogą się pojawiać w dokumencie; Ilość i kolejność potomków elementów; Typów danych elementów i atrybutów; Domyślnych wartości elementów oraz atrybutów.

XML SCHEMA ZALETY Dokumenty XML Schema są napisane w języku XML i korzystają ze wszystkich jego udogodnień (styli, parsowania, manipulacji drzewem DOM); Łatwo je rozszerzać o dodatkowe opcje; Wspierają typy danych i przestrzenie nazw: łatwiej opisać zawartość dokumentu oraz sprawdzić poprawność danych.

PRZYKŁAD <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

PUSTY XML SCHEMA <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="https://www.w3schools.com" xmlns="https://www.w3schools.com" elementformdefault="qualified">...... </xs:schema> targetnamespace pochodzenie obszaru nazw elementformdefault - "qualified" dokument musi spełniać zasady

DOŁĄCZENIE DO DOKUMENTU <?xml version="1.0"?> <note xmlns="https://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="https://www.w3schools.com note.xsd"> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>

PROSTY ELEMENT Prosty element element nie zawierający innych elementów czy atrybutów. <xs:element name="xxx" type="yyy"/> Może zawierać w sobie różne typy danych: xs:string xs:decimal xs:integer xs:boolean xs:date xs:time

PRZYKŁAD <lastname>kwiatkowski</lastname> <age>36</age> <dateborn>1970-03-27</dateborn> <xs:element name="lastname" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/> Ponadto może posiadać oznaczenie, czy wartość jest domyślna, czy stała: <xs:element name="color" type="xs:string" default="red"/> <xs:element name="color" type="xs:string" fixed="red"/>

ATRYBUTY Atrybuty są zawsze prostego typu, czyli nie zawierają w sobie innych elementów ani atrybutów. <xs:attribute name="xxx" type="yyy"/> Przyjmują podobne wartości type jak prosty element oraz mogą być default lub fixed. <lastname lang="en">smith</lastname> <xs:attribute name="lang" type="xs:string" default="en"/>

FACETS OGRANICZENIA Na zawartość elementów można nałożyć ograniczenia. Ograniczenie liczb: <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="120"/> </xs:restriction> </xs:simpletype> </xs:element>

FACETS OGRANICZENIA Ograniczenie elementów: <xs:element name="car"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="audi"/> <xs:enumeration value="golf"/> <xs:enumeration value="bmw"/> </xs:restriction> </xs:simpletype> </xs:element>

FACETS OGRANICZENIA Ograniczenie serii danych: <xs:element name="gender"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="male female"/> </xs:restriction> </xs:simpletype> </xs:element> Pełna lista ograniczeń dostępna pod adresem: https://www.w3schools.com/xml/schema_facets.asp

ZŁOŻONY ELEMENT Złożony element element, który zawiera inne elementy i atrybuty. Może nim być: Pusty element Element, który zawiera inne elementy Element, który zawiera elementy i tekst Element, który zawiera tylko tekst Element, który zawiera atrybuty

PUSTY ZŁOŻONY ELEMENT <product pid="1345"/> <xs:element name="product"> <xs:complextype> <xs:attribute name="prodid" type="xs:positiveinteger" /> </xs:complextype> </xs:element>

ELEMENT ZAWIERAJĄCY INNE ELEMENTY <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element>

ELEMENT ZAWIERAJĄCY TEKST <shoesize country="france">35</shoesize> <xs:element name="shoesize"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:integer"> <xs:attribute name="country" type="xs:string" /> </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element>

ELEMENT MIESZANY: <letter> Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>. </letter> <xs:element name="letter"> <xs:complextype mixed="true"> <xs:sequence> <xs:element name="orderid" type="xs:positiveinteger "/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complextype> </xs:element>

ELEMENT <ANY> Pozwala na dodanie do dokumentów elementów wcześniej nieokreślonych. <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element>

ATRYBUT <ANYATTRIBUTE> Pozwala na dodanie do dokumentów wcześniej niezdefiniowanych atrybutów. <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> <xs:anyattribute/> </xs:complextype> </xs:element>

OGRANICZENIA ILOŚCI ELEMENTÓW Podobnie jak w DTD na ilość wystąpień elementów można ustawić ograniczenia: Kolejność wystąpień: all, choice, sequence Ilość wystąpień: maxoccurs, minoccurs Grupowanie w sekwencje: group name, attributegroup name

OGRANICZENIE ALL Wszystkie elementy mogą się pojawić, maximum jeden raz. <xs:element name="person"> <xs:complextype> <xs:all> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:all> </xs:complextype> </xs:element>

OGRANICZENIE CHOICE Oznacza, że albo jeden albo drugi element musi się pojawić. <xs:element name="person"> <xs:complextype> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complextype> </xs:element>

OGRANICZENIE SEQUENCE Oznacza, że elementy muszą się pojawić w określonym porządku. <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> Więcej przykładów: https://www.w3schools.com/xml/schema_complex_indicators.asp

Dziękuję za uwagę MATERIAŁY POMOCNICZE http://www.w3schools.com/xml/xml_dtd_intro.asp http://www.w3schools.com/xml/schema_intro.asp