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



Podobne dokumenty
XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. 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.

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

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

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

DTD - encje ogólne i parametryczne, przestrzenie nazw

XML DTD XML Schema CSS

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

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

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

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

Wprowadzenie do technologii XML

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. Paweł Chodkiewicz

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

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

Technologie zarządzania treścią

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

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

Rola języka XML narzędziem

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

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

Przykładowy dokument XML

XML i nowoczesne metody zarządzania treścią

c TP: anything: 13 listopada 2004 roku 1

XML extensible Markup Language. część 3

Wprowadzenie do XML. Tomasz Przechlewski

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

Aplikacje internetowe laboratorium XML, DTD, XSL

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

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

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. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

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

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

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

Semistrukturalne bazy danych Wykład dla studentów matematyki

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

Dodatek Technologie internetowe 1. UTF-8 wg 2. Adresy URL

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

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

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

I.Wojnicki, Tech.Inter.

INTEGRACJA I EKSPLORACJA DANYCH

XML i nowoczesne technologie zarządzania treścią

Pracownia Komputerowa wyk ad VII

Wprowadzenie do XML schema

XML i nowoczesne metody zarządzania treścią

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

Podstawy XML-a. Zaawansowane techniki programowania

Technologie zarządzania treścią

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)

Przykładowy dokument XML

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

XML extensible Markup Language 1

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

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

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

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

mgr inż. Jacek Staniec Język XML

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

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

Wprowadzenie do technologii XML

XML w bazach danych i bezpieczeństwie

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

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Metody reprezentacji informacji Przedmiot:

Komunikacja człowiek-komputer

Model semistrukturalny

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

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

HTML DOM, XHTML cel, charakterystyka

Kazienko P.: Rodzina języków XML. Software nr 6 (90) czerwiec 2002, s Rodzina języków XML. Przemysław Kazienko

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Pracownia komputerowa. Dariusz Wardecki, wyk. VIII

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

Kodowanie informacji. Przygotował: Ryszard Kijanka

Techniki multimedialne

Wstęp do Informatyki

Procesowanie dokumentów XML

- 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 PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Stwórz dokument XML zawierający poniższe informacje. Wykorzystaj atrybuty.

Podstawy (X)HTML i CSS

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

XML i nowoczesne metody zarządzania treścią

Złożone komponenty JSF wg

Dodatkowe możliwości RDF. Seminarium magisterskie Paweł Chrząszczewski

XML i nowoczesne technologie zarządzania treścią

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

XML extensible Markup Language. część 4

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

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

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Transkrypt:

XML w sosie własnym Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Podstawy XML Dokument XML warstwa logiczna Dokument XML warstwa fizyczna Standardy kodowania znaków DTD Motywacja dla definiowania struktury dokumentów DTD elementy i atrybuty DTD encje i parametryzacja Przestrzenie nazw Motywacja Realizacja

Model dokumentu XML Opisany bardziej formalnie m.in. w standardach XML Information Set, XPath, DOM. Dokument jest drzewem: elementy węzły drzewa, posiadaja nazwę, moga posiadać atrybuty, węzły tekstowe liście drzewa, ponadto komentarze i instrukcje przetwarzania także liście. Atrybuty to własności elementów identyfikowane po nazwie, nie sa dziećmi elementów. Zapisywanie struktury dokumentu, znaczniki <?xml version="1.0" encoding="iso-8859-2"?> <?xml-stylesheet type="text/css" href="styl.css"?> <artykuł id="13/2007" xml:lang="pl"> <tytuł>przypisanie w Pascalu i C </tytuł> <autor email= ola@fasola.pl >Ola Fasola</autor> <treść><?drukarnia kod ma być wyróżniony?> W Pascalu przypisanie ma postać <kod>x := 5</kod>, natomiast w C <kod>x = 5</kod>. <!- - TODO: Dopisać o Javie i Ocamlu - -> </treść> </artykuł> <!- -recenzent: podać ciekawszy przykład - -> Element główny Element Znacznik otwierajacy Znacznik zamykajacy Atrybuty Węzeł tekstowy Zawartość mieszana Komentarze

Encja Encja w XML/SGML to uogólnienie pojęcia pliku (także np. wynik działania aplikacji). Dokument jest zapisany w co najmniej jednej encji głównej. Dokument może zawierać referencje do encji zadeklarowane w DTD, rozwinięte gdy widzimy dokument w warstwie logicznej, czyli wstawione i sparsowane. O deklarowaniu encji w DTD w dalszej części wykładu. Przykłady referencji do encji <coś warunek="x < 5"> bla bla &moja_encja; bla bla </coś> Encje predefiniowane Nie trzeba ich deklarować. Najwygodniejszy sposób zapisywania znaków specjalnych. Encje predefiniowane < < > > & & &apos; " "

