Diapositiva 1 - mgr inż. Tomasz Węgliński
Download
Report
Transcript Diapositiva 1 - mgr inż. Tomasz Węgliński
Łódź, 2 października 2012 roku
Technologie
mgr inż. Tomasz Węgliński
email: [email protected]
www: http://www.tweglinski.pl
PLAN
WYKŁADU
Informacje organizacyjne
Program wykładu
Laboratorium
Warunki zaliczenia
Literatura
Wprowadzenie do technologii XML
2/17
INFORMACJE
ORGANIZACYJNE
Wykład oraz laboratorium z przedmiotu
„Technologie XML” prowadzi:
mgr inż. Tomasz Węgliński
Pokój:
323 (WEEIA)
Telefon: (+48) 42 631-27-50 wew. 323
E-mail: [email protected]
Www:
http://www.tweglinski.pl
Godziny przyjęć: Proszę o kontakt mailowy przed spotkaniem
3/17
INFORMACJE
ORGANIZACYJNE
Ramowy program wykładu z przedmiotu „Technologie XML”
Wykład 1: Wprowadzenie do technologii XML
PROGRAM
WYKŁADU
-- Czym jest XML?; Cechy XML; Składnia XML; Walidacja dokumentów XML; Ustalanie
wyglądu dokumentów XML przy pomocy CSS.
Wykład 2: DTD i przestrzenie nazw
-- Struktura DTD; Deklaracje elementów, podelementów i atrybutów; Przestrzenie nazw;
Encje; Sekcje warunkowe.
Wykład 3: XML Schema
-- Co to jest XML Schema?; XML Schema vs. DTD; Budowa schematu; Łączenie
schematu z XML; Aspekty; Typy danych; Strategie budowy schematów; Relax NG.
Wykład 4-5: Transformacje XSL
-- Co to znaczy transformacja?; Budowa dokumentu XSLT; Definiowanie i wywoływanie
szablonów; Zmienne, elementy i klucze; Funkcje; Dołączanie arkuszy XSL i CSS.
Wykład 6: SAX API
-- Przetwarzanie zdarzeniowe; Zasada działania SAX; Klasy i interfejsy SAX.
Wykład 7: DOM API
-- Co to jest DOM?; DOM czy SAX?; Poziomy modelu; DOM Core (API); Zastosowania.
4/17
INFORMACJE
ORGANIZACYJNE
PROGRAM
WYKŁADU
Ramowy program wykładu z przedmiotu „Technologie XML”
(c.d.)
Wykład 8-9: XML & PHP
-- XML w PHP; DOM Document; XPath; SimpleXML.
Wykład 10-11: XML & Python
-- Podstawy języka Python; Interpreter Python; Biblioteka standardowa;
Wykorzystanie modułów do parsowania plików XML (xml.dom, xml.sax).
Wykład 12-13: WebServices
-- Co to są usługi sieciowe?; Architektura usług sieciowych; Protokół SOAP; WSDL;
Biblioteki języka PHP i Python dla usług sieciowych.
Wykład 14: Semantic Web
-- Idea Semantic Web; Wykorzystywane standardy; .
Wykład 15:
== Zaliczenie
-- test wielokrotnego wyboru
5/17
INFORMACJE
ORGANIZACYJNE
PROGRAM
WYKŁADU
W trakcie trwania laboratorium student rozwiązuje
przygotowane przez prowadzącego zadania.
Programowy zakres laboratorium obejmuje zagadnienia przedstawione na
wykładzie m.in.:
Ustalanie wyglądu dokumentu XML za pomocą CSS
LABORATORIUM
DTD i przestrzenie nazw
XML Schema
XSLT
DOM API
SAX API
XML w PHP
XML w Javie
Usługi sieciowe
6/17
INFORMACJE
ORGANIZACYJNE
PROGRAM
WYKŁADU
WARUNKI
ZALICZENIA
Warunkiem zaliczenia przedmiotu „Technologie XML” jest
pozytywna ocena z kolokwium wykładowego, regulaminowa
obecność na zajęciach laboratoryjnych oraz średnia ocen
(nie mniejsza niż 3.0) ze wszystkich rozwiązanych zadań
laboratoryjnych.
Zasady oceny zadań laboratoryjnych:
Termin oddania zadań
Możliwa ocena
w trakcie laboratorium
max. 5.0
<= 1 tyg.
max. 4.0
> 1 tyg.
max. 3.5
* istnieje możliwość poprawy wybranych zadań na ostatnich zajęciach laboratoryjnych
W przypadku podejrzenia o niesamodzielnym rozwiązaniu zadań laboratoryjnych
(tzw. plagiat), prowadzący laboratorium może podjąć decyzję o konieczności
przeprowadzenia kolokwium zaliczającego dla danego studenta.
7/17
INFORMACJE
ORGANIZACYJNE
PROGRAM
WYKŁADU
WARUNKI
ZALICZENIA
Literatura podstawowa
Przemysław Kazienko, Krzysztof Gwiazda,
XML na poważnie, Helion, 2002
Kevin Howard Goldberg,
XML: Visual QuickStart Guide,
(2nd Edition), Peachpit Press, 2008
LITERATURA
Literatura uzupełniająca
Yuli Vasiliev, PHP i Oracle. Tworzenie aplikacji webowych (…), Helion, 2009
Salvatore Mangano, XSLT. Receptury, Helion, 2007 (wyd. II)
Wojciech Romowicz, XML. Ćwiczenia praktyczne, Helion, 2001
Peter C. Norton (i inni), Python. Od podstaw, Helion, 2006
James O. Knowlton, Python. Projekty do wykorzystania, Helion, 2010
Grigoris Antoniou, A Semantic Web Primer, The MIT Press, 2008
Extensible Markup Language (XML) 1.0 (Fifth Edition), http://www.w3.org/TR/xml/
XML Tutorial, http://www.w3schools.com/xml/
8/17
WYKŁAD 1
Wprowadzenie do
technologii XML
9/17
CZYM JEST
XML?
Język XML (ang. eXtensible Markup Language, czyli rozszerzalny
język znaczników) jest standardem przetwarzania dokumentów
zaproponowanym przez konsorcjum W3C (ang. World Wide Web
Consortium).
Podobnie jak język HTML, wywodzi się on z języka SGML (ang.
Standard Generalized Markup Language – uogólniony standardowy
język znaczników), stąd posiada wiele podobieństw.
Powstanie XML wiąże się nieodłącznie z potrzebą rozszerzenia
możliwości języka HTML, niewystarczającego dla opisu bardziej
złożonych informacji prezentowanych w sieci.
Rys. 1. Języki znaczników
Wykład 1: Wprowadzenie do technologii XML
10/17
CZYM JEST
XML?
CECHY
XML
Najistotniejszymi cechami języka XML są:
XML to dokument tekstowy
- może być edytowany nawet w notatniku systemowym
XML jest rozszerzalny (!)
- umożliwia tworzenie własnych znaczników oraz standardów
XML jest elastyczny
- zmiana struktury dokumentu XML jest znacznie łatwiejsza niż bazy danych
XML to rodzina języków i technologii
- z pojęciem XML związanych jest wiele języków i technologii
XML jest darmowy
- nie istnieją licencje, ograniczenia czy tajne specyfikacje
XML jest sformalizowany
- dzięki DTD lub XML Schema można precyzyjnie definiować strukturę dokumentu
XML stanowi warstwę danych aplikacji
- dokumenty XML są statyczne, pozbawione cech dynamicznych
XML jest modułowy
- możliwe jest stopniowe tworzenie i łączenie dokumentów XML
Wykład 1: Wprowadzenie do technologii XML
11/17
CZYM JEST
XML?
CECHY
XML
SKŁADNIA
XML
Podstawowe składniki dokumentu XML to:
elementy puste,
elementy niepuste (tzw. pojemniki),
atrybuty.
Oprócz tego w dokumencie XML można umieszczać:
deklaracje,
instrukcje przetwarzania,
jednostki,
komentarze.
deklaracja
element
element wraz
z atrybutem
Rys. 2. Przykładowy dokument XML
Wykład 1: Wprowadzenie do technologii XML
12/17
CZYM JEST
XML?
Elementy:
Prawidłowe:
<aKtOr> Artur Żmijewski </aKtOr>
<_Nazwa.1-2_3:ą> Tekst </_Nazwa.1-2_3:ą>
CECHY
XML
SKŁADNIA
XML
<zawodnik> Lionel Messi </zawodnik>
<element_pusty/>
Nieprawidłowe:
<1_Nazwa.1-2_3:ą> Tekst </1_Nazwa.1-2_3:ą>
<.Nazwa.1-2_3:ą> Tekst </.Nazwa.1-2_3:ą>
<-Nazwa.1-2_3:ą> Tekst </-Nazwa.1-2_3:ą>
Rys. 2. Składowe elementu
Rys. 3. Element pusty
Wykład 1: Wprowadzenie do technologii XML
13/17
CZYM JEST
XML?
CECHY
XML
SKŁADNIA
XML
Atrybuty:
Prawidłowe:
<element atr=”pierwszy” Atr=‘drugi’ ATR=‘trzeci’> … </element>
<element atrybut=” ‘pierwszy’ ” atrybut=‘ ”drugi” „trzeci” ’> … </element>
Nieprawidłowe:
<element atrybut=2> … </element>
<element atrybut=”pierwszy’> … </element>
Rys. 4. Przykład
elementu zawierającego
atrybut
Wykład 1: Wprowadzenie do technologii XML
14/17
CZYM JEST
XML?
CECHY
XML
SKŁADNIA
XML
Każdy dokument XML poprawny składniowo musi
posiadać dodatkowo tzw. deklarację XML umieszczoną
na początku pliku.
Deklaracja XML informuje, że dany dokument tekstowy ma
być identyfikowany jako dokument XML.
Deklaracja XML zawiera obowiązkowy parametr version oraz
parametry opcjonalne – encoding i standalone.
Przykład deklaracji XML:
numer wersji XML
standard kodowania
„samodzielność” dokumentu
(więcej na Wykładzie 2: DTD)
Wykład 1: Wprowadzenie do technologii XML
15/17
CZYM JEST
XML?
CECHY
XML
SKŁADNIA
XML
Najprostszym sposobem walidacji poprawności dokumentu
XML jest użycie jednego z dostępnych walidatorów online.
Kilka popularnych adresów:
http://validator.w3.org/
http://www.w3schools.com/xml/xml_validator.asp
http://www.stg.brown.edu/service/xmlvalid/
WALIDACJA
XML
Rys. 5. Przykład walidatora online rekomendowanego przez organizację W3C
Wykład 1: Wprowadzenie do technologii XML
16/17
CZYM JEST
XML?
CECHY
XML
SKŁADNIA
XML
Warto pamiętać, że dokument XML nie zawsze musi
wyglądać tak ponuro i statycznie!
W celu prezentacji „na szybko” np. klientowi, możemy go
wzbogacić o kaskadowe arkusze stylów CSS.
Wystarczy dodać jedną linijkę deklaracji na początku pliku
XML:
<?xml-stylesheet type="text/css" href="style.css"?>
WALIDACJA
XML
XML & CSS
http://www.w3schools.com/xml/xml_display.asp
Wykład 1: Wprowadzenie do technologii XML
17/17