Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:



Podobne dokumenty
- 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

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

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

Przykładowy dokument XML

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

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

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

XML extensible Markup Language. Paweł Chodkiewicz

DTD - encje ogólne i parametryczne, przestrzenie nazw

Rola języka XML narzędziem

Wprowadzenie do XML schema

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

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

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

XML extensible Markup Language. część 4

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

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

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

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

XML i nowoczesne metody zarządzania treścią

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

XML i nowoczesne technologie zarządzania treścią

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

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

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. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów

Schematy XML. Tomasz Traczyk.

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

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

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

Wprowadzenie do technologii XML

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

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

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

c TP: anything: 13 listopada 2004 roku 1

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

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

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

Wprowadzenie do XML. Tomasz Przechlewski

Tom 6 Opis oprogramowania

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

Złożone komponenty JSF wg

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI [1]) z dnia r.

Dlaczego GML? Gdańsk r. Karol Stachura

Aplikacje internetowe laboratorium XML, DTD, XSL

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

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

XML extensible Markup Language. część 3

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

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

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

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

Technologie zarządzania treścią

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

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

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

Typy, klasy typów, składnie w funkcji

XML Schema w przykładach

Złożone komponenty JSF wg

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

Część II. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Środowisko XML (Extensible Markup Language).

Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog

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

Warszawa, dnia 9 maja 2017 r. Poz UCHWAŁA NR 223/XXXV/2017 RADY MIASTA PODKOWA LEŚNA. z dnia 30 marca 2017 r.

Model semistrukturalny

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

Szablony klas, zastosowanie szablonów w programach

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

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

GML w praktyce geodezyjnej

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

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

Wykład 6 Dziedziczenie cd., pliki

Ministerstwo Finansów

System imed24 Instrukcja Moduł Analizy i raporty

XML Path Language (XPath)

Jacek Tomaszczyk Instytut Bibliotekoznawstwa i Informacji Naukowej Uniwersytet Śląski

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

The Binder Consulting

Mechanizm generowania edeklaracji

Instrukcja obsługi Multiconverter 2.0

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa?

Microsoft Interface Definition Language

Ministerstwo Finansów

XML DTD XML Schema CSS

Struktury Struktura polami struct struct struct struct

Instrukcja obsługi DHL KONWERTER 1.6

Zarządzanie sieciami komputerowymi - wprowadzenie

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Identyfikacja znamion ukrytego plagiatu. Z wykorzystaniem IDEA Caseware

Na podstawie artykułu:

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

XML extensible Markup Language 3

HTML DOM, XHTML cel, charakterystyka

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

Transkrypt:

Standard Relax NG Schemat strukturalizacji dokumentów Relax NG (relaxing). Opracowany głównie przez Jamesa Clarka i Makoto Muratę. Standard ISO: Information technology Document Schema Definition Language (DSDL) Part 2: Regular-grammar-based validation RELAX NG (ISO/IEC 19757-2003) W skrócie 90% funkcjonalności XML Schema przy 10% komplikacji. Dwa rodzaje składni: oparta o XML i nie. Ta druga nosi nazwę RNG Compact Syntax (RNC) Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute: element nazwa{...} <element name= nazwa > attribute nazwa{... } <attribute name= nazwa > Elementy deklarujące wzorce (takie jak, np. element oraz attribute) muszą być kwalifikowane następującą przestrzenią nazw: http://relaxng.org/ns/structure/1.0 Prosta deklaracja atrybutu, tj. bez żadnych dodatkowych specyfikacji oznacza atrybut wymagany. Aby atrybut był opcjonalny należy jego deklarację umieścić wewnątrz optional. <element name= katalog xmlns= http://relaxng.org/ns/structure/1.0 > <oneormore> <element name= nazwa > <attribute name= cena > <text/> </attribute> <text/> <oneormore> Wzorzectext oznacza to samo co#pcdata w DTD. Wzorzecempty służy do deklarowania pustej zawartości elementu. Powyższy przykład w składni uproszczonej przedstawia się następująco: element katalog{ elementnazwa{attributecena{text}, text}* } c TP: Relax NG: 6 marca 2005 roku 1

