xml.-cwiczenia-praktyczne helion, mojeksiążki
[ Pobierz całość w formacie PDF ]
4
XML. wiczenia praktyczne
Rozdział 5. XPath — odwoływanie si' do w'złów w drzewie XML............................................63
Okre/lanie bezwzgldne i wzgldne wzła............................................................................63
Wybieranie atrybutów............................................................................................................65
Wybieranie wzła w zale6no/ci od kolejno/ci.......................................................................65
Funkcje u6ywane w wybieraniu wzłów................................................................................68
Uwagi ko1cowe......................................................................................................................72
Rozdział 6. Style — XSL....................................................................................................................................73
Budowa pliku z przekształceniami.........................................................................................75
Budowanie innych szablonów................................................................................................79
Inne techniki XSLT................................................................................................................87
Importowanie i zał0czanie innych arkuszy.............................................................................95
Dodatkowe funkcje.................................................................................................................96
Rozdział 7.
XLink, Xbase i XPointer............................................................................................................99
Linki proste...........................................................................................................................100
Ł0cza rozszerzone.................................................................................................................101
Zasoby lokalne..................................................................................................................101
Zasoby zdalne...................................................................................................................102
Łuki.......................................................................................................................................103
Baza ł0czy.........................................................................................................................104
Doł0czanie cz/ci pliku (XPointer)..................................................................................104
Proste wyra6enia punktowe..................................................................................................105
Okre/lenie /cie6ki bazowej (XBase)....................................................................................107
Podsumowanie......................................................................................................................108
Rozdział 8.
XML Spy.........................................................................................................................................109
Rozpoczcie pracy................................................................................................................109
Podsumowanie......................................................................................................................116
Dodatek A
Predefiniowane typy proste XML Schema....................................................................117
Dodatek B
XSLT — instrukcje....................................................................................................................119
Dodatek C
MathML...........................................................................................................................................123
Deklarowanie MathML w dokumencie HTML ...................................................................124
Instrukcje podstawowe.........................................................................................................124
<mi>..................................................................................................................................125
<mn>.................................................................................................................................125
<mo>.................................................................................................................................125
<mtext>.............................................................................................................................126
<mspace>..........................................................................................................................126
<ms>.................................................................................................................................127
<mglyph>..........................................................................................................................127
Konstrukcja wyra6e1 matematycznych w MathML.............................................................127
<mrow> ............................................................................................................................127
<mfrac>.............................................................................................................................128
<msqrt> oraz <mroot>......................................................................................................128
<mstyle>...........................................................................................................................129
4
C:\Andrzej\PDF\XML. wiczenia praktyczne\!SPIS_TRESCI.doc
Spis treci
5
<merror>...........................................................................................................................130
<mpadded>.......................................................................................................................130
<mphantom>.....................................................................................................................131
<mfenced>........................................................................................................................132
<menclose>.......................................................................................................................132
Indeksy.................................................................................................................................133
<msub>.............................................................................................................................133
<msup>.............................................................................................................................133
<msubsup>........................................................................................................................134
<munder>..........................................................................................................................135
<mover>............................................................................................................................135
<munderover>...................................................................................................................135
<mmultiscripts>................................................................................................................136
Macierze i tabele...................................................................................................................137
<mlabeledtr>.....................................................................................................................139
Wybrane encje......................................................................................................................141
Edytory MathML..................................................................................................................143
Przykład pocz0tkowy z rozdziału 1......................................................................................143
Dodatek D
Kody 5ródłowe............................................................................................................................147
S0siedzi.................................................................................................................................147
Ssaki.....................................................................................................................................151
Igrzyska Olimpijskie ............................................................................................................152
5
C:\Andrzej\PDF\XML. wiczenia praktyczne\!SPIS_TRESCI.doc
Schemat, podobnie jak DTD ma za zadanie opisa posta dokumentu XML-a, czyli
elementy oraz ich zawarto , atrybuty. Dlaczego wi#c stworzono ten drugi mechanizm,
skoro DTD robi to samo? Faktycznie DTD jest schematem dokumentu, ale go dokładnie
nie opisuje. Czytaj(c poprzedni rozdział zauwa)yłe pewnie, )e dane mog( by tylko ro-
dzaju tekstowego lub binarnego. Nie ma nigdzie mowy o tym, aby dane mogły by licz-
bami czy te) datami. Tak( mo)liwo otrzymasz po zastosowaniu XML-a Schema. Innym
faktem przemawiaj(cym za schematami (od tej pory schemat kojarz z opisem w XML-u
Schema), jest ich składnia. Składnia schematów jest identyczna ze składni( wyst#puj(c(
w dokumentach XML-a. Kolejn( zalet( schematów jest mo)liwo tworzenia elemen-
tów zgodnie z ich kontekstem (porównaj z uwagami ko1cowymi na temat DTD). Jedy-
nymi konstrukcjami, których nie mo)esz zdefiniowa za pomoc( schematu s( encje.
Twórcy schematów w grupie dyskusyjnej po wi#conej XML-owi Schema twierdz(, )e
te konstrukcje za miecaj( składni#. Jedynym sposobem utworzenia encji jest przemiesza-
nie DTD, w których definiujemy tylko encje ze schematami, gdzie zawarta jest reszta
definicji dokumentu. Przykład znajdziesz w tym rozdziale.
Schematy umieszcza si# w plikach z rozszerzeniem xsd, którego struktura powinna wy-
gl(da nast#puj(co:
Je)eli korzystasz z nowej rekomendacji (uwaga — nie wszystkie wersje oprogramowania
mog( korzysta z tej przestrzeni nazw, na przykład tak zachowuje si# XML Spy w wersji
4.0), rozszerzenie mo)e mie inn( posta:
40
XML. wiczenia praktyczne
Przestrze1 nazw wskazuje na to, )e wszystkie elementy zaczynaj(ce si# od xsd: b#d(
traktowane jako definicje pochodz(ce z danego adresu, tutaj z rekomendacji zatwier-
dzonej przez organizacj# World Wide Web Consortium. Jak widzisz, cało definicji
schematu spinamy klamr(
. Teraz wystarczy
przypisa plik ze schematem do elementu głównego w dokumencie XML:
!"#$%""&'(!!
!"!#!$%&%
lub
!"#$%""&'(!!
!"!#!$%&%
Powy)szy przykład przedstawia schemat prosty, to znaczy taki, który nie korzysta lub nie
definiuje własnej przestrzeni nazw; wskazuje na to deklaracja xsi:noNameSpaceSchema
Location. O przestrzeniach nazw dowiesz si w dalszej czci tej ksi()ki. Schematy zapi-
sywane s( w plikach o rozszerzeniu xsd, tutaj widzimy przykład deklaracji pliku Olim-
piady.xsd.
Rozpoczniemy nauk# od elementów dokumentuj(cych schemat, czyli po prostu komenta-
rzy do samego opisu. Aby zdefiniowa tak( notatk# nale)y skorzysta z konstrukcji:
Listing 4.1.
''$))))*&+,-(
'./0'10/
''(%)
''''(%*)
''''+''"',-./'0"'$%&
''''(%*)
''''(%%1)
''''2*"'%013',1"/&'%''%
''''"0
''''(%%1)
''(%)
Rozpoczynamy znacznikiem
, wewn(trz którego mog( si# znajdowa
dwa znaczniki. Pierwszy z nich,
, powinien zawiera informacj# na temat
aplikacji j#zyka XML, do której nale)y dany schemat, a drugi — informacje o schemacie.
Instruuj(c w ten sposób innych, ułatwiamy im )ycie, a i nam po pewnym czasie te in-
formacje mog( si# przyda.
wiczenie 4.1.
Zadeklaruj pocztek szablonu dla pliku ssiedzi.xml (patrz dodatek D).
[ Pobierz całość w formacie PDF ]