TIN Techniki Internetowe zima

Wielkość: px
Rozpocząć pokaz od strony:

Download "TIN Techniki Internetowe zima"

Transkrypt

1 TIN Techniki Internetowe zima Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej

2 Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokół IP i prot. transportowe: UDP, TCP 4 Model klient-serwer, techniki progr. serwisów 5 Protokoły aplikacyjne: telnet, ftp, smtp, nntp, inne 6 HTTP 7 HTML i okolice 8 XML 9, 10, 11 Aplikacje WWW, CGI, sesje, serwery aplikacji serwlety, integracja z backended SQL 12 Aspekty zaawansowane: wydajność, przenośność, skalowalność; klastering 13 SOAP

3 XML

4 XML Rola HTML? (przypomnienie): HTML opisuje wyłącznie formatowanie tj. sposób prezentacji dokumentu Meta-informacja nie jest w żaden sposób wyrażana w HTML HTML nie wyraża i nie opisuje też semantyki (znaczenia informacji) w HTML nie ma oddzielenia znaczenia tekstu i sposobu jego prezentacji Czego nie da się zrealizować w HTML? (przykłady): Jednoznaczego opisu dokumentów co oznacza tytuł? Wyszukiwania dokumentów np. wg. tytułu, autora lub innych atrybutów znaczeniowych W konsekwencji np. wymiany danych między aplikacjami

5 XML - pierwszy przykład <bibliography> <book ID= "MiM"> <authors> <author>bułhakow Michał</author > <translator>i. Lewandowska </translator> </authors > <title> Mistrz i Małgorzata </title > <publisher>czytelnik</publisher > <year>1992</ year> </ book >... </bibliography >

6 XML - pierwszy przykład <bibliography> Nazwa elementu ELEMENT... <book ID= "MiM"> <authors> <author>bułhakow Michał</author > <translator>i. Lewandowska </translator> </authors > <title> Mistrz i Małgorzata </title > <publisher>czytelnik</publisher > <classification type="fiction"/> <year>1992</ year> </ book > </bibliography > Pusty element Wartość atrybutu Nazwa atrybutu

7 XML - drzewo book bibliography book... XML może też reprezentować: relacyjne bazy danych authors title struktury obiektowe author Bułhakow translator Lewandowska Dokument XML może być przekształcony w drzewo obrazujące hierarchiczne zależności elementów... Mistrz i Małgorzata <bibliography> <book ID= "MiM"> <authors> <author>bułhakow Michał</author > <translator>i. Lewandowska </translator> </authors > <title> Mistrz i Małgorzata </title > <publisher>czytelnik</publisher > <classification type="fiction"/> <year>1992</year> </ book > </bibliography >

8 XML i inne notacje tekstowe XML porządkuje systemy reprezentacji danych w Internecie (i nie tylko) W sensie czysto teoretycznym XML nie wnosi wiele nowego - koncepcje stosowane w XML znane są od co najmniej lat: XML w LISP: (books (book (author Bułhakow ) (title Mistrz i Małgorzata ) (citation (line W białym płaszczu z ) (line ) )))

9 XML - Zalety Może być tworzony przy pomocy najprostszych narzędzi tekstowych Prosty w automatycznej analizie (prosty parser) Dokument zawiera "w sobie" drzewo rozbioru składniowego (parse tree) Dokument może zawierać bezpośrednio w swojej treści opis schematu danych (DTD) Pozwala na całkowitą separację treści od prezentacji (XML+XSL(T)) Jest niezależny od systemów operacyjnych, konkretnego oprogramowania, itd.

10 Definicja struktury dok. XML Co to znaczy "zdefiniujemy strukturę"? Określimy zestaw dopuszczalnych: elementów, atrybutów, itd. zdefiniujemy dopuszczalne zawartości elementów (np.: tekst, inne), przypiszemy atrybuty do elementów Jak zdefiniujemy strukturę? dokument XML bez określonej struktury - dobre do prostych "nie publicznych" zastosowań, DTD Document Type Definition, XML Schema Inne, np.: Relax NG (OASIS), Schematron, ISO DSDL (obejmuje Relax NG i Schematron)

11 Poprawność składni XML Koniec ze złymi nawykami (z HTML-a)! Dokument musi być poprawny syntaktycznie - składniowo ("well-formed"): wartości atrybutów ujęte w apostrofy lub cudzysłowy Niepusty element musi mieć znacznik otwierający i zamykający Znaczniki muszą być poprawnie zagnieżdżone (nie ma nakładających się elementów) Dokument musi być poprawny strukturalnie - semantycznie: struktura dokumentu zgodna ze strukturą zdefiniowaną w definicji typu dokumentu, w odpowiednich elementach obecne wszystkie wymagane atrybuty.

12 Składnia XML Znaki: Unicode Deklaracja XML: <?xml version="1.0" encoding="iso " standalone="no"?> Znaczniki: <tag attributename="attribute-value"> </tag> Znacznik elementu pustego: <br> </br> -> <br/>

13 DTD XML - gramatyka XML DTD: bezkontekstowa (CFG) <!ELEMENT bibliography book*> <!ELEMENT book (authors,classification?,title)> <!ELEMENT authors author+> <!ELEMENT ElementName ContentModel> Gramatyka CFG bibliography book authors book* authors,classification?,title author+ lhs = element (name) rhs = wyr. reg. złożone z elementów + stringów (PCDATA)

14 DTD - Document Type Definition Definicja nazw elementów i struktury: Sekwencja 0 lub więcej Dekl. typu elementu Sekwencja 1 lub więcej <!ELEMENT bibliography book*> <!ELEMENT book (authors, classification?, title)> <!ELEMENT authors author+> <!ELEMENT author (#PCDATA)> <!ELEMENT classification EMPTY> <!ELEMENT title (#PCDATA)> <!ATTLIST classification type ENTITY #REQUIRED> <!ATTLIST paper ID ID> Dekl. listy atrybutów Ciąg znaków "Parsed Character Data"

15 PCDATA i CDATA PCDATA - Parsed character data nie może zawierać znaków i sekwencji: "<", "&", "]]>" CDATA - Character data dane nie analizowane (ignorowane) przez parser Przykład: <![CDATA[ function matchwo(a,b) {. } ]]>

16 DTD - podstawy składni Deklaracja DOCTYPE (nagłówek dokumentu): <!DOCTYPE nazwa id-zewnętrzny [ deklaracje ]> Deklaracja elementu: <!ELEMENT nazwa (reguła)> <!ELEMENT ElementName ContentModel> Deklaracja atrybutów: <!ATTLIST element nazwa-attr typ-attr wart-domyślna nazwa-attr typ-attr wart-domyślna...>

17 DTD - definicje elementów Deklaracja <element e> liczność: R? R* R+ R 1 R 2..., R n R 1, R 2,..., R n #PCDATA EMPTY (#PCDATA e*)* ANY Znaczenie Dokładnie jeden <element e> Zero lub jedno R Zero lub więcej R Jedno lub więcej R Dokładnie jedno z R i Sekwencja R, kolejność ma znacznie Ciąg znaków Pusty Zawartość mieszana Cokolwiek

18 DTD - grupowanie elementów <!ELEMENT book ((author editor), title, isbn)> <!ELEMENT author (first, last)> <!ELEMENT foo (a b (c, d, e, (f g (h, i))))> Ograniczenia: Wewnątrz grupy nie można mieszać sekwencji i wyboru: Źle: <!ELEMENT foo (a b, c)> Dobrze: <!ELEMENT foo (a (b, c))> Dobrze : <!ELEMENT foo ((a b), c))> gramatyka musi być deterministyczna Źle : <!ELEMENT foo ((a, b) (a, c))>