Referencje do znaków Pozwalaja na umieszczenie w dokumencie dowolnego znaku Unicode. ϩ referencja do znaku o kodzie 1001, ሿ referencja do znaku o kodzie szesnastkowym 123F. Sekcje CDATA Pozwalaja na umieszczenie w dokumencie fragmentu nie przetwarzanego przez parser. Znacznik otwierajacy: <[CDATA[ Znacznik zamykajacy: ]]> ]]> nie może wystapić literlanie w normalnej treści dokumentu! Przykład <coś> Coś nie do parsowania: <![CDATA[x > 0 && x < 100]]> </coś>

Unicode i Universal Character Set (UCS) Tabela przyporzadkowuj aca numerom abstrakcyjne znaki np. ogonek tworzacy ą z a. Obecnie (Unicode 5.0, ISO/IEC 10646:2003 z dodatkami) około 100 tys. znaków, miejsce na ponad milion. Unicode ponadto opisuje metadane znaków, np.: kolejność liter w alfabetach, wartość liczbowa cyfry. Podstawowy zestaw znaków (Unicode 2.0) daje się zapisać za pomoca dwóch bajtów. Popularne sposoby zapisywania Unicode UTF-16 znaki z zestawu podstawowego zapisywane po prostu, istotna kolejność bajtów w słowie (dwie wersje), znaki spoza zestawu podstawowego jako para dwubajtowych słów. UTF-8 znaki o kodach 0 127 zapisywane w jednym bajcie zgodnie z ASCII i ISO-8859-_, znaki z zakresu podstawowego zajmuja do czterech bajtów, pozostałe znaki zapisywane do sześciu bajtów, optymalizaje ułatwiajace znajdowanie poczatku znaku w środku tekstu.

Inne standardy Standardy jendobajtowe Popularne standardy jednobajtowe (Windows-1250/Latin-2, ISO-8859-2 i inne): Kody 0 127 zgodne z ASCII, Unicode i UTF-8. Kody 128 255 mapowane na inne znaki Unicode. XML XML może być zapisany w dowolnym standardzie dajacym się zmapować na Unicode (odpowiedzialność parsera). Każde narzędzie XML-owe musi obsługiwać UTF-8. XML jako metajęzyk XML, SGML metajęzyki: języki opisane w standardach (XHTML, DocBook XML, WSDL, SVG,... ), możliwość definiowania w własnych języków. Definiowanie języków (zastosowań, struktury dokumentów, typów dokumentów): określanie zestawu dopuszczalnych elementów, atrybutów,..., definiowanie dopuszczalnej zawartości elementów (tekst, inne elementy), przypisywanie atrybutów do elementów,....

Dwa stopnie poprawności dokumentu Dokument XML poprawny składniowo (ang. well-formed): poprawne nazwy, każdy element musi być zamknięty, nie ma nakładajacych się elementów (struktura drzewa), wartości atrybutów w apostrofach lub cudzysłowach.... Dokument XML poprawny strukturalnie (ang. valid): zgodny z definicja struktury, standard XML zgodność z DTD, to samo określenie poprawność względem innych standardów (XML Schema, Relax NG,... ). Zalety kontroli poprawności strukturalnej (za pomoca gotowych narzędzi, zwykle podczas parsowania) Można przyjać założenia dotyczace struktury dokumentu np. występowanie danego elementu. Nie trzeba ręcznie badać struktury. Metody definiowania struktury: DTD Document Type Definition, XML Schema (rekomendacja W3C z 2 maja 2001), Relax NG, Schematron, (?)..., dokument XML bez formalnej definicji struktury.

