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



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

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

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

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

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

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

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

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

XML i nowoczesne metody zarządzania treścią

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

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

Wprowadzenie do XML schema

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

XML extensible Markup Language. część 4

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

Rola języka XML narzędziem

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

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

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

Przykładowy dokument XML

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

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

SCHEMAT DOKUMENTU POTWIERDZENIA GENEROWANEGO PRZEZ ZUS

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

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

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

Załącznik Nr 2 do Uchwały Nr XXVI/172/13 Rady Miasta Jedlina-Zdrój z dnia r.

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

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

XML a białe znaki. Poprawne modele zawartości. Zarządzanie zmianami struktury. Model błędnej zawartości (1) Model błędnej zawartości (2)

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

XML i nowoczesne metody zarządzania treścią

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

Wprowadzenie do technologii XML

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

- 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

Wprowadzenie do technologii XML

XML extensible Markup Language. część 2

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

XML w bazach danych i bezpieczeństwie

DTD - encje ogólne i parametryczne, przestrzenie nazw

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

UCHWAŁA NR XXIV/163/13 RADY MIASTA JEDLINA-ZDRÓJ. z dnia 7 marca 2013 r.

XML i nowoczesne technologie zarządzania treścią

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

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

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Automatyzacja testowania oprogramowania. Automatyzacja testowania oprogramowania 1/36

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Schematy XML. Tomasz Traczyk.

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

GML w praktyce geodezyjnej

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

XML w bazach danych i bezpieczeństwie

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

TWORZENIE SCHEMATU XML

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO

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

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

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Schema bsb-kwy xsd

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

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

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

XML extensible Markup Language. Paweł Chodkiewicz

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Inne standardy zwiazane z XML

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

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

Dlaczego GML? Gdańsk r. Karol Stachura

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

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

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

Inne standardy zwiazane z XML

XML i nowoczesne metody zarządzania treścią

XML Path Language (XPath)

Model semistrukturalny

UCHWAŁA NR VI/32/15 RADY MIASTA JEDLINA-ZDRÓJ. z dnia 30 kwietnia 2015 r.

Technologie zarządzania treścią

Kurs HTML 4.01 TI 312[01]

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

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

XML extensible Markup Language. część 4

Jednolity Plik Kontrolny w IFK

Mechanizm generowania edeklaracji

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

INTEGRACJA I EKSPLORACJA DANYCH

XML w bazach danych, standardy wiążące dokumenty 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

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

XML DTD XML Schema CSS

Jednolity Plik Kontrolny w IFK

XML i nowoczesne technologie zarządzania treścią 2007/08

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Proces dwukierunkowej wymiany danych

Transkrypt:

XML Schema Alternatywne metody definiowania struktury dokumentów Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 1 / 25

Plan XML Schema uzupełnienia 1 XML Schema uzupełnienia Nazwy kwalifikowane i nie Grupy zamienne Symbole wieloznaczne 2 Alternatywy dla XML Schema Ograniczenia XML Schema Relax NG Schematron 3 Zarzadzanie zmianami struktury Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 2 / 25

XML Schema uzupełnienia Nazwy kwalifikowane i nie Forma nazwy lokalnych elementów i atrybutów Atrybut form w deklaracjach lokalnych: qualified w dokumencie nazwa kwalifikowana, unqualified w dokumencie nazwa niekwalifikowana. Atrybuty elementdefaultform i attributedefaultform w elemencie głównym schema. Elementy i atrybuty zadeklarowane globalnie zawsze kwalifikowane. Najbardziej intuicyjne: elementy kwalifikowane, atrybuty niekwalifikowane. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 3 / 25

XML Schema uzupełnienia Grupy zamienne Grupy zamienne (substitution groups) Schemat <xs:element name="katalog"> <xs:complextype> <xs:sequence> <xs:element ref="produkt" maxoccurs="unbounded"/> <xs:sequence> <xs:complextype> </xs:element> <xs:element name="produkt" type="produkttyp"/> <xs:element name="komputer" type="komputertyp" substitutiongroup="produkt"/> <xs:element name="ubranie" type="ubranietyp" substitutiongroup="produkt"/> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 4 / 25

