XML nie wszystko o


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:


<br> Instrukcje XSL określające tytuł<br>


Instrukcje XSL określające treść strony


42
Przekształcenia XSL
Dla przypomnienia:
standalone="yes"?>





Co chcemy uzyskać?
A.Mickiewicz napisał ksią\kę Pan Tadeusz
A.Sapkowski napisał ksią\kę Pani Jeziora
43
Przekształcenia XSL
Tworzymy arkusz styli lub jego inną postać:




<br><xsl:for-each select="spis"><br> <xsl:value-of select="@nazwa"/><br></xsl:for-each><br>







napisał ksią\kę










44
Przekształcenia XSL
Po dodaniu wskazania na styl:

Otrzymujemy lub to samo
45
Przekształcenia XML  XML
Punkt wyjścia:
standalone="yes"?>





46
Przekształcenia XML  XML
Chcemy otrzymać:



PanTadeusz
A.Mickiewicz


Pani Jeziora
A.Sapkowski


47
Przekształcenia XML  XML
Arkusz styli ma postać:




















48
Przekształcenia XML  XML
Skorzystamy z parsera msxsl.exe:
Microsoft (R) XSLT Processor Version 3.0
Usage: MSXSL source stylesheet [options] [param=value...] [xmlns:prefix=uri...]
Options:
-? Show this message
-o filename Write output to named file
-m startMode Start the transform in this mode
-xw Strip non-significant whitespace from source and stylesheet
-xe Do not resolve external definitions during parse phase
-v Validate documents during parse phase
-t Show load and transformation timings
-pi Get stylesheet URL from xml-stylesheet PI in source document
-u version Use a specific version of MSXML: '2.6', '3.0', '4.0
- Dash used as source argument loads XML from stdin
- Dash used as stylesheet argument loads XSL from stdin
Wołając go :
msxsl 34.xml 34.xsl -o 34after.xml
49
Formatowanie XSL
Model formatowania oparty jest na
prostokątnych obszarach
Obiekty formatujące podzielone są na
cztery grupy:
Pojemniki na obszary
Obszary blokowe
Obszary wierszowe
Obszary typu inline
50
Pojemniki na obszary
Pojemnik jest obiektem najwy\szego
poziomu
Mo\e zawierać:
Inne pojemniki
Ciąg obszarów blokowych
Przykład:
Ksią\ka (nagłówek, główna cześć tekstu,
stopka, marginesy)
51
Obszar blokowy
Odpowiada elementowi blokowemu takiemu
jak akapit lub element listy
Nie ma dokładnego umieszczenia na stronie
Mo\e zawierać:
Obszary wierszowe
Inne obszary blokowe
Miejsca wyświetlania
Pojedynczy obrazek
52
Obszar wierszowy
Odpowiada jednemu wierszowi tekstu w
bloku
Mo\e zawierać:
Obszary inline
53
Obszar inline
Obszar inline to części wiersza takie jak:
pojedynczy znak, numer przypisu itp.
Mo\e zawierać:
Inne obszary inline
54
Przestrzeń nazw fo
Elementy XML obszarów formatujących
XSL pochodzą z przetrzeni nazw fo
Co to jest przestrzeń nazw?
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
55
Obiektowy model dokumentu
XML
XML DOM  przykłady
Wyświetlanie stałej liczby elementów
Wyświetlanie zmiennej liczby elementów
Wyszukiwanie elementu podanego typu
Poruszanie się po dokumencie XML
Sprawdzanie poprawności
57
Gdzie szukać informacji
http://www.w3.org
http://msdn.microsoft.com/xml
http://www.xml.com
http://www.altavista.com
58
I to by było na tyle
I to by było na tyle
Pytania?
59
Dziękuję za uwagę
Dziękuję za uwagę


Wyszukiwarka

Podobne podstrony:
Lekcja 7 Trening pamieci to nie wszystko Zadbaj o swoja koncentracje
Pięniądze to nie wszystko Golec uOrkiestra txt
Ocalić życie to jeszcze nie wszystko
Notatki z Metodologii (nie wszystkie ale dokładne)
Rozdział 3[1] Nie wszystko stracone
Wykłady Łętocha nie wszystkie zagadnienia egzaminacyjne
Nie wszystkie wydatki firma zaliczy w koszty Skorzystaj z gotowych porad ekspertów ebook demo
lekcja 20 Nie wszystko stracone!
Mikrofony z Tu 154 Nie wszystko co ważne stało się w kabinie
nie wszystko zdrowe
Ale to nie wszystko
Pieniądze to nie wszystko Golec Orkiestra
Arianrod Nie wszystko bajka
WSZYSTKO CO BIOTECHNOLOG MUSI MIEĆ W LABORATORIUM I NIE TYLKO

więcej podobnych podstron