19 DTD - Definicje atrybutów <person ID="bm"> Jan Nowak </person>... <bibliography> <book ID= "MiM"> <authors> <author authorref="bm">bułhakow Michał</author > <translator>i. Lewandowska </translator> </authors > <title> Mistrz i Małgorzata </title > <classification type="fiction"/> <publisher>czytelnik</publisher > <year>1992</ year> </book > Identyfikator obiektu Wewnątrz-dokumentowe odwołanie typu IDREF Odwołanie do zewn. Encji

20 Typ DTD - definicje atrybutów Znaczenie ID Identyfikator (token) unikalny w dokum. IDREF Odwołanie do identyfikatora ID IDREFS Odwołanie do identyfikatorów ID ENTITY Zewnętrzna encja (obraz, wideo, ) ENTITIES Zewnętrzne encje CDATA Ciąg znaków NMTOKEN Leksem (name token) NMTOKENS Leksemy NOTATION Dane inne niż XML Enumeration Wyliczenie opcji Conditional SectionINCLUDE & IGNORE Atrybuty mogą być: REQUIRED (wymagane), IMPLIED (opcjonalne) mogą mieć też wartości domyślne, które mogą być FIXED (stałe)

21 DTD - Definicje atrybutów - przykłady <!ATTLIST pudelko dlugosc CDATA "0"> <!ATTLIST pudelko szerokosc CDATA "0"> <!ATTLIST krawedz widoczna (tak nie) "nie"> <!ATTLIST osoba stan.cywilny (wolny zonaty zamezna wdowiec wdowa rozwiedziony rozwiedziona nieznany) #IMPLIED> Każda osoba ma identyfikator osoba.id Osoba może mieć zdefiniowanego szefa Identyfikator szefa jest określony jako odwołanie do zdefiniowanego identyfikatora <!ATTLIST osoba osoba.id ID #REQUIRED> <!ATTLIST osoba szef.ref IDREF #IMPLED> <osoba osoba.id= 110 >Jan Kowalski</osoba> <osoba osoba.id= 120 szef.ref= 110 >Jan Nowak</osoba>

22 Encje Encja (entity): Nazwany tekst lub inna dana fizyczna reprezentacja obiektu informacyjnego, uogólniony "plik", jednostka fizycznej budowy dokumentu, uogólnienie pojęcia "makro". Dokument to nie plik i to nie encja: encja dokumentu ( document entity ), zawartość dokumentu może znajdować się w wielu encjach (reprezentowanych np. przez pliki).

23 Encje Typy encji: ogólne - w dok. XML zastępują ciąg znaków parametryczne - występują wyłącznie w def. typu dokumentu i są rozwijane wg. definicji we wcześniejszym DTD, odpowiadają prostym makrodefnicjom w preprocesorze C zewnętrzne - pozwalają na "wstawienie" zewnętrznego dokumentu XML do dok. bieżącego binarne - pozwalają na zadeklarowanie danych nietekstowych

24 Encje ogólne Encje ogólne predefinowane (znakowe): & & < < > > &apos; ' " " <!ENTITY nazwa "tekst"> Przykład: <!ENTITY copyright "&#A9;"?> Używamy zamiast ciągu znaków, np. wtedy gdy wystąpił by konflikt z zarezerwowanymi znakami parsera W dekl. encji nie mogą wystąpić odwołania wzajemne!

