XML extensible Markup Language. Paweł Chodkiewicz

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

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

Rola języka XML narzędziem

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

Wprowadzenie do technologii XML

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

Środowisko XML (Extensible Markup Language).

XML DTD XML Schema CSS

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.

XML extensible Markup Language. część 1

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

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

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

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

c TP: anything: 13 listopada 2004 roku 1

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

Technologie zarządzania treścią

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

DTD - encje ogólne i parametryczne, przestrzenie nazw

Wprowadzenie do XML. Tomasz Przechlewski

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

HTML DOM, XHTML cel, charakterystyka

Przetwarzanie dokumentów XML i zaawansowane techniki WWW

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

Model semistrukturalny

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

Programowanie internetowe

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

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Tworzenie Stron Internetowych. odcinek 1

Historia kodowania i format plików XML. Jolanta Bachan

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

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

XML extensible Markup Language. część 3

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

XML extensible Markup Language 1

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

mgr inż. Jacek Staniec Język XML

Przykładowy dokument XML

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Podstawy (X)HTML i CSS

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

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

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

Semistrukturalne bazy danych Wykład dla studentów matematyki

Wprowadzenie do technologii XML

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

Narzędzia informatyczne w językoznawstwie

- 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

Tworzenie Stron Internetowych. odcinek 1

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

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

Specyfikacja techniczna pliku wymiany danych

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

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

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Facelets ViewHandler

Złożone komponenty JSF wg

SPECYFIKACJA TECHNICZNA DOTYCZĄCA PRZYGOTOWANIA BAZ DANYCH DO PERSONALIZACJI

XML i nowoczesne metody zarządzania treścią

XML i nowoczesne technologie zarządzania treścią

Dlaczego GML? Gdańsk r. Karol Stachura

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

rk HTML 4 a 5 różnice

XML. XML (ang. Extensible Markup Language) - Rozszerzalny język znaczników. Aktualna wersja 1.0 (1.1 czeka na akceptację) Należy do rodziny SGML.

Wykład 1: HTML (XHTML) Michał Drabik

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

XML extensible Markup Language 3

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

Elementarz HTML i CSS

Podstawy JavaScript ćwiczenia

Podstawy XML-a. Zaawansowane techniki programowania

Kurs HTML 4.01 TI 312[01]

Przykładowy dokument XML

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

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

INTEGRACJA I EKSPLORACJA DANYCH

Struktura pliku XML dla importu zleceń

Wprowadzenie do XML schema

HTML nie opisuje układu strony!!!

Oczywiście plik musi mieć rozszerzenie *.php

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

XML i nowoczesne metody zarządzania treścią

Struktura pliku XML dla importu zleceń

Podstawowe wykorzystanie Hibernate

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

Tablice (jedno i wielowymiarowe), łańcuchy znaków

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Zaawansowany kurs języka Python

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

I.Wojnicki, Tech.Inter.

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

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

Instrukcja integracji z portalem ogłoszeń praca.24portal.pl

Bazy Danych i Usługi Sieciowe

Transkrypt:

XML extensible Markup Language Paweł Chodkiewicz

XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.

Historia GML Projekt GenCode SGML WWW W3C -> XML SGML -> ISO 2nd WWW, W3C XML rek. XML Apache XML 1967 1969 1974 1986 1991 1994 1996 1998 1999

Różnice między XML a HTML - XML został zaprojektowany aby obsługiwać, przechowywać dane - HTML wyświetlanie danych - znaczniki XML nie są predefiniowane jak w HTML -XML jest rozszerzalny można dodawać kolejne znaczniki do dokumentów

Dokument XML musi mieć element główny: <root> <child> <subchild>...</subchild> </child> </root>

XML Prolog <?xml version="1.0" encoding="utf-8"?> Prolog jest opcjonalny. Jeżeli istnieje musi być jako pierwszy w dokumencie. XML może zawierać znaki międzynarodowe, jak polskie ąśźżć lub norweskie øæå, francuskie êèé. Aby zapobiec błędów podajemy w prologu kodowanie dokumentu. UTF-8 jest domyślnym kodowaniem.

Każdy element musi mieć odpowiednik zamykający <element> DOBRZE </element> <element> DOBRZE </element> <element> ŹLE <element> ŹLE

Elementy XML muszą być poprawnie zagnieżdżone <elementpierwszy> <element> DOBRZE </element > </elementpierwszy> <elementpierwszy> <element> ŹLE </elementpierwszy> </element>

Encje Niektóre elementy w XML mogą posiadać specjalne znaczenie jak < dlatego używamy encji. W XML jest 5 predefiniowanych encji: < < mniejsze > > większe & & ampersand &apos; apostrof " cudzysłów Tylko < i & są zastrzeżone w XML ale dobrym nawykiem jest zastępowanie > with &gt.

Komentarze <!-- To jest komentarz poprawny --> <!-- Ten komentarz jest -- niepoprawny--> <!-- Ale ten już - - tak -->

Wielokrotne spacje W przeciwieństwie do HTML, XML nie zamienia kilku spacji na jedną XML: Kilka spacji HTML: Kilka spacji

Dokument poprawny składniowo znacznik otwierający posiada swój odpowiednik zamykający elementy puste musza być jawnie puste <separator/> tylko jeden znacznik główny (ang. Root) zakresy elementów nie mogą sie przeplatać wartości atrybutów w cudzysłowach lub prawych apostrofach Znaki < i & tylko do otwierania znaczników i odwołań do encji

Dokument prawidłowy (valid) jest to dobrze uformowany dokument XML, + DTD (Document Type Definition) i zawartość musi być zgodna z tym opisem.

Element XML: <imie> Jan</imie> Element może zawierać: - text - atrybuty - inne elementy - mix powyższych

<ksiegarnia> <ksiazka kategoria= dzieci"> <tytul>janko Muzykant</tytul > <autor>h. Sienkiewicz</autor> <rok>1879</rok> <tytul>, <autor>, <rok>,<cena>zawartość tekstowa <cena>29.99</cena> <ksiegarnia> and <ksiazka> elementy </ksiazka> <ksiazka> ma atrybut <ksiazka kategoria ="web"> < tytul> Algorytmy</tytul > <autor>j. Pokojski, J. Bonarawski, J. Jusis</autor> <rok>2010</rok> <cena>100</ cena > </ksiazka> </ ksiegarnia >

Element pusty: XML może zawierać puste elementy: lub <element></element> <element /> Powyższe zapisy są jednoznaczne. Puste elementy mogą mieć atrybuty.

XML nazewnictwo - nazwy elementów wyróżniają wielkość liter, - nazwy elementów rozpoczynają się od litery lub podkreślenia, - nazwy elementów nie mogą zaczynać się od słowa xml (XML, Xml, etc), - nazwy elementów mogą zawierać litery, cyfry, łączniki, podkreślenia, - nazwy elementów nie mogą zawierać spacji, - nazwą może być każde słowo oprócz słowa xml.

Dobre nawyki: - tworzenie nazw opisowych, tak: <osoba>, <Imię>, <Nazwisko>, - tworzenie krótkich i prostych nazw, takich jak : <nazwisko> a nie: <nazwisko_pracownika_instytucji>, - unikaj "-". "first-name", niektóre programy mogą rozpoznać odejmowanie, - unikaj ".". Programy mogą rozpoznać wyrażenie po kropce jako atrybut, - unikaj":". Często znacznik ten jest zarezerwowany w programach, - Litery ąśźżć są dozwolone w XML, ale mogą być nie obsługiwane przez programy wykorzystujące twój plik.

Style nazewnictwa: - małe litery <firstname>, wszystko z małych liter, - duże litery <FIRSTNAME> wszystko z dużychliter, - z podkreśleniem <first_name>, - jak nazwa własna <FirstName>, każde słowo z dużej litery, - Camel <firstname> najpierw mała później z dużej

Atrybuty elementów muszą być w <ksiazka kategoria= dzieci"> <tytul>janko Muzykant</tytul > <autor>h. Sienkiewicz</autor> </ksiazka> <ksiazka kategoria=dzieci> ŹLE </ksiazka>

Nazwy atrybutów z można otoczyć <ksiazka kategoria= takie sobie > </ksiazka>

XML Elementy vs. Atrybuty <osoba plec= kobieta"> <imie>anna</imie> <nazwisko>kowalska</nazwisko> </osoba> < osoba > <plec>kobieta</plec> <imie>anna</imie> <nazwisko>kowalska</nazwisko> </ osoba > W pierwszym przykładzie płeć jest atrybutem zaś w drugim elementem. Oba przypadki przekazują tę samą informację.

<list data="2008-01-10"> <do>ania</do> <od>kamil</od> </list> <list> <data>2008-01-10</data> <do>ania</do> <od>kamil</od> </list> Najlepiej <list> <data> <rok>2015</rok> <miesiac>11</miesiac> <dzien>10</dzien> </data> <do>ania</do> <od>kamil</od> </list>

Unikać atrybutów? - atrybuty nie mogą zawierać kilku wartości, - atrybuty nie mogą być przedstawione w strukturze drzewa - atrybuty nie są łatwo rozszerzalne

Konflikty nazw: Plik XML zawierający znaczniki HTML Plik XML zawierający info o stole (table) <table> <tr> <td>apples</td> <td>bananas</td> </tr> </table> + <table> <name>african Coffee Table</name> <width>80</width> <length>120</length> </table>

Używamy prefiksów nazw: <h:table> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table> <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>

XML Namespaces xmlns Kiedy używamy prefiksów musimy zdefiniować przestrzeń nazw (namespace). Przestrzeń nazw może być zdefiniowana przez xmlns w początkowym tagu elementu Składnia deklaracji.: xmlns:prefix="uri".

<root> <h:table xmlns:h="http://www.w3.org/tr/html4/"> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>

XML DTD Dokument XML poprawnie sformatowany jest nazywany Well Formated. Dokument posiadający DTD i zgodny z jego zawartości, dobrze sformatowany jest nazywany "Well Formed" i "Valid.

<!DOCTYPE note [ <!ELEMENT list(od,do,naglowek,body)> <!ELEMENT od(#pcdata)> <!ELEMENT do(#pcdata)> <!ELEMENT naglowek(#pcdata)> <!ELEMENT body (#PCDATA)> ]>!DOCTYPE definiuje że element root jest list,!element list definiuje że muszą być koniecznie takie elementy: " od,do,naglowek, body"!element do definiuje ten element jako (#PCDATA)!ELEMENT do definiuje ten element jako (#PCDATA)!ELEMENT naglowek definiuje ten element jako (#PCDATA)!ELEMENT body definiuje ten element jako (#PCDATA) (#PCDATA) (parsed character data) wewnątrz deklarowanego elementu występuje tekst.

Deklaracja elementu lub <!ELEMENT nazwa kategoria> <!ELEMENT nazwa (elementy, krotność)>

Pusty element <!ELEMENT nazwa EMPTY> Przykład (znacznik wykorzystywany w HTML) <!ELEMENT br EMPTY> XML: <br />

Element Parsed Character Data Elementy zawierające wyłącznie #PCDATA: <!ELEMENT nazwa (#PCDATA)> Przykład: <!ELEMENT od (#PCDATA)>

Element z dowolną zawartością Może zawierać każdą kombinację parsowanych elementów <!ELEMENT nazwa ANY> Przykład: <!ELEMENT list ANY>

Element z deklaracją podelementów <!ELEMENT nazwa (child1)> lub <!ELEMENT nazwa (child1,child2,...)> Przykład: <!ELEMENT note (do, od, naglowek,body)> (a,b) wewnątrz elementu występuje element a, po nim element b (a b) wewnątrz deklarowanego elementu występuje element a lub element b

Deklaracja tylko jednego wystąpienia elementu <!ELEMENT nazwa (child)> Przykład: <!ELEMENT list (wiadomosc)>

Deklaracja minimalnie jednego wystąpienia elementu <!ELEMENT nazwa (child+)> Przykład: <!ELEMENT list (wiadomosc+)>

Deklaracja zero lub więcej wystąpień elementu <!ELEMENT nazwa (child*)> Przykład: <!ELEMENT list (wiadomosc*)>

Deklaracja zero lub jednego wystąpienia elementu <!ELEMENT nazwa (child?)> Przykład: <!ELEMENT list (wiadomosc?)>