Modelowanie jako proces analityczny Wieloetapowy proces analityczno-projektowy: analiza struktury modelowanych bytów, analiza przykładowych dokumentów, analiza potencjalnych zastosowań oraz przypadków użycia, abstrakcyjny projekt struktury, kodowanie projektu struktury np. przy pomocy XML Schema, testowanie, pielęgnacja i uaktualnianie. Uwaga Definicja zastosowania XML powinna określać nie tylko składnię (DTD, XML Schema), ale i semantykę znaczenie poszczególnych elementów i atrybutów. Położenie DTD Wewnatrz dokumentu. Na zewnatrz (w encji zewnętrznej) identyfikator systemowy, identyfikator publiczny. częściowo wewnatrz, częściowo na zewnatrz, jako pierwsza przetwarzana część wewnętrzna. Przykład <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]> <greeting>hello, world!</greeting><?xml version="1.0" encoding="utf-8"?> <!DOCTYPE greeting SYSTEM "hello.dtd"> <greeting>hello, world!</greeting><?xml version="1.0" encoding="utf-8"?> <!DOCTYPE greeting PUBLIC "-//W3C//GREETEING 1.0//EN" "hello.dtd"> <greeting>hello, world!</greeting><?xml version="1.0" encoding="utf-8"?> <!DOCTYPE greeting SYSTEM "hello.dtd" [ <!ATTLIST greeting words CDATA #IMPLIED>

Deklaracja elementu <!ELEMENT nazwa-elementu typ-zawartości-elementu > Typy zawartości elementów ANY dowolna zawartość, EMPTY element pusty, #PCDATA zawartość tekstowa, (#PCDATA elem1 elem2... ) zawartość mieszana: tekst z zanurzonymi podelementami, brak kontroli kolejności i liczności podelementów. wyrażenie regularne tylko podelementy bez tekstu. Wyrażenia regularne w typie zaw. elem. Nazwy elementów (atomy). Nawiasy. Spójniki pomiędzy nazwami lub grupami w nawiasach:, sekwencja, wybór. Modyfikatory za nazwa lub nawiasem zamykajacym:? opcjonalny, * zero lub więcej, + jeden lub więcej. Przykład <!ELEMENT osoby (osoba)* > <!ELEMENT osoba ((imię+, nazwisko) pseudonim) >

Deklaracja listy atrybutów <!ATTLIST nazwa-elementu nazwa-atrybutu typ-zawartości-atrybutu opis-domyślnej nazwa-atrybutu typ-zawartości-atrybutu opis-domyślnej...> Może być wiele list atrybutów dla danego elementu, sa akumulowane, ważniejsza jest wcześniejsza. Opis domyślnej #REQUIRED atrybut obowiazkowy, #IMPLIED atrybut opcjonalny, "wartość" wartość domyślna, #FIXED "wartość" wartość ustalona. Typy zawartości atrybutów CDATA dowolny tekst, NMTOKEN token (tylko litery, cyfry i znaki _ - :), NMTOKENS tokeny rozdzielone białymi znakami, ID identyfikator unikalny w skali dokumentu, musi być nazwa, dla danego typu elementu max jeden atrybut typu ID. IDREF i IDREFS wartość równa wartości pewnego atrybutu typu ID w tym samym dokumencie. Przykład <!ATTLIST osoba płeć (K M) #REQUIRED email CDATA #IMPLIED>

Encja ogólna: wewnętrzna i zewnętrzna Encja ogólna referencje moga występować w węzłach tekstowych i atrybutach w atrybutach tylko encje zawierajace tekst. Encja wewnętrzna treść podana bezpośrednio w DTD. Encja zewnętrzna treść znajduje się w zasobie zewnętrznym (pliku itp.). Przykład <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE coś [ <!ELEMENT coś (#PCDATA)> <!ENTITY wewnętrzna "Wartość" > <!ENTITY zewnętrzna SYSTEM "plik.xml" > ]> <coś> &wewnętrzna; &zewnętrzna; </coś> Encje parametryczne Encja parametryczna referencje moga występować wewnatrz DTD. Brak konfliktu nazw z encjami ogólnymi. Wewnętrzne lub zewnętrzne. Przykład <!ENTITY % TOsosba "(imię+, nazwisko)"> <!ELEMENT student %TOsoba;> <!ELEMENT pracownik %TOsoba;>

Encje nieprzetwarzane Pozwalaja na dołaczanie do dokumentów danych binarnych. Referencje tylko w specjalnie zadeklarowanych atrybutach. Wymagaja zadeklarowania notacji. Pozostałość SGML, praktycznie nieużywane w nowoczesnych zastosowaniach XML. Rodzaje encji podsumowanie wewnętrzne zewnętrzne przetw. nieprzetw. przetw. nieprzetw. ogólne TAK NIE TAK TAK parametryczne TAK NIE TAK NIE

Sekcje warunkowe <![INCLUDE[... ]]> <![IGNORE[... ]]> Powoduja przetworzenie lub nie danego fragmentu DTD. W połaczeniu z encjami parametrycznymi pozwalaja tworzyć sparametryzowane DTD. Sekcje warunkowe zastosowania Zewnętrzna część DTD <!ENTITY % usos "IGNORE">... <![%usos;[ <!ATTLIST przedmiot usos-id CDATA #REQUIRED> ]]> Dokument <!DOCTYPE przedmioty SYSTEM "przedmioty.dtd" [ <!ENTITY % usos "INCLUDE"> ]>... <przedmiot usos-id="1000-2m01xm">xml</przedmiot>...

Konflikt nazw Problem: ta sama nazwa oznacza dwa różne byty w różnych dokumentach, dokumenty te sa powiazane (np. wspólnie przetwarzane, jeden zanurzony w drugim, itp.) Rozwiazanie: przestrzeń nazw (namespace) grupa nazw oddzielona (składniowo i semantycznie) od innych nazw. Jednoznaczny identyfikator W dokumencie: deklaracje przestrzeni nazw przypisanie prefiksom identyfikatorów przestrzeni nazw, nazwy składaja się z prefiksu i części lokalnej. Zamiast nazwy para: unikalny globalnie identyfikator przestrzeni nazw, nazwa lokalna. W wersji 1.0 za id. prz. nazw przyjęto URI: Uniform Resource Identifier, http://www.w3.org/1999/xhtml (przykładowy URL), urn:isbn:0-395-36341-1 (przykładowy URN). W wersji 1.1 standardu zmiana na IRI Internationalized Resource Identifier, uogólnienie URI dopuszczajace znaki spoza ASCII.

Prefiksy i przestrzenie nazw < os:osoba xmlns:os="http://szz.mimuw.edu.pl/osoby" xmlns:inst="http://szz.mimuw.edu.pl/instytucje" xmlns:xhtml="http://www.w3.org/1999/xhtml"> < os:imie>jan</ os:imie> < os:nazwisko>kowalski</ os:nazwisko> < os:nip>123-456-78-90</ os:nip> < os:opis>to jest < xhtml:b>bardzo</ xhtml:b> fajny facet!</ os:opis> < os:pracuje-w> < inst:firma> < inst:nazwa>business Consulting</ inst:nazwa> < inst:nip>987-654-32-10</ inst:nip> </ inst:firma> </ os:pracuje-w> </ os:osoba> Domyślna przestrzeń nazw < osoba xmlns="http://szz.mimuw.edu.pl/osoby" xmlns:inst="http://szz.mimuw.edu.pl/instytucje" xmlns:xhtml="http://www.w3.org/1999/xhtml"> < imie>jan</ imie> < nazwisko>kowalski</ nazwisko> < NIP>123-456-78-90</ NIP> < opis>to jest < xhtml:b>bardzo</ xhtml:b> fajny facet!</ opis> < pracuje-w> < inst:firma> < inst:nazwa>business Consulting</ inst:nazwa> < inst:nip>987-654-32-10</ inst:nip> </ inst:firma> </ pracuje-w> </ osoba>

Przedefiniowanie prefiksu < pre:osoba xmlns:pre="http://szz.mimuw.edu.pl/osoby" xmlns:inst="http://szz.mimuw.edu.pl/instytucje" xmlns:xhtml="http://www.w3.org/1999/xhtml"> < pre:imie>jan</ pre:imie> < pre:nazwisko>kowalski</ pre:nazwisko> < pre:nip>123-456-78-90</ pre:nip> < pre:opis>to jest < xhtml:b>bardzo</ xhtml:b> fajny facet!</ pre:opis> < pre:pracuje-w> < pre:firma xmlns:pre="http://szz.mimuw.edu.pl/instytucje"> < pre:nazwa>business Consulting</ pre:nazwa> < pre:nip>987-654-32-10</ pre:nip> </ pre:firma> </ pre:pracuje-w> </ pre:osoba> Domyślna przestrzeń nazw a atrybuty Domyślna przestrzeń nazw nie dotyczy atrybutów. Atrybuty bez prefiksu nie należa do żadnej przestrzeni nazw. Znaczenie atrybutu bez prefiksu zależy od tego w jakim znajduje się elemencie.

Przestrzenie nazw a nazwy atrybutów Poprawne <x xmlns:n1="http://szz.mimuw.edu.pl/n1" xmlns:n2="http://szz.mimuw.edu.pl/n2"> <good n1:a="1" n2:a="2"/> </x> Niepoprawne <x xmlns:n1="http://szz.mimuw.edu.pl/n1" xmlns:n2="http://szz.mimuw.edu.pl/n1"> <bad n1:a="1" n2:a="2"/> </x> Poprawne <x xmlns:n1="http://szz.mimuw.edu.pl/n1" xmlns="http://szz.mimuw.edu.pl/n1"> < good n1:a="1" a="2"/> </x> Przestrzenie nazw a standard XML Sam standard XML (i DTD) nie wspiera przestrzeni nazw. Nowe standardy, jak XML Schema, XSLT czy XLink, wspieraja przestrzenie nazw. Namespaces in XML 1.0 rekomendacja W3C z 1999 r obecnie dotyczy dokumentów XML 1.0. Namespaces in XML 1.1 rekomendacja W3C z 2006 r dotyczy dokumentów XML 1.1, możliwość oddeklarowania prefiksu, IRI zamiast URI. Na dokument XML można patrzeć na dwa sposoby: nie uwzględniajac przestrzeni nazw, uwzględniajac przestrzenie nazw (mniej dokumentów poprawnych). Parsery zwykle daja wybór trybu parsowania.