25 Encje parametryczne <!ENTITY % nazwa tekst> Przykład: <!ENTITY % pcdata "(#PCDATA)"> <!ELEMENT author %pcdata;> <!ENTITY % expandme "INCLUDE">.. <![ %expandme; [ ELEMENT description (#PCDATA)> ]]> Rozwijane między znakami % i ; Rodzaj "makrodefinicji" Są rozwijane wyłącznie w obrębie DTD Porównaj z definicją INCLUDE, IGNORE! W deklaracjach encji parametrycznych nie mogą wystąpić odwołania wzajemne!

26 DTD - Definicje warunkowe Włączanie i wyłączanie fragmentów DTD: <![INCLUDE[ <!ELEMENT book (authors, classification?, title)]> ]]> <![IGNORE[ <!ELEMENT book (authors, classification?, title)]> ]]> Konstrukcje te mają praktyczny sens w połączeniu z encjami parametrycznymi

27 Encje binarne / nieprzetwarzalne (unparsed entity) Przykład: <!ENTITY %obraz1 SYSTEM " NDATA GIF89a> Deklaracja Notacji <!Notation GIF89a SYSTEM "-//CompuServe/NOTATION Grafic Interchange Format 89a//EN"> Encje binarne pozwalają na zadeklarowanie danych nietekstowych Notacje używane w połączeniu z encjami binarnymi uzupełniają informację o typach encji binarnych Notacje informują parser z jakim rodzajem danych nietekstowych ma do czynienia Parser nie analizuje danych binarnych, ale może je przekazać do zewnętrznego programu

28 Encje ogólne: wewnętrzne i zewętrzne Encje wewnętrzne: DTD: <!ENTITY mb "Michał Bułhakow"> Instancja dokumentu: &mb; urodził się w 1891 roku. Encje zewnętrzne: DTD: <!ENTITY abstr1 SYSTEM "file:///abstrakt.xml"> <!ENTITY abstr2 SYSTEM "file:///intro.xml"> <!ENTITY intro SYSTEM "file:///wstep.xml"> Instancja dokumentu: <paper> &abstr1; &abstr2; &intro; </paper> URL, pokazuje na zewnętrzny plik Logicznie odpowiada wstawieniu zawartości pliku

29 Rodzaje encji - podsumowanie Encje ogólne Encje parametryczne Encje przetwarzane Encje binarne Encje przetwarzane Encje binarne Encje wewnętrzne Encje zewnętrzne

30 DOCTYPE Deklaracja DTD może mieć dwie postacie: <!DOCTYPE RootElement SYSTEM DTD_URI? [InternalDeclarations]? > <!DOCTYPE RootElement PUBLIC PUBLIC_ID URI [InternalDeclarations]? > Pierwsza postać jest używana gdy DTD jest "lokalne" w stosunku do danego dokumentu Druga postać jest używana dla ogólnie znanych i przyjętych DTD (np. XHTML)

31 DOCTYPE SYSTEM <!DOCTYPE RootElement SYSTEM DTD_URI? [InternalDeclarations]? > RootElement - nadrzędny element tego DTD DTD_URI - położenie DTD URI może być względne lub bezwzględne (w sensie ścieżki) Deklaracje wewnętrzne - patrz wcześniej Przykłady: <!DOCTYPE BookList SYSTEM "bookstore.dtd"> <!DOCTYPE BookList SYSTEM >

32 DOCTYPE PUBLIC <!DOCTYPE RootElement PUBLIC PUBLIC_ID URI [InternalDeclarations]? > Ta postać używana dla ogólnie znanych, zestandaryzowanych DTD DTD wykraczające poza kręgi jednej organizacji PUBLIC_ID Ogólnie znany, niezmienny URI jak w SYSTEM

33 Umieszczanie DTD W encji dokumentu: deklaracje encji deklaracje notacji W zewnętrznej encji - definicje wspólne dla wszystkich dokumentów danego typu: elementy atrybuty encje parametryczne I tu, i tu (metoda mieszana) przedefiniowywanie encji parametrycznych, przedefiniowywanie atrybutów, dodawanie nowych atrybutów,

34 DTD w encji dokumentu <!DOCTYPE bibliography SYSTEM [ <!ELEMENT bibliography book*> <!ELEMENT book (authors, classification?, title)> <!ELEMENT authors author+> <!ELEMENT author (#PCDATA)>... ]> <bibliography> <book> <authors> <author>bułhakow Michał</ author > </authors > <title> Mistrz i Małgorzata </ title >...

35 bibliografia.dtd: DTD w zawnętrznej encji <!ELEMENT bibliography book*> <!ELEMENT book (authors, classification?, title)> <!ELEMENT authors author+> <!ELEMENT author (#PCDATA)>... Moja-bib.xml: <!DOCTYPE bibliography SYSTEM "bibliografia.dtd"> <bibliography> <book> <authors> <author>bułhakow Michał</author > </authors > <title> Mistrz i Małgorzata </title >

36 <bibliography> <book class="fikcja"> <authors> <author>&mb;</author > </authors > TIN zima , Grzegorz Blinowski DTD zewnętrzne i wewnętrzne Bibliografia.dtd: (zewnętrzny podzbiór DTD) <!ELEMENT bibliography book*> <!ELEMENT book (authors, classification?, title)> <!ELEMENT authors author+> <!ELEMENT author (#PCDATA)>... Moja-bib.xml: <!DOCTYPE bibliography SYSTEM "bibliografia.dtd"[ <!ENTITY mb "Michał Bułhakow"> Wewnętrzny <!ATTLIST book class #IMPLIED> podzbiór DTD ]>

37 DTD/XML Terminalogia - Pamiętajmy! DTD - to nie plik.dtd: DTD tworzą zarówno DTD zewnętrzne jak i definicje z DTD wewnętrznego Dokument XML to nie plik.xml: dokument = definicja języka + oznakowanie + dane, instancja dokumentu = tekst zgodny ze zdefiniowanym językiem.

38 Przestrzenie nazw XML

39 XML - Przestrzenie nazw "Czyste" DTD - Nazwy elementów i atrybutów tworzone są dowolnie może to prowadzić do niejednoznaczoności: Geometria: <element>circle</element> Chemia: <element>oxygen</element> Jak zapewnić unikalność nazw? Wprowadzić "prefiksy"!

40 XML - Przestrzenie nazw Jak zapewnić unikalność nazw? Wprowadzić "prefiksy": <h:html xmlns:xdc=" xmlns:h=" <h:head><h:title>book Review</h:title></h:head>... <xdc:bookreview> <xdc:title>xml: A Primer</xdc:title>... </h:html> Bez ryzyka pomyłki możemy mieszać różne "słowniki" Uwaga: przestrzeń nazw tylko identyfikuje słownik, definicja to kwestia odrębna

41 XML Schema

42 XML Schema Wady DTD: odrębny język (czy nie byłoby przyjemnie zdefiniować strukturę XML w XML?) Brak: przestrzeni nazw, typów danych, dziedziczenia Zalety DTD Elastyczny, semi-strukturalny Szeroko przyjęty Bazuje na SGML

43 XML Schema XML Schema definiuje: nowe elementy poprzez tagi: <element name= nazwa-elementu...> dla tak zdefiniowanego elementu określamy jego typ (to co może się znaleść między tagami <e>... </e>: n.p.: <element name=... type= string > nowe atrybuty podobnie... aby powiedzieć więcej o zawartości elementu stosujemy typy proste... aby móc wielokrotnie wykorzystać raz zdefiniowane elementy stosujemy typy elementów

44 XML Schema - Typy Atrybut type - definicja typu: <element name="name" type="string"/> Podelement complextype lub simpletype: <element name="order"> <complextype>... </complextype> <element> Typy proste definiują zbiory wartości atomowych (nie posiadających wewnętrznej struktury XML). Typy proste: wszystkie typy wbudowane (np. string), oraz typy stworzone na ich bazie Typów prostych używa się ich do określania poprawnych wartości atrybutów i zawartości elementów.

45 XML Schema Typy proste: string, boolean, integer, float, datetime, ID, IDREF, CDATA, Typy złożone: sequence, choice, group, all. Niektóre typy proste: ID, IDREF, CDATA są zastrzeżone tylko dla atrybutów. Kontrola krotności elementów podrzędnych: minoccurs, maxoccurs. Kontrola użycia atrybutów: atrybut use o dopuszczalnych wartościach: required, optional lub prohibited.

46 XML Schema typy złożone <xsd:element name="person"> <xsd:complextype> <xsd:sequence> <xsd:element name="firstname" type="xsd:string" minoccurs="1" maxoccurs="2"/> <xsd:element name="surname" type="xsd:string"/> <xsd:element name="gender" type="xsd:string"/> <xsd:element name="age" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:id" use="required"/> </xsd:complextype> </xsd:element>

47 XML Schema - tworzenie typów prostych Własne typy proste można tworzyć przy pomocy aspektów (facets): enumeration, length, minlength, maxlength. list, mininclusive, maxinclusive, minexclusive, maxexclusive, pattern, union, P. Typ utworzony poprzez restrykcję typu prostego: <xsd:element name="wiek"> <xsd:simpletype> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="0"/> <xsd:maxinclusive value="140"/> </xsd:restriction> </xsd:simpletype> </xsd:element>

48 XML Schema - tworzenie typów prostych Wyrażenia regularne w def. typów prostych: <xsd:attribute name="kod"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{2}-[0-9]{3}"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute>

49 XML Schema - model mieszany Model mieszany DTD nie pozwala na ograniczenie liczby oraz kolejności podelementów. W XML Schema typ o modelu mieszanym definiuje się jak każdy inny typ: <xsd:element name="event"> <xsd:complextype mixed="true"> <xsd:sequence> <xsd:element name="eventtype" type="xsd:string"/> <xsd:element name="date" type="xsd:string"/> <xsd:element name="duration" type="xsd:string" maxoccurs="2"/> </xsd:sequence> </xsd:complextype> </xsd:element>

50 XML Schema - deklaracje i typy typ anonimowy: <xsd:simpletype> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="0"/> <xsd:maxinclusive value="140"/> </xsd:restriction> </xsd:simpletype> typ nazwany: <xs:simpletype name="stringtype"> <xs:restriction base="xs:string"/> </xs:simpletype> <xs:complextype name="shiptotype"> <xs:sequence> <xs:element name="name" type="stringtype"/> <xs:element name="address" type="stringtype"/> </xs:sequence> </xs:complextype>

51 XML Schema - rozszerzenia typu definicyjnego <xsd:complextype name="publication"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:year"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="paper"> <xsd:complexcontent> <xsd:extension base="publication"> <xsd:sequence> <xsd:element name="publisher" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype>

52 XML Schema - deklaracja globalne i lokalne <xsd:complextype name="publication"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> <xsd:element name="date" type="xsd:year"/> <xsd:element ref="isbn"/> </xsd:sequence> </xsd:complextype> <xsd:element name="isbn"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{2}-\d{3}"/> </xsd:restriction> </xsd:simpletype> </xsd:element>

53 XML Schema - deklaracje i typy DTD - deklaracja elementu definiuje jednocześnie typ jego zawartości. DTD - w przypadku gdy mamy przypisać ten sam model zawartości wielu elementom musimy powtórzyć definicję modelu (można też użyć encji parametrycznych). XML Schema - typ zawartości - definiujemy nadając nazwę, a następnie przypisujemy do dowolnie wielu elementów I/lub atrybutów. Typ anonimowy można zdefiniować bezpośrednio w deklaracji elementu (jak DTD)

54 XML - DTD (zestawienie) DTD: Wywodzi się z SGML XML Schema: Zaprojektowany na potrzeby XML-a Specyficzna składnia Składnia XML 10 typów danych 41+ typów danych Brak kontroli tekstowej zawartości elementów Zaawansowana kontrola tekstowej zawartości elementów Mieszany model zawartości Możliwość definiowania własnych typów danych.

55 XPath, XPointer

56 XPath Dokument XML ma postać hierarchiczną i może być reprezentowany w postaci drzewa, węzły: elementy, atrybuty, komentarze,... XPATH - język pozwalający na "poruszanie się" po dokumencie XML jak po drzewie XPath = XSLT XPointer ta część Xpointer, która została użyta w XSLT (dalej) Status - rekomendacja W3C

57 XPath Poruszanie się w hierarchii elementów: /book/chapter - poczynając od korzenia chapter/section - relatywnie /book//section - nie jest bezpośrednim przodkiem */section - dowolny przodek../chapter - wyżej o poziom w hierarchii book[indeks]/chapter - indeks musi być rodzeństwem chapter book[@title="mistrz I małgorzata]/chapter - wybór wg. wartości atrybutu tak naprawdę powyższe konstrukcje są skrótowe - posługujemy się wyrażeniami Xppath:. = self::node().. = parent::node() // = = attribute::

58 XPATH - poruszanie się po drzewie Krok w sieżce składa się z: kierunku, testu węzła, predykatu Kierunki w ścieżce: child descendant parent ancestor following-sibling preceding-sibling following preceding attribute namespace self descendand-or-self ancestor-or-self Test węzła: nazwa węzła, * wszystkie w. podstawowego typu node() text() comment() Ścieżki: /book/section/ /child::book/child::section (child:: możemy pominąć).//para self::node()/descendant-orself::node()/child::para /doc/chapter[5]section[2]

59 Przetwarzanie XML Parser XML: analizuje dokument XML, przekazuje wyniki analizy Sprawdza poprawność leksykalną i syntaktyczną Może, ale nie musi sprawdzić poprawności semantycznej (zgodności z modelem) Dostępne parsery XML: b. wiele systemów darmowych i komercyjnych dość typowe - "model parsera" (API) niezależny w dużej mierze od języka programowania i dostępny dla wielu języków (C++, Java, Python, Perl)

60 Przetwarzanie XML Parser nie walidujący (prosty) sprawdza wyłącznie syntaktyczną poprawność, tj. zgodność z XML nie sprawdza zgodności z DTD (XML Schema) ewentualna kontrola poprawności - po stronie programisty Parser walidujący sprawdzi zgodność z daną definicją (DTD, XML Schema,...) Wynik działania parsera reprezentacja dokumentu w postaci drzewa lub hierarchii obiektów, n.p. - Document Object Model (DOM) Strumień zdarzeń - otwarty/zamknięty element, atrybut, etc. - Simple API for XML - SAX

61 SAX (parser zdarzeniowy) Definiujemy funkcję callback SetContentHandler() Wywołujemy funkcję parse() Parser przetwarza tekst XML wywołując dostarczone przez programistę funkcje callback: startdocument(), enddocument(), startelement(), endelement(), characters(), ignorablewhitespaces Programista może dowiedzieć się więcej o przetwarzanym elemencie, atrybucie korzystając z funkcji: getlength(), getvalue()

62 import org.xml.sax.*; import org.xml.sax.helpers.*; class SAXHandler extends DefaultHandler { public void startdocument() { System.out.println("BEGIN"); } public void enddocument() { System.out.println("Koniec."); } public void startelement(string namespaceurl, String localname, String qname, Attributes atts) { System.out.print("[ELEMENT: " + localname); } public void endelement(string namespaceurl, String localname, String qname) { System.out.print(localName + " ELEMENT]" ); }

63 public class SAXExample { public static void main(string[] args) throws Exception { String uri; if(args.length == 0) { throw new Exception("File name?"); } else { uri = args[0]; } } } XMLReader parser = XMLReaderFactory.createXMLReader(); SAXHandler handler = new SAXHandler(); parser.setcontenthandler(handler); parser.parse(uri);

64 SAX - wady, zalety Zalety: Jednoprzebiegowy, Szybki Mała zajętość pamięci (w szczególności np. plik XML nie musi być cały w pamięci) Dane nieistotne mogą być ignorowane Wady: Nie umożliwia modyfikacji i ponownego wygenerowania dokumentu Szereg rutynowych czynności zrzuconych na programistę, np. budowa drzewa (o ile jest w danym zastosowaniu konieczne) Nie przetwarza i nie waliduje modelu (DTD, XMLSchema)

65 Parser libxml2 Darmowe narzędzie dostępne dla szeregu platform (Windows, Linux, Unix) Kod źródłowy i API C xmldocptr doc; xmlnodeptr cur; doc = xmlparsefile(docname); if (doc == NULL ) { fprintf(stderr,"niepoprawny dokument\n"); return; } cur = xmldocgetrootelement(doc); if (cur == NULL) { fprintf(stderr,"pusty dokument\n"); xmlfreedoc(doc); return; } if (xmlstrcmp(cur->name, (const xmlchar *) "story")) { fprintf(stderr,"niepoprawny dokument, root node!= <story>"); xmlfreedoc(doc); return; }

66 Parser libxml2 Iterowanie po drzewie dokumentu: cur = cur->xmlchildrennode; while (cur!= NULL) { if ((!xmlstrcmp(cur->name, (const xmlchar *)"keyword"))) { } key = xmlnodelistgetstring(doc, cur->xmlchildrennode, 1); printf("keyword: %s\n", key); xmlfree(key); cur = cur->next; } Tekst wewnątrz elementu jest jego potomkiem

67 libxml2 Libmxl2 umożliwia też: Nawigację w drzewie poprzez wyrażenia XPATH Modyfikację drzewa rozbioru Modyfikację elementów Modyfikację atrybutów Zapis drzewa w postaci XML

68 DOM (Document Object Model) Parser DOM tworzy hierarchię obiektów: document, element, attribute, text, comment API DOM (W3C DOM API) jest w dużej mierze niezależne od języka programowania: get... first/last child, prev/next sibling, childnodes, insertbefore, replace, getelementsbytagname Bazowy model parsera DOM: budowanie dokumentów, nawigacja w strukturze dokumentów, dodawanie elementów i atrybutów, modyfikacje elementów i atrybutów, usuwanie elementów/atrybutów i ich zawartości.

69 DOM - obiekty parsera Typ Node - węzeł XML: element, tekst,... Właściwości: attributes, childnodes, firstchild, lastchild, parentnode, nodename, nodetype, nodevalue, Operacje: appendchild(n), clonenode(b), removechild(n), haschildnodes(), Typ NodeList pomocniczy lista węzłow (length, item(i)) Type Element Document: Właściwości: documentelement, doctype Operacje: createelement(), createtextnode,...

70 DOM - wady, zalety Zalety: Pozwala na arbitralne "chodzenie" po drzewie dokumentu Uniwersalny Pozwala na modyfikację i ponowne generowanie dokumentu Istnieją wersje walidujące Wady: Wolny i pamięciożerny Zbyt rozbudowany do prostych aplikacji

71 Dostępne (wybrane) parsery XML XP (James Clark) - Java, prosty, niewalidujący Expat (James Clark) - Java, C/C++, Python, Perl (xml::parser) Xerces (walidujący, Java, C++ i Perl), Oracle XML Parser for Java (walidujący, DOM), XML4C - IBM XML Parser for C++ (walidujący, DOM), Microsoft XML Core Services (MSXML 4.0, komponent COM)

72 XML - Standardy Pochodne XML (Extensible Markup Language) XML Namespaces XML DTDs, XML Schema RDF (Resource Description Framework) XSL (Extensible Style Sheet Language) XPath (=XSLT XPointer), XLink XQL, XML-QL (XML Query Language) XMAS (XML Matching And Structuring language) XMLP (XML Protocol (SOAP)) OWL (Web Ontology Language) excelon,...

73 XML - przykłady formatów Advertising: adxml place an ad onto an ad network or to a single vendor Literature: Gutenberg convert the world s great literature into XML Directories: dirxml Novell s Directory Services Markup Language (DSML) Web Servers: apachexml parsers, XSL, web publishing Travel: opentravel information for airlines, hotels, and car rental places News: NewsML creation, transfer and delivery of news Human Resources: XML-HR standardization of HR/electronic recruiting XML definitions International Dvt: IDML improve the mgt. and exchange of info. for sustainable development Voice: VoxML markup language for voice applications Wireless: WAP (Wireless Application Protocol) wireless devices on the World Wide Web Weather: OMF Weather Observation Markup Format (simulation) Geospatial: ANZMETA distributed national directory for land information Banking: MBA Mortgage Bankers Association of America --> credit report, loan file, underwriting Healthcare: HL7 DTDs for prescriptions, policies & procedures, clinical trials Math: MathML (Mathematical Markup Language) Surveys: DDI (Data Documentation Initiative) codebooks in the social and behavioral sciences

74 XML - przykłady formatów CommerceNet eco Framework XML specs. to support interoperability among e-businesses Commerce One Common Business Library (CBL): set of business components, docs. In DTD, XDR, SOX BizTalk Microsoft spec. based on XML schemas cxml (Commerce XML) -- tag-sets for e-procurement into BizTalk Electronic Data Interchange (EDI) RosettaNet Common format for online ordering FpML (Financial products Markup Language): sharing of financial data (interest rate & foreign exchange products) Open Buying on the Internet (OBI) OBI high volume b2b purchasing transactions over the Internet (Office Depot, Lockheed, barnesandnoble, AX... E-commerce and XML VISA Invoices The Visa Extensible Markup Language (XML) Invoice Specification provides a comprehensive list of data elements contained in most invoices, including: Buyer/Supplier, Shipping, Tax, Payment, Currency, Discount, and Line Item Detail. B2B Integration code360 XML-Broker is middleware software that manages XML based transactions

75 XML - Podsumowanie XML nie jest językiem programowania XML to sposób zapamiętywania danych wraz z ich strukturą w dokumencie tekstowym: bezpłatny, otwarty, elastyczny, niezależny od platformy XML to zbiór mechanizmów do tworzenia języków specyficznych dla zastosowań. Użycie XML-a nie zwalnia od konieczności analizy, projektowania,...

76 XML - Podsumowania c.d. - Zastosowania Interfejs maszyna - człowiek Prezentacja Formatowanie dokumentów na potrzeby danej platformy (PC - GDI/text, PDA, telefon,...) Metoda komunikacji maszyna - maszyna: uzyskiwanie informacji w dobrze znanej (standardowej postaci) - np. notowania giełdowe, zapytania do baz danych, itp komunikacja "ad hoc" między aplikacjami automatyczne tworzenie i przetwarzanie dokumentów dokumenty tworzone "w locie"

TIN Techniki Internetowe zima 2015-2016

TIN Techniki Internetowe zima 2015-2016 TIN Techniki Internetowe zima 2015-2016 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokół IP i prot. transportowe:

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Przykładowy dokument XML DTD - wady Ograniczona kontrola nad strukturą dokumentów. Zbyt wysokopoziomowe typy danych: liczby, daty są zawsze reprezentowane jako tekst! Bardzo ogólne metody definiowania

Bardziej szczegółowo

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

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych

Bardziej szczegółowo

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

Kurs WWW Język XML, część I Język XML, część I Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Zawartość modułu Wprowadzenie do XML Składnia Znaczniki i atrybuty DTD XML Schema Na podstawie kursu ze strony: http://www.w3schools.com/schema/default.asp

Bardziej szczegółowo

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. Definiowanie typów dokumentów Część 1. DTD, XML Schema Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek

Bardziej szczegółowo

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. Definiowanie typów dokumentów Część 1. DTD, XML Schema Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek

Bardziej szczegółowo

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

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl XML 5 XML Schema Projektowany jako rozszerzenie i uzupełnienie DTD Jest w stanie odwzorować dowolną definicję DTD (ale nie odwrotnie!) Bardzo

Bardziej szczegółowo

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

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 Dlaczego DTD nie wystarcza? Definiowanie typów dokumentów Część 2. XML Schema Zastosowania w integracji aplikacji struktury danych: przeniesienie zadania sprawdzania poprawności z tworzonej aplikacji na

Bardziej szczegółowo

XML Schema w przykładach

XML Schema w przykładach DTD a XML Schema Krótkie porównanie dla niecierpliwych: XML Schema w przykładach Maciej Ogrodniczuk mog@empolis.pl DTD Wywodzi się z SGML-a Specyficzna składnia 10 typów danych Brak kontroli tekstowej

Bardziej szczegółowo

Podstawy XML-a. Zaawansowane techniki programowania

Podstawy XML-a. Zaawansowane techniki programowania Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników

Bardziej szczegółowo

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

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes) XPath XML Path Language XPath. XSLT część 1. Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

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

XML Schema. Typy proste, wyprowadzanie typów, modularyzacja schematu. Patryk Czarnik. Instytut Informatyki UW XML Schema Typy proste, wyprowadzanie typów, modularyzacja schematu Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Typy proste i złożone Typy złożone struktura

Bardziej szczegółowo

DTD - encje ogólne i parametryczne, przestrzenie nazw

DTD - encje ogólne i parametryczne, przestrzenie nazw DTD - encje ogólne i parametryczne, przestrzenie nazw Instytut Informatyki Encje Encja (ang.entity) - uogólnienie pojęcia makrodefinicji Encje to dogodny sposób reprezentacji danych które występują wielokrotnie,

Bardziej szczegółowo

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

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1 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

Bardziej szczegółowo

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. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów Jak wygląda XML? 9 października 2003 Definiowanie typów dokumentów Część 1: DTD st. asp. Jan Łapówka dołowice Górne

Bardziej szczegółowo

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

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML Plan dzisiejszego wykładu Narzędzia informatyczne w językoznawstwie Perl - Wprowadzenie do XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. kwietnia

Bardziej szczegółowo

Wprowadzenie do XML schema

Wprowadzenie do XML schema Spis treści Tomasz Przechlewski 1. Podstawowe pojęcia. 1 2. Typy proste.. 3 3. Wzorzec regułowy 4 4. Typy złożone 5 5. Modele o prostej zawartości 5 6. Modele o złożonej zawartości. 6 7. Rozszerzanie modelu

Bardziej szczegółowo

Wprowadzenie do technologii XML

Wprowadzenie do technologii XML Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne

Bardziej szczegółowo

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. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków Definiowanie typów dokumentów Część 1. DTD Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek dnia

Bardziej szczegółowo

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

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia

Bardziej szczegółowo

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

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW XML Schema Motywacja, struktura schematu, typy złożone Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Dlaczego nie DTD? Zastosowania XML-a w elektronicznej

Bardziej szczegółowo

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

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: DTD Document Type Definition Dokument poprawnie sformułowany (well-formed) Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: 1. KaŜdy znacznik musi posiadać zamknięcie (wyjątek

Bardziej szczegółowo

XML extensible Markup Language. Paweł Chodkiewicz

XML extensible Markup Language. Paweł Chodkiewicz 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

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

c TP: anything: 13 listopada 2004 roku 1

c TP: anything: 13 listopada 2004 roku 1 SGML/XML SGML: International Standard (ISO 8879). Information Processing Text and Office Systems Standardized Generalized Markup Language. Znakowanie powinno opisywać strukturę dokumentu (...) a nie określać

Bardziej szczegółowo

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

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] XML 2 XML XML jest formatem tekstowym Zjadliwy dla ludzi Zawiera treść (dane) oraz znaczniki (markup) Znaczniki i zależności

Bardziej szczegółowo

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

Plan prezentacji DTD. Wiązanie DTD z dokumentem XML Deklaracja typu dokumentu. Co to jest DTD. Wstęp. Przedmiot: XML i jego zastosowania Plan prezentacji Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki http://www.icsr.agh.edu.pl/~polak/ Wstęp Deklarowanie elementów

Bardziej szczegółowo

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

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych

Bardziej szczegółowo

Wprowadzenie do XML. Tomasz Przechlewski

Wprowadzenie do XML. Tomasz Przechlewski Spis treści Wprowadzenie do XML Tomasz Przechlewski 1. SGML/XML.. 1 1.1. Składniki systemu.. 1 2. Dokument XML i schemat DTD. 1 2.1. Struktura dokumentu XML 1 2.2. DTD 4 2.3. Elementy. 5 2.4. Atrybuty

Bardziej szczegółowo

Procesowanie dokumentów XML

Procesowanie dokumentów XML Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Procesowanie dokumentów XML Programowanie w Javie 2 mgr inż. Michał Misiak Cechy XML Sformalizowany zapis informacji restrykcyjne

Bardziej szczegółowo

XML Path Language (XPath)

XML Path Language (XPath) XML Path Language (XPath) 1 Cel adresowanie elementów /częś ci dokumentu XML składnia podobna do URI wyszukiwanie elementów bądź grup elementów dokument jako drzewo typy węzłów: element, attribute, text

Bardziej szczegółowo

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model

SAX i DOM wykorzystanie XML-a we własnych aplikacjach. Simple API for XML Parsing Document Object Model SAX i DOM wykorzystanie XML-a we własnych aplikacjach Simple API for XML Parsing Document Object Model 1 SAX - wstęp Definicja: standardowy interfejs do parsowania plików XML oparty na modelu zdarzeniowym

Bardziej szczegółowo

Rola języka XML narzędziem

Rola języka XML narzędziem Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz

Bardziej szczegółowo

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

Bardziej szczegółowo

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

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 7 XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML 1. Prosty dokument XML lab7_1.xml

Bardziej szczegółowo

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 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 Patryk

Bardziej szczegółowo

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',

Bardziej szczegółowo

Schematy XML. Tomasz Traczyk. ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/

Schematy XML. Tomasz Traczyk. ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Schematy XML Tomasz Traczyk ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Plan prezentacji Dlaczego schematy? Przykład schematu XML Schema nieco szczegółów Rola schematów XML Problemy z DTD

Bardziej szczegółowo

XML DTD XML Schema CSS

XML DTD XML Schema CSS XML XML czyli Extensible Markup Language (rozszerzalny język znaczników) można traktować jak stosunkowo prosty i elastyczny format tekstowy wywodzący się z SGML. Pierwotnie został zaprojektowany aby umożliwiać

Bardziej szczegółowo

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

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 02 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 02 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 Przypomnienie 2 DTD 3 Schematy XML 4 Podsumowanie Plan Przypomnienie

Bardziej szczegółowo

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

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Podstawy języka XML Cel zajęć Po zrealizowaniu materiału student będzie w stanie Prawidłowo zidentyfikować składowe dokumentu XML Utworzyć dokument XML Dokonać sprawdzenia poprawności składniowej (syntaktycznej)

Bardziej szczegółowo

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute: 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

Bardziej szczegółowo

TIN Techniki Internetowe zima 2015-2016

TIN Techniki Internetowe zima 2015-2016 TIN Techniki Internetowe zima 2015-2016 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokoły transportowe: UDP, TCP 4

Bardziej szczegółowo

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w

Bardziej szczegółowo

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3.

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3. Słowem wstępu Standard: W3C XPath 1.0-1999 razem XSLT 1.0 XPath 2.0-2007 razem z XQuery 1.0 i XSLT 2.0 XPath 3.0-2014 trwają prace nad XPath 3.1 XPath Język deklaratywny służący wskazywaniu elementów,

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML

Bardziej szczegółowo

Relacyjne bazy danych a XML

Relacyjne bazy danych a XML Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe

Bardziej szczegółowo

XML extensible Markup Language. część 4

XML extensible Markup Language. część 4 XML extensible Markup Language część 4 XML Schema (Podobnie jak DTD) XML Schema to opracowany przez W3C standard służący do definiowania struktury dokumentu XML. (W przeciwieństwie do DTD) XML Schema jest

Bardziej szczegółowo

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

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego Opis dokumentów SEDU Standard Elektronicznych Dokumentów Urzędowych są to dokumenty zapisane w standardzie XML, opisujące różnorakie procedury urzędowe, możliwe do częściowej lub całkowitej realizacji

Bardziej szczegółowo

- 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

- 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 XML Schema DTD a XML Schema DTD jako opis dokumentu XML: - pozwala stworzyć jedynie bardzo ogólny schemat dokumentu - w standardzie DTD dostępne mamy jedynie rozróŝnienie na elementy proste i złoŝone -

Bardziej szczegółowo

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

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych

Bardziej szczegółowo

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. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty? Globalne i lokalne deklaracje elementów i atrybutów Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema Deklaracje lokalne:

Bardziej szczegółowo

Prezentacja i transformacja

Prezentacja i transformacja Prezentacja i transformacja Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 października 2005 roku 1 Prezentacja Przykładowa aplikacja CSS- Cascading Style Sheets CSS2aXML

Bardziej szczegółowo

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

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW XML Schema Motywacja, struktura schematu, typy złożone Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 03 XML Schema XML 2007/08 1

Bardziej szczegółowo

XML i nowoczesne technologie zarządzania treścią

XML i nowoczesne technologie zarządzania treścią XML i nowoczesne technologie zarządzania treścią Egzamin, 7 lutego 2014 r. Imię i nazwisko: Czas: 90 minut. Maksymalna suma punktów: 50. Pytania testowe są wielokrotnego wyboru, można przyjąć że co najmniej

Bardziej szczegółowo

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

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3. XQuery XQuery XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.org/tr/xquery/ Język programowania funkcyjnego (podobnie jak Lisp) Język zapytań do danych

Bardziej szczegółowo

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

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Po zrealizowaniu materiału student będzie w stanie Prawidłowo zidentyfikować składowe dokumentu XML Utworzyć dokument XML Dokonać sprawdzenia poprawności składniowej (syntaktycznej) dokumentu 2 1 WWW Consortium,

Bardziej szczegółowo

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

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl Plan wykładu Wprowadzenie: historia rozwoju technik znakowania tekstu Motywacje dla prac nad XML-em Podstawowe koncepcje XML-a XML jako metajęzyk

Bardziej szczegółowo

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

Definiowanie typów dokumentów Część 3. XML Schema Definiowanie typów dokumentów Część 3. XML Schema 1 Wbudowane typy proste Źródło: XML Enhancements to Java (XJ). User Manual for Release Version 1.0 http://www.research.ibm. com/xj/doc/xjmanual/ XJmanual.html

Bardziej szczegółowo

INTEGRACJA I EKSPLORACJA DANYCH

INTEGRACJA I EKSPLORACJA DANYCH INTEGRACJA I EKSPLORACJA DANYCH mgr inż. Anna Pankowska aniap@amu.edu.pl Anna Pankowska - I&E 1 Plan wykładu Integracja danych - Dane semistrukturalne i język XML jako standard składowania i wymiany danych

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Model danych XPath Drzewo dokumentu Sekwencje i atomy Język XPath Od podstaw Ścieżki

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

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

Definiowanie typów dokumentów Część 1. DTD, XML Schema Definiowanie typów dokumentów Część 1. DTD, XML Schema 1 Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek

Bardziej szczegółowo

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

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths XPath XML Path Language XPath. XSLT część 1 Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: abstrakcyjny drzewiasty model struktury dokumentu, normalizacja zawartości

Bardziej szczegółowo

Wprowadzenie do technologii XML

Wprowadzenie do technologii XML Wprowadzenie do technologii Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 kwietnia 2010 Program wykładu Celem wykładu jest przedstawienie technologii i pokrewnych do niej

Bardziej szczegółowo

XML i nowoczesne metody zarządzania treścią

XML i nowoczesne metody zarządzania treścią XML i nowoczesne metody zarządzania treścią Wykład 2: Modelowanie dokumentów XML-owych. DTD Maciej Ogrodniczuk MIMUW, 8 października 2009 Wykład 2: Modelowanie dokumentów XML-owych. DTD XML i nowoczesne

Bardziej szczegółowo

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Drzewa DOM Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Document Object Model (DOM) Document Object Model jest standardem modelowania dokumentów XML przy użyciu struktury

Bardziej szczegółowo

Technologie zarządzania treścią

Technologie zarządzania treścią Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej Technologie zarządzania treścią 2/43 Technologie

Bardziej szczegółowo

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD i XML Schema), oraz transformacja

Bardziej szczegółowo

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

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

Rozdział 1 Cel dokumentu... 2. Rozdział 2 Deklaracja... 3. Rozdział 3 Nagłówek... 4. Rozdział 4 Podmiot1... 6. Rozdział 5 FATCA...

Rozdział 1 Cel dokumentu... 2. Rozdział 2 Deklaracja... 3. Rozdział 3 Nagłówek... 4. Rozdział 4 Podmiot1... 6. Rozdział 5 FATCA... Schema IFT-4(1).xsd Spis treści Rozdział 1 Cel dokumentu... 2 Rozdział 2 Deklaracja... 3 Rozdział 3 Nagłówek... 4 Rozdział 4 Podmiot1... 6 Rozdział 5 FATCA... 7 Rozdział 6 ReportingFI... 8 Rozdział 7 AccountReport...

Bardziej szczegółowo

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

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy

Bardziej szczegółowo

XML extensible Markup Language. część 3

XML extensible Markup Language. część 3 XML extensible Markup Language część 3 Definicja Typu Dokumentu - DTD DTD (ang. Document Type Definition) rodzaj dokumentu definiujący formalną strukturę dokumentów XML. DTD określa składnię konkretnej

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

XML i nowoczesne metody zarządzania treścią

XML i nowoczesne metody zarządzania treścią XML i nowoczesne metody zarządzania treścią Wykład 4: Jeszcze o XML Schema Maciej Ogrodniczuk MIMUW, 22 października 2009 Wykład 4: Jeszcze o XML Schema XML i nowoczesne metody zarządzania treścią 1 Powiązanie

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

TIN Techniki Internetowe zima

TIN Techniki Internetowe zima TIN Techniki Internetowe zima 2017-2018 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Techniki Internetowe Grzegorz Blinowski: pok. 206 (II p.) gmach Elektroniki Konsultacje - wtorek,

Bardziej szczegółowo

Biblioteki dzielone, XML i readline

Biblioteki dzielone, XML i readline Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania

Bardziej szczegółowo

SAX2 pakiet org.xml.sax

SAX2 pakiet org.xml.sax Modele dostępu do dokumentu XML 23 października 2003 Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na dostęp do zawartości dokumentów XML na wysokim poziomie: korzystamy z abstrakcyjnych

Bardziej szczegółowo

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

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 05 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 DOM 2 DOM w innych językach 3 Podsumowanie Plan DOM DOM w innych

Bardziej szczegółowo

Aplikacje internetowe laboratorium XML, DTD, XSL

Aplikacje internetowe laboratorium XML, DTD, XSL Aplikacje internetowe laboratorium XML, DTD, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD), oraz transformacja dokumentu XML do postaci

Bardziej szczegółowo

TIN Techniki Internetowe zima

TIN Techniki Internetowe zima TIN Techniki Internetowe zima 2019-2020 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Techniki Internetowe Grzegorz Blinowski: pok. 315 (III p.) gmach Elektroniki Konsultacje - wtorek,

Bardziej szczegółowo

Zasady Nazewnictwa. Dokumentów XML 2007-11-08. Strona 1 z 9

Zasady Nazewnictwa. Dokumentów XML 2007-11-08. Strona 1 z 9 Zasady Nazewnictwa Dokumentów 2007-11-08 Strona 1 z 9 Spis treści I. Wstęp... 3 II. Znaczenie spójnych zasady nazewnictwa... 3 III. Zasady nazewnictwa wybrane zagadnienia... 3 1. Język oraz forma nazewnictwa...

Bardziej szczegółowo

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych

XML i Java 1. XML. 1.1. Budowa dokumentu XML. Projektowanie systemów informatycznych 1. XML 1.1. Budowa dokumentu XML XML i Java XML (ang. Extensible Markup Language) rozszerzalny język znaczników. Jest to standard mający bardzo szeroki zakres zastosowań. Dokument XML składa się z następujących

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 XPath i XQuery Języki zapytań nad dokumentami XML wygodny wybór określonych węzłów

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład

Modele dostępu do dokumentu XML. Implementacja modelu parser. SAX2 pakiet org.xml.sax. Działanie modelu SAX przykład Modele dostępu do dokumentu XML Wykorzystanie XML-a we własnych aplikacjach Pozwalają programistom na wysokopoziomowy dostęp do zawartości dokumentów XML : korzystamy z abstrakcyjnych obiektów, nie troszczymy

Bardziej szczegółowo

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11

libxml2 parser DOM dla C++ czwartek, 8 grudnia 11 libxml2 parser DOM dla C++ 1 SAX vs. DOM Dwa podstawowe typy API do przetwarzania dokumentów XML: Oparte na drzewach (ang. Tree-based API) - mapują strukturę dokumentu do drzewa i pozwalają użytkownikowi

Bardziej szczegółowo

Prezentacja i transformacja

Prezentacja i transformacja Prezentacja i transformacja Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 kwietnia 2010 Prezentacja i transformacja CSS2a Ważną cechą dokumentów XML jest ich łatwa prezentacja

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 07 XPath XML 2008/09 1 / 1 XPath i XQuery Wprowadzenie Status Języki

Bardziej szczegółowo

XML w bazach danych i bezpieczeństwie

XML w bazach danych i bezpieczeństwie XML w bazach danych i bezpieczeństwie Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Klasyfikacja wsparcia dla XML-a w bazach danych (Relacyjna) baza danych

Bardziej szczegółowo

Metody reprezentacji informacji Przedmiot:

Metody reprezentacji informacji Przedmiot: Metody reprezentacji informacji cz.2 Jacek Rumiński Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: 3472678, fax: 3461757, e-mail: jwr@eti.pg.gda.pl Projekt Przygotowanie i realizacja kierunku

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

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

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema Globalne i lokalne deklaracje elementów i atrybutów Deklaracje lokalne:

Bardziej szczegółowo

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

29. Poprawność składniowa i strukturalna dokumentu XML 29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo