TIN Techniki Internetowe zima
|
|
- Stefan Mieczysław Tomczak
- 8 lat temu
- Przeglądów:
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): & & < < > > ' ' " " <!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 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokół IP i prot. transportowe:
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
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
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
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
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
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
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
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
Podstawy XML-a. Zaawansowane techniki programowania
Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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ć
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
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
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
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
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
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
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
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
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
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
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
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!)*' { '',
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
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ć
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
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)
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
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
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
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,
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
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
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
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
- 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 -
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
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:
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
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
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
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
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,
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
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
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
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
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
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ę
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
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
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
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
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
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
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
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
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...
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
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
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
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
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
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
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,
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
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
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
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
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,
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...
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
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
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
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
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
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
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
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
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
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
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
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:
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ę
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,