XML Schema uzupełnienia Grupy zamienne Grupy zamienne (substitution groups) Egzemplarz <katalog> <produkt>...</produkt> <komputer>...</komputer> <ubranie>...</ubranie> <produkt>...</produkt> </katalog> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 5 / 25

XML Schema uzupełnienia Symbole wieloznaczne Symbole wieloznaczne (1) Przykład Symbole wieloznaczne dla elementów (element wildcards). Symbole wieloznaczne dla atrybutów (attribute wildcards). <xs:complextype name="osobatyp"> <xs:sequence> <xs:element name="imie" type="xs:string"/> <xs:element name="nazwisko" type="xs:string"/> <xs:any namespace="##other" minoccurs="0" maxoccurs="unbounded" processcontents="skip"/> </xs:sequence> <xs:anyattribute namespace="##other" processcontents="lax"/> </xs:complextype> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 6 / 25

XML Schema uzupełnienia Symbole wieloznaczne Symbole wieloznaczne (1) Przykład Symbole wieloznaczne dla elementów (element wildcards). Symbole wieloznaczne dla atrybutów (attribute wildcards). <xs:complextype name="osobatyp"> <xs:sequence> <xs:element name="imie" type="xs:string"/> <xs:element name="nazwisko" type="xs:string"/> <xs:any namespace="##other" minoccurs="0" maxoccurs="unbounded" processcontents="skip"/> </xs:sequence> <xs:anyattribute namespace="##other" processcontents="lax"/> </xs:complextype> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 6 / 25

XML Schema uzupełnienia Symbole wieloznaczne (2) Symbole wieloznaczne Atrybut namespace rozdzielone białymi znakami identyfikatory przestrzeni nazw i/lub ##targetnamespace, ##any dowolna przestrzeń nazw, ##other przestrzeń nazw inna niż docelowa. Atrybut processcontents skip nie sprawdzaj poprawności strukturalnej, strict sprawdzaj poprawność; bład jeśli brak unikalnej deklaracji w schemacie (wraz z importami i includami), lax sprawdzaj tylko elementy/atrybuty, dla których jest dostępna deklaracja. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 7 / 25

XML Schema uzupełnienia Symbole wieloznaczne (2) Symbole wieloznaczne Atrybut namespace rozdzielone białymi znakami identyfikatory przestrzeni nazw i/lub ##targetnamespace, ##any dowolna przestrzeń nazw, ##other przestrzeń nazw inna niż docelowa. Atrybut processcontents skip nie sprawdzaj poprawności strukturalnej, strict sprawdzaj poprawność; bład jeśli brak unikalnej deklaracji w schemacie (wraz z importami i includami), lax sprawdzaj tylko elementy/atrybuty, dla których jest dostępna deklaracja. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 7 / 25

XML Schema uzupełnienia Typowe zastosowanie Symbole wieloznaczne <xs:element name="description"> <xs:complextype mixed="true"> <xs:sequence> <xs:any namespace="http://www.w3.org/1999/xhtml" minoccurs="0" maxoccurs="unbounded" processcontents="skip"/> </xs:sequence> </xs:complextype> </xs:element> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 8 / 25

Plan Alternatywy dla XML Schema 1 XML Schema uzupełnienia Nazwy kwalifikowane i nie Grupy zamienne Symbole wieloznaczne 2 Alternatywy dla XML Schema Ograniczenia XML Schema Relax NG Schematron 3 Zarzadzanie zmianami struktury Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 9 / 25

Alternatywy dla XML Schema Ograniczenia XML Schema Ograniczenia XML Schema Brak sprawdzania kontekstowego Brak kontekstowego sprawdzania poprawności, np.: zawartość elementu cena-netto jest mniejsza lub równa od zawartości elementu cena-brutto, jeżeli wartościa atrybutu sposób-transportu jest powietrze, to element środek-transportu ma zawartość samolot lub balon. Metody kontekstowego sprawdzania poprawności: zaprogramowane w kodzie aplikacji, transformacja XSLT, wykorzystanie innego języka schematów, np. Schematron. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 10 / 25