Odpowiednikiem znanych z DTD encji parametrycznych jest konstrukcja nazwanego wzorca: nazwa-wzorca = wzorzec <define name="nazwa-wzorca">... </define> <ref name="nazwa-wzorca"/> Rekursja jest dozwolona. start = nazwa-wzorca <grammar> <start>... </start> </grammar> Element grammar ma pojedynczy element-dziecko start. Parser Relax NG dopasowuje dokument do wzorca określonego we wzorcu start. Określanie liczby powtórzeń i porządku Większość operatorów posiada znaczenie identyczne jak w przypadku DTD:? <optional> # wzorzec opcjonalny * <zeroormore> #0,1,... + <oneormore> #1,2,... <choice> #p1 p2oznaczap1lubp2, #najpierwp1potemp2 (...) <group> #grupa Wzorce group oraz choice mogą być zastosowane zarówno do atrybutów (w DTD było to niemożliwe) jak i elementów. & <interleave> Wzorzec interleave deklaruje dowolny porządek elementów-dzieci (podobna konstrukcja jest znana w standardzie SGML). Szczególnym przypadkiem jest jeżeli jednym z elementów-dzieci jest text. Tego typu zawartość określa się mianem zawartości mieszanej (mixed contet). W DTD porządek i liczba elementów o zawartości mieszanej jest nieokreślona (element może być nawet pusty). Relax NG pozwala na większą precyzję: c TP: Relax NG: 6 marca 2005 roku 2

&elementfirma{text} &elementnazwa{text}? &elementkolor{text}* }+ } <?xml version="1.0"?> <katalog> <czesc>na stanie mamy <kolor>czarne</kolor> i <kolor>srebrne</kolor> <nazwa>sztyce</nazwa> firmy <firma>campagnolo</firma> <czesc><!-- tu jest blad(brak firmy)--> na stanie mamy <kolor>czarne</kolor> i <kolor>srebrne</kolor> <nazwa>sztyce</nazwa> jakiejś firmy. <czesc><!--tujestblad(ojednanazwezaduzo)--> na stanie mamy <kolor>czarne</kolor> <nazwa>kierownice</nazwa> oraz <nazwa>mostki</nazwa> firmy <firma>cinelli</firma> </katalog> # Odpowiednik mixed contet: element katalog{ element czesc{ text &elementfirma{text}* &elementnazwa{text}* &elementkolor{text}* }+ } Określenie typu zawartości elementu/atrybutu Zawartości elementu/atrybutu może być sprawdzona za pomocą porównania do zewnętrznie zdefiniowanych typów. W ten sposób parser Relax NG może wspierać różne zestawy typów, a są one deklarowane za pomocą przypisania odpowiedniego URLa atrybutowi datatypelibrary. Aplikacja jing wspiera zestaw typów zdefiniowany w specyfikacji XML Schema, np: <element name= wiek > <data type= integer datatypelibrary= http://www.w3.org/2001/xmlschema-datatypes /> <param name= minexclusive ="0"/> <param name= maxexclusive ="150"/> c TP: Relax NG: 6 marca 2005 roku 3

datatypes xsd ="http://www.w3.org/2001/xmlschema-datatypes" element wiek{ # wiek jest liczbą calkowitą z przedzialu 1--149 xsd:integer{ minexclusive ="0" maxexclusive ="150"}} Jeżeli element data nie posiada atrybutu datatypelibrary, to obowiązuje wartość znaleziona w pierwszym elemencie przodku posiadającym atrybut datatypelibrary. Wyliczenia (enumerations) { "wart1" "wart2"} <choice> <value> wart1 </value> <value> wart2 </value> </choice> Element value może specyfikować typ zawartości za pomocą atrybutów type oraz datatypelibrary, w sposób identyczny jak w przypadku elementu data. Przykład: opcjonalny element, który może przyjąć wyłącznie wartości jadalny lub trujący: element typ{"jadalny" "trujacy"}? Modularność i łączenie definicji external"plik.rnc" <externalref href= plik.rng /> nazwa =... <define name= nazwa combine= choice > nazwa&=... <define name= nazwa combine= interleave > Element <grammar> może posiadać jako elementy-dzieci element <include>, służący do dołaczania zawartości pliku: include{ <include href= plik.rng />... <define... } </include> Dokumentowanie Jeżeli element posiada atrybut lub element-dziecko z innej przestrzeni nazw niż http://relaxng.org/ns/structure/1.0, to ten atrybut lub element-dziecko jest c TP: Relax NG: 6 marca 2005 roku 4

elementów z innej przestrzeni nazw. Przykład: namespace doc ="http://rowery.org/katalog/" [doc:doc="katalog zawiera dane dotyczace czesci"] element katalog{ [doc:doc="czesc: nazwa oraz cena(w zlotych)"] elementnazwa{attributecena{text}, text}*} Porównanie do DTD Brakuje: domyślnych wartości atrybutów encji, notacji oraz kontroli odstępów (significant whitespaces) Oprogramowanie Do sprawdzenia poprawności można wykorzystać parser jing uruchamiany w następujący sposób: jing-c plik.rnc plik.xml opcja-c oznacza, że szablon w pliku plik.rnc jest zapisany w notacji uproszczonej Aplikacja trang potrafi tłumaczyć składnie szablonów zapisanych w formatach dtd, xsd, rng i rnc. Przykładowo: trang-i rnc-o rng plik.rnc plik.rng zamienia szablon z formatu rnc na format rng. c TP: Relax NG: 6 marca 2005 roku 5