Aplikacje w sieciach
Internet/Intranet
Arkadiusz Twardoń
ZTiPSK
e-mail: Arkadiusz.Twardon@polsl.pl
XML
Wprowadzenie
Co to jest XML
eXtensible Markup Language
rozszerzalny język znaczników
Definicja W3C XML jest podzbiorem
SGML-a...Ma on za zadanie umo\liwić
wykorzystanie, odbieranie i
przetwarzanie w sieci ogólnego SGML-a
w sposób w jaki jest to teraz mo\liwe z
HTML-em
3
Dlaczego XML czyli wady
HTML
Dokument nie zawierający typowych
znaczników (listy, nagłówki, tabele)
Baza danych typu katalog ksią\ek
operacje sortowania, filtrowania itp.
Dokument o strukturze hierarchicznej
generowanie spisów treści, konspektów
itp.
4
Problem
Spis
Ksią\ka
Ksią\ka
Tytuł Autor Cena
Tytuł Autor Cena
Ksią\ka
Tytuł Autor Cena
5
Rozwiązanie w XML
PanTadeusz
A.Mickiewicz
100
Pani Jeziora
A.Sapkowski
20
Hobbit
J.R.Tolkien
1000
6
Wyświetlanie dokumentu XML
W HTML wygląd znacznika powiązany
jest z jego definicją
W XML przeglądarkę, o wyglądzie
znacznika, mo\na poinstruować na trzy
sposoby:
Wiązanie arkuszy stylów (CSS lub XSL)
Wiązanie danych
Skrypty
7
10 zadań XML
1. XML ma być prosty
2. Powinien obsługiwać szeroki zakres
aplikacji
3. Zgodność z SGML-em
4. Pisanie programów przetwarzających
XML powinno być proste
5. Liczba opcji dodatkowych w XML
powinna być ograniczona do 0
8
10 zadań XML
1. Dokumenty XML powinny być czytelne i
zrozumiałe
2. Projekt języka powinien zostać szybko
opracowany
3. Projekt języka powinien być formalny i
zwięzły (BNF)
4. Tworzenie dokumentów powinno być łatwe
5. Zwięzłość znaczników XML ma znaczenie
drugorzędne patrz punkt 6
9
Aplikacja XML
Aplikacja XML = zestaw elementów +
struktura dokumentu dla klasy zastosowań
Aplikację określa Document Type Definition
DTD to:
Definiuje i nazywa elementy
Określa ich kolejność
Określa atrybuty elementów i inne cechy
dokumentu
10
Zastosowania XML
Pełniejsza lista
http://www.oasis-open.org/cover/xml#applications
Przykłady:
Vector Markup Language, Synchronized Multimedia
Integration Language, Channel Definition Format,
Simple Object Access Protocol, Open Financial
eXchange, eXtensible Forms Description, Language,
Human Resource Management Language, Chemical
Markup Language, Xml Court Interface, weather
Observation Markup Format, &
11
Anatomia dokumentu XML
PanTadeusz
A.Mickiewicz
100
Pani Jeziora
A.Sapkowski
20
Hobbit
J.R.Tolkien
1000
12
Prolog
Prolog zawiera deklarację XML
Komentarz
Deklaracja typu dokumentu
Instrukcje sterujące przekazywane przez
procesor aplikacjom przetwarzającym
dokument
13
Element główny
Nazwa w znaczniku nazywana jest typem
elementu
Znacznik początkowy -
Zawartość elementu dane znakowe lub inne
elementy lub ich kombinacja
Znacznik końcowy - 14
Podstawowe zasady XML
Dokument musi posiadać dokładnie jeden element
główny
PanTadeusz
A.Mickiewicz PanTadeusz
100 A.Mickiewicz
100
15
Podstawowe zasady XML
Elementy muszą być poprawnie zagnie\d\one (w
całości a nie na zakładkę )
PanTadeusz PanTadeusz
A.Mickiewicz A.Mickiewicz
100 100
16
Podstawowe zasady XML
Ka\dy element musi mieć znacznik początkowy i
końcowy
PanTadeusz PanTadeusz
A.Mickiewicz A.Mickiewicz
100
17
Podstawowe zasady XML
Nazwa typu elementu w znaczniku początkowym
musi być identyczna z nazwą typu w znaczniku
końcowym
PanTadeusz PanTadeusz
A.Mickiewicz A.Mickiewicz
100 100
18
Podstawowe zasady XML
W nazwach typów istotna jest wielkość liter
PanTadeusz PanTadeusz
A.Mickiewicz A.Mickiewicz
100 100
19
Wyświetlanie dokumentu XML
Wyświetlanie bez arkusza styli
Wyświetlanie przy u\yciu CSS
2.css:
ksiazka{
display:block;
margin-top:12pt;
font-size:10pt
}
tytul {font-style:italic}
autor {font-weight:bold}
W 2.xml do prologu dodano linię:
Wyświetlanie przy u\yciu CSS wersja 2
20
Wiązanie danych
Prezentacja danych w tabeli
Prezentacja danych w tabeli ze stronicowaniem
Prezentacja danych poprzez pojedynczy rekord
21
XML część II
Poprawność dokumentów XML
Poprawność dokumentów XML
Poprawność składniowa sprawdzana
m.in. przez MS IE błędy krytyczne
Poprawność strukturalna dokument
poprawny składniowo +:
Deklaracja typu dokumentu w prologu
dokumentu zawierająca definicję typu
dokumentu (DTD)
Pozostała część dokumentu zgodna ze
strukturą zdefiniowaną w DTD
23
Po co tworzyć dokumenty
poprawne strukturalnie?
Jeśli dokument ma być zgodny z
pewnym standardem
Jeśli tworzona jest grupa podobnych
dokumentów (autorzy stron WWW)
Jeśli tworzone dokumenty mają być
przetwarzane przez specjalistyczne
oprogramowanie
24
DTD
Gdzie umieścić DTD
25
DTD prosty przykład
[
]
>
Prosty dokument XML
26
DTD deklaracje typów
elementów
Format deklaracji typów elementów
np.
Konkretny typ elementu (Nazwa) mo\na
zadeklarować tylko raz
27
DTD deklaracje typów
elementów
Zawartość elementu
EMPTY -
ANY
Zawartość w postaci elementów
Sekwencja
POLOZENIE>
? -> zero lub jedna poprzedzająca pozycja
+ -> jedna lub kilka poprzedzających pozycji
* -> zero lub kilka poprzedzających pozycji
28
DTD deklaracje typów
elementów
Zawartość w postaci elementów
Selekcja czyli jeden z ...
CENA)
Co opisuje gramatyka?
[
]
29
>
DTD deklaracje typów
elementów
Co opisuje gramatyka? odpowiedz:
Wiedzmin
śEBROWSKI
ZAMACHOWSKI
oraz
Wiedzmin
KIEPSKI
30
DTD deklaracje typów
elementów
Zawartość elementu
Zawartość mieszana
Tylko dane znakowe
Dane znakowe oraz opcjonalne elementy
potomne
31
DTD deklaracje atrybutów
Definicja atrybutów związanych (tylko takie
mogą wystąpić) z elementem
Określenie typu danych ka\dego atrybutu
Określenie dla ka\dego atrybutu jego
wymagalności . Dla atrybutów nie
obligatoryjnych deklaracja zawiera opis akcji
podejmowanej w przypadku braku atrybutu
(np. wartość domyślna)
32
DTD deklaracje atrybutów
Przykład
[
]
>
33
Stosowanie wewnętrznej DTD
Plik prosty.xml w wewnętrzną DTD:
[
]
>
Prosty dokument XML
34
Stosowanie zewnętrznej DTD
Plik prosty.xml w odwołaniem do zewnętrznej
DTD:
Prosty dokument XML
Plik prosty.dtd:
35
Stosowanie zewnętrznej i
wewnętrznej DTD
Plik prosty.xml:
[
]
>
Prosty dokument
XML
Plik prosty.dtd:
36
XML ciąg dalszy
Arkusze styli XSL
Obiektowy model dokumentu XML
XSL
eXtensible Style Language
XSL a CSS
Dokument:
autor="A.Sapkowski">
39
XSL a CSS
Dokument po dołączeniu CSS:
Arkusz 2.css:
ksiazka
{
display:block;
margin-top:12pt;
font-size:10pt
}
40
XSL - dlaczego?
CSS dotyczy jedynie treści elementów
Co zrobić \eby zobaczyć treść
atrybutów?
Odpowiedzią jest eXtensible Style
Language (XSL)
Podzielony na dwie części:
Przekształcenia
Formatowanie
41
Przekształcenia XSL
Arkusz przekształceń to szablon
wypełniany treścią dokumentu XML:
Instrukcje XSL określające tytuł
Instrukcje XSL określające treść strony