Alternatywy dla XML Schema Ograniczenia XML Schema Niedeterministyczne modele zawartości Model niejednoznaczny: Nawet znajac cały dokument nie jesteśmy w stanie wskazać które deklaracje w schemacie odpowiadaja elementom w dokumencie. (a,a)* (a,a,a)* Model niedeterministyczny: Czytajac dokument od poczatku gdy pojawia się pewien znacznik otwierajacy nie jesteśmy w stanie wskazać która deklaracja w schemacie odpowiada bieżacemu elementowi w dokumencie (bez czytania dalej dokumentu). (a,a?,a?) (a,b)+,a? Modele definiowane w XML Schema musza być deterministyczne: Czytajac dowolny dokument od poczatku gdy pojawia się pewien znacznik otwierajacy jesteśmy w stanie wskazać która deklaracja w schemacie odpowiada bieżacemu elementowi w dokumencie (bez czytania dalej dokumentu). (a,(a,a?)?) Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 11 / 25

Alternatywy dla XML Schema Ograniczenia XML Schema Rozgadana składnia XML Schema Rozgadana składnia, długie nazwy utrudniona ręczna edycja. Element z prosta zawartościa i atrybutem <xs:element name="masa"> <xs:complextype> <xs:simplecontent> <xs:extension base="xs:decimal"> <xs:attribute name="jm" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> </xs:element> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 12 / 25

Relax NG Alternatywy dla XML Schema Relax NG REgular LAnguage description for XML New Generation: składnia XML-owa, bliska opisowi struktury w języku naturalnym, wspiera typy danych (np. XML Schema Datatypes), atrybuty opisywane (prawie) tak samo, jak elementy, prosta technika modularyzacji: define / ref, model przetwarzania oparty na wyrażeniach regularnych. RELAX NG a DTD: elementy wymagane, ale bez określonego porzadku, model mieszany więcej możliwości; RELAX NG a XML Schema: niedeterministyczne modele zawartości, modele zawartości wrażliwe na kontekst, zwięzła składnia. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 13 / 25

Alternatywy dla XML Schema Relax NG Relax NG przykłady (1) DTD <!DOCTYPE addressbook [ <!ELEMENT addressbook (card*)> <!ELEMENT card (name, email)> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> ]> Relax NG <element name="addressbook" xmlns="http://relaxng.org/ns/structure/1.0"> <zeroormore> <element name="card"> <element name="name"> <text/> </element> <element name="email"> <text/> </element> </element> </zeroormore> </element> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 14 / 25

Alternatywy dla XML Schema Relax NG Relax NG przykłady (2) Wybór między typem prostym a złożonym nie ma w XML Schema <element name="name"> <choice> <text/> <group> <element name="firstname"><data type="token"/> </element> <optional> <element name="middlename"><data type="token"/> </element> </optional> <element name="lastname"><data type="token"/> </element> </group> </choice> </name> Źródło: RELAX NG Tutorial, http://www.relaxng.org/tutorial-20011203.html Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 15 / 25

Alternatywy dla XML Schema Relax NG Relax NG przykłady (2) Niedeterminizm nie da się zapisać w XML Schema Model w notacji DTD (a,b)*,a? Relax NG <element name="listaab"> <zeroormore> <ref name="a"/> <ref name="b"/> </zeroormore> <optional> <ref name="a"/> </optional> </element> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 16 / 25

Schematron Alternatywy dla XML Schema Schematron Język oparty na własnościach (asercjach), a nie na gramatyce: łatwe wyrażanie reguł walidacji kontekstowej, trudne, nieintuicyjne modelowanie struktury dokumentu, użyteczny w połaczeniu ze zwykła DTD lub schematem XML Schema. Status: norma ISO (ISO/IEC 19757-3:2006). Implementacja referencyjna: przekształcenie (generator) XSLT, dla zadanego schematu Schematronowego, generuje XSLT sprawdzajacy poprawność dokumentów. Dostępnych kilkanaście implementacji. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 17 / 25

Schematron Alternatywy dla XML Schema Schematron Własności ewaluowane w kontekście konkretnego węzła dokumentu: assert własność, która musi być spełniona, report własność, której spełnienie oznacza bład. Przykład Określanie kontekstu i własności: wyrażenia XPath. <rule context="towar"> <assert test="@wartosc = @cena * @liczba"> wartość = cena * liczba</assert> </rule> <rule context="faktura"> <report test="@platnosc!= przelew and./przelew"> Przelew określony, a nie płacimy przelewem </report> </rule> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 18 / 25

Alternatywy dla XML Schema Schematron Schematron + XML Schema (1) <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.demo.org" xmlns="http://www.demo.org" xmlns:sch="http://www.ascc.net/xml/schematron" elementformdefault="qualified"> <xs:annotation> <xs:appinfo> <sch:title>schematron validation</sch:title> <sch:ns prefix="d" uri="http://www.demo.org"/> </xs:appinfo> </xs:annotation>... Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 19 / 25

Alternatywy dla XML Schema Schematron Schematron + XML Schema (1) <xs:element name="demo"> <xs:annotation> <xs:appinfo> <sch:pattern name="check A greater than B"> <sch:rule context="d:demo"> <sch:assert test="d:a > d:b"> A should be greater than B. </sch:assert> </sch:rule> </sch:pattern> </xs:appinfo> </xs:annotation> <xs:complextype> <xs:sequence> <xs:element name="a" type="xs:integer"/> <xs:element name="b" type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 20 / 25

Plan Zarzadzanie zmianami struktury 1 XML Schema uzupełnienia Nazwy kwalifikowane i nie Grupy zamienne Symbole wieloznaczne 2 Alternatywy dla XML Schema Ograniczenia XML Schema Relax NG Schematron 3 Zarzadzanie zmianami struktury Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 21 / 25

Zarzadzanie zmianami struktury Zarzadzanie zmianami struktury Za Szymonem Zioło Zmiany niekompatybilne wstecz przykład: dodanie elementu wymaganego. Sposób postępowania w żywym systemie: 1 wprowadzamy zmianę modelu kompatybilna wstecz (np. dodajemy element, ale opcjonalny), 2 migrujemy dokumenty: przekształcamy automatycznie i/lub instruujemy użytkowników o konieczności migracji do nowej struktury, 3 po dodaniu brakujacych elementów (lub po upływie wyznaczonego czasu) wprowadzenie zmiany docelowej. Większe zmiany modelu: deklarujemy osobny element z nowym modelem i przez pewien czas dopuszczamy stary lub nowy model, stosujemy przez pewien czas równolegle dwie wersje. Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 22 / 25

Zarzadzanie zmianami struktury Zmiany struktury a aplikacje Przykład Typowa zależność między treścia programu a struktura danych: w treści programu zakładamy konkretna postać struktur danych, dane wejściowe/wyjściowe możliwa zmiana struktury w czasie, zmiana struktury danych konieczność zmian w kodzie. Tworzenie aplikacji niezależnych od zmian struktury danych: ignorowanie elementów i atrybutów nie znaczacych dla aplikacji, unikanie nadmiernej zależności od struktury dokumentu, parametryzowanie aplikacji dodatkowymi informacjami umieszczonymi w schemacie, np.: <xs:element name="nip">... <xs:attribute name="opis" type="xs:string" fixed="numer Identyfikacji Podatkowej"/>... Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 23 / 25

Zarzadzanie zmianami struktury Przestrzenie nazw a aplikacje niezal. od struktury (1) Przykład XLink: linki w elementach o dowolnych nazwach, typ linku i jego parametry przekazywane przez specjalne atrybuty. Przykład użycia <osoba xmlns:xlink="http://www.w3.org/1999/xlink"> <nazwisko>kopernik, Mikołaj</nazwisko> <biogram>wybitny polski astronom, urodzony w <geogr xlink:type="simple" xlink:href="torun.xml"> Toruniu</geogr>.</biogram> </osoba> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 24 / 25

Zarzadzanie zmianami struktury Przestrzenie nazw a aplikacje niezal. od struktury (2) Przykład aplikacja weryfikujaca numery PESEL i daty urodzenia w dokumencie XML: nie powinna zależeć od struktury dokumentu wejściowego, jak przekazać aplikacji, co ma zweryfikować? Realizacja <podanie xmlns:pv="http://peselvalidator.pl"> <nadawca nr-ewid="60101012345" pv:pesel="nr-ewid"> <nazwisko>zenon Niemrawy</nazwisko> <urodzony pv:data-ur="#content">1960-10-10 </urodzony> </nadawca>... </podanie> Patryk Czarnik (MIMUW) 04 XML Schema i alternatywy XML 2007/08 25 / 25