Java_i_XML_-_B.McLaughlin.pdf
(
3593 KB
)
Pobierz
Java i XML
7
Przedmowa
XML, XML, XML... Ten skrót pojawia si
ę
na czapeczkach i koszulkach. W ka
Ŝ
dym czasopi
ś
mie
technicznym, w radiu, w czasopismach kobiecych... no, mo
Ŝ
e sprawy nie zaszły jeszcze tak daleko,
ale niewiele brakuje. XML, rozszerzalny j
ę
zyk znaczników (ang.
Extensible Markup Language)
,
wydaje si
ę
pojawia
ć
w ka
Ŝ
dej bran
Ŝ
y technicznej, a szczególnie cz
ę
sto słycha
ć
o nim w
ś
rodo-
wisku programistów j
ę
zyka Java
®
. Aplikacji nie uwa
Ŝ
a si
ę
ju
Ŝ
za produkt przemysłowy, je
ś
li nie
u
Ŝ
yto w niej w jaki
ś
sposób j
ę
zyka XML. Wreszcie powstała mo
Ŝ
liwo
ść
nowych zastosowa
ń
dla
starych, firmowych systemów, a przedsi
ę
biorstwa oszcz
ę
dzaj
ą
miliony i miliardy dolarów na inte-
gracji systemów — wszystko dzi
ę
ki tym trzem literkom. Programi
ś
ci Javy b
ę
d
ą
zmuszeni do przy-
swajania sobie jeszcze jednej technologii, a zadanie wydaje si
ę
by
ć
tym trudniejsze, im bardziej
si
ę
w nie zagł
ę
bi
ć
. Drog
ę
do XML-a wytyczaj
ą
kolejne skróty: XSL, XPath, RDF, XML Schema,
DTD, PI, XSLT, XSP, JAX
®
, SAX, DOM i inne. I nie ma ju
Ŝ
chyba dyrektora, który nie wyma-
gałby od swojego personelu informatycznego znajomo
ś
ci XML-a!
Kiedy na pocz
ą
tku 1998 roku XML zyskał status specyfikacji formalnie okre
ś
lonej przez World
Wide Web Consortium, niewiele osób zgodziłoby si
ę
uzna
ć
,
Ŝ
e powstała wła
ś
nie najwspanialsza
technologia od czasów Javy (a mo
Ŝ
e jeszcze wspanialsza!). Ale ju
Ŝ
dwa lata pó
ź
niej XML i grupa
technologii słu
Ŝą
cych do manipulacji tym j
ę
zykiem zacz
ę
ły stanowi
ć
podstawowy sposób repre-
zentacji danych w Javie. XML ma szans
ę
wnie
ść
do formatu danych to, co Java wniosła do
j
ę
zyków programowania — całkowit
ą
przeno
ś
no
ść
. I wła
ś
ciwie to zamierzenie twórców Javy
osi
ą
gn
ąć
mo
Ŝ
na tylko dzi
ę
ki j
ę
zykowi XML; przeno
ś
no
ść
Javy bardzo ucierpiała ze wzgl
ę
du na
u
Ŝ
ywane od lat, firmowe formaty danych — aplikacja mogła zosta
ć
uruchomiona na wielu platfor-
mach, ale nie w wielu firmach, na standardowym formacie danych. XML mo
Ŝ
e rozwi
ą
za
ć
ten
problem — powoduje,
Ŝ
e te firmowe formaty danych zaczynaj
ą
by
ć
zb
ę
dne i umo
Ŝ
liwia wzajemne
komunikowanie si
ę
systemów za pomoc
ą
standardowej reprezentacji danych.
To ksi
ąŜ
ka o j
ę
zyku XML, ale napisana głównie z my
ś
l
ą
o programistach Javy. Zarówno XML,
jak i Java s
ą
pot
ęŜ
nymi narz
ę
dziami. W tej ksi
ąŜ
ce jednak uwaga skupiona zostanie na tym, jak ze
sob
ą
współpracuj
ą
— to wła
ś
nie dzi
ę
ki tej współpracy XML staje si
ę
naprawd
ę
pot
ęŜ
n
ą
technolo-
gi
ą
. Przedstawione zostan
ą
ró
Ŝ
ne słowniki XML. Czytelnik nauczy si
ę
tworzy
ć
, zaw
ęŜ
a
ć
i prze-
kształca
ć
XML, pozna tak
Ŝ
e wszystkie interfejsy programistyczne (API) do obsługi j
ę
zyka XML
z poziomu kodu Javy. W ksi
ąŜ
ce zostan
ą
tak
Ŝ
e podj
ę
te najciekawsze zagadnienia dotycz
ą
ce j
ę
zyka
XML: dynamiczna zawarto
ść
, usługi powiadamiania, e-biznes i składnice danych. Za ka
Ŝ
dym ra-
zem b
ę
dzie stosowany ten sam, w
ą
ski punkt widzenia programisty, któremu zale
Ŝ
y na wykonaniu
konkretnego zadania z u
Ŝ
yciem opisywanych narz
ę
dzi. Zostan
ą
przedstawione narz
ę
dzia, jakie
OrganizacjaksiąŜki
8
udost
ę
pnia XML; a je
ś
li istnieje co
ś
, co — cho
ć
popularne! — nie jest zbyt u
Ŝ
yteczne, zostanie
tylko pobie
Ŝ
nie omówione. Je
Ŝ
eli natomiast która
ś
wyj
ą
tkowo przydatna funkcja XML-a sprawia
wra
Ŝ
enie „ukrytego rodzynka” — zostanie on wydobyty i opisany pod k
ą
tem u
Ŝ
yteczno
ś
ci.
Java
i XML
ma słu
Ŝ
y
ć
pomoc
ą
Czytelnikowi. Nie jest pozycj
ą
referencyjn
ą
ani nie ma na celu reklamo-
wania standardu XML.
Połowa tej ksi
ąŜ
ki to kod — praktyczny i działaj
ą
cy. Mo
Ŝ
na go tak
Ŝ
e pobra
ć
z Internetu, ale umie-
szczono go w ksi
ąŜ
ce po to, aby Czytelnik mógł prze
ś
ledzi
ć
proces tworzenia ró
Ŝ
nych aplikacji
XML. Czytelnik powinien wi
ę
c raczej zagł
ę
bia
ć
si
ę
w te przykłady, a nie je pomija
ć
. Jest tutaj
przedstawiony tak
Ŝ
e nowy interfejs API do manipulacji XML-em z poziomu Javy — został on
opisany w pełni, z przykładami. To ksi
ąŜ
ka dla programisty Javy, dlatego zastosowano podej
ś
cie
praktyczne. To nie jest ani teoretyczny, ani pobie
Ŝ
ny przegl
ą
d „fajnej” technologii. Tam, gdzie to
mo
Ŝ
liwe, unikamy słów-haseł; tam, gdzie nie — podajemy ich precyzyjne definicje. Cały kod oraz
rozwi
ą
zania z tej ksi
ąŜ
ki zostały r
ę
cznie wpisane do edytora i przetestowane. S
ą
tutaj po to, by
pomóc Czytelnikowi w solidnym opanowaniu Javy i XML-a.
OrganizacjaksiąŜki
Ksi
ąŜ
ka została podzielona w szczególny sposób. W pierwszej połowie (rozdziały 1. do 7.) został
przedstawiony standard XML oraz najwa
Ŝ
niejsze interfejsy API Javy do jego obsługi. Mo
Ŝ
e nie s
ą
to rozdziały niezwykle interesuj
ą
ce, jednak powinny by
ć
czytane w proponowanej kolejno
ś
ci,
a przynajmniej dokładnie przejrzane — nawet je
ś
li XML nie jest Czytelnikowi obcy. Rozdział 8.
to jakby fragment przej
ś
ciowy pomi
ę
dzy dwiema cz
ęś
ciami ksi
ąŜ
ki. Opisano w nim niezwykle
ciekawy nowy interfejs API do obsługi XML-a z poziomu Javy — JDOM. Ten rozdział trzeba
przeczyta
ć
koniecznie, poniewa
Ŝ
publikacja tego interfejsu zbiegnie si
ę
z wprowadzeniem niniej-
szej ksi
ąŜ
ki do sprzeda
Ŝ
y, a tutaj przedstawiono pełne materiały referencyjne odno
ś
nie tego API
(interfejs ten, który autor utworzył wraz z Jasonem Hunterem, ukierunkowany jest wła
ś
nie na roz-
wi
ą
zywanie problemów z wykorzystaniem Javy i XML-a!). W pozostałej cz
ęś
ci ksi
ąŜ
ki (rozdziały
9. do 14.) omawiane s
ą
specyficzne tematy zwi
ą
zane z XML-em, nieustannie poruszane na konfe-
rencjach i w samouczkach programistów. Analiza tych tematów pozwoli Czytelnikowi maksymal-
nie wykorzysta
ć
XML we własnych aplikacjach — i to od zaraz! Ksi
ąŜ
k
ę
zamykaj
ą
dwa dodatki.
Poni
Ŝ
ej przedstawiony jest skrótowy opis poszczególnych rozdziałów:
Rozdział 1. Wprowadzenie
Omówienie alfabetu XML-a i próba znalezienia odpowiedzi na pytanie, dlaczego standard
ten jest tak istotny dla obecnych i przyszłych aplikacji stosowanych w przedsi
ę
biorstwach.
Rozdział 2. Tworzenie dokumentów XML
Omówienie procesu budowania dokumentu XML od podstaw; zastosowanie najwa
Ŝ
niejszych
konstrukcji XML, takich jak elementy, atrybuty, encje.
Rozdział 3. Przetwarzanie kodu XML
Przedstawienie interfejsu API Javy słu
Ŝą
cego do obsługi XML-a — Simple API for XML
(SAX). Szczegółowo opisano proces przetwarzania oraz zdarzenia udost
ę
pniane przez
interfejs SAX, przeznaczone do wykorzystania przez programistów.
Rozdział 4. Zaw
ęŜ
anie danych XML
Przedstawienie dwu sposobów zaw
ęŜ
enia dokumentu XML: zastosownie definicji typu doku-
mentu (DTD) oraz XML Schema.
OrganizacjaksiąŜki
9
Rozdział 5. Sprawdzanie poprawno
ś
ci składni XML-a
Uzupełnienie poprzedniego rozdziału. Omówiono, jak za pomoc
ą
poznanego interfejsu SAX
umo
Ŝ
liwi
ć
weryfikacj
ę
składni dokumentu oraz reagowa
ć
, gdy dokument wykracza poza na-
rzucone zaw
ęŜ
enia.
Rozdział 6. Przekształcanie kodu XML
Opis rozszerzalnego j
ę
zyka arkuszy stylów XSL oraz innych istotnych komponentów słu
Ŝą
-
cych do przekształcania dokumentów XML z jednego formatu na inny. Omówiono ró
Ŝ
ne me-
tody konwersji dokumentów XML na inne formaty tekstowe oraz sposób wykorzystania
obiektów formatuj
ą
cych do konwersji na formaty binarne.
Rozdział 7. Czerpanie z XML-a
Kontynuacja tematu przekształcania dokumentów XML. Przedstawiono procesory transfor-
macji XML oraz sposoby konwersji dokumentów XML na inne formaty. Opisano równie
Ŝ
model obiektowy dokumentu (DOM) i wyja
ś
niono, w jaki sposób mo
Ŝ
na za jego pomoc
ą
ob-
słu
Ŝ
y
ć
dane XML.
Rozdział 8. JDOM
Omówienie interfejsu Java API for XML Parsing (JAXP) i próba przeanalizowania, jak du
Ŝ
e
znaczenie w XML-u ma niezale
Ŝ
no
ść
od rozwi
ą
za
ń
firmowych. Zaprezentowano te
Ŝ
interfejs
JDOM, wskazano przyczyny jego powstania, szczegółowo opisano sposób korzystania z nie-
go oraz porównano go z interfejsami SAX oraz DOM.
Rozdział 9. Struktury publikacji WWW
Analiza struktur publikacji WWW i wybór najodpowiedniejszej. Omówiono tak
Ŝ
e struktur
ę
Apache Cocoon oraz wyja
ś
niono, w jaki sposób korzysta
ć
z niej przy budowaniu dynami-
cznej zawarto
ś
ci stron WWW.
Rozdział 10. XML-RPC
Przedstawienie zdalnych wywoła
ń
procedur (RPC), uwzgl
ę
dnienie ich znaczenia w systemach
rozproszonych w porównaniu z RMI oraz wyja
ś
nienie, dlaczego technologie RPC w przy-
padku niektórych problemów tak wiele zyskuj
ą
dzi
ę
ki XML-owi. Omówienie biblioteki
XML-RPC Javy oraz konstrukcji klientów XML-RPC.
Rozdział 11. XML na potrzeby konfiguracji
Omówienie sposobów tworzenia danych konfiguracyjnych w postaci XML i wyja
ś
nienie,
dlaczego format ten jest tak istotny w aplikacjach wieloplatformowych, szczególnie w syste-
mach rozproszonych.
Rozdział 12. Tworzenie danych XML w j
ę
zyku Java
Przedstawienie procesu generowania i modyfikowania formatu XML z poziomu Javy przy
wykorzystaniu mechanizmów działaj
ą
cych po stronie serwera, takich jak serwlety. Wskazano
te
Ŝ
, na co trzeba zwróci
ć
uwag
ę
przy dokonywaniu mutacji XML.
Rozdział 13. Operacje typu firma-firma
Omówienie sposobu komunikacji pomi
ę
dzy firmami i wewn
ą
trz firmy z wykorzystaniem
przeno
ś
nego formatu danych XML. Posłu
Ŝą
do tego przykładowe aplikacje, napisane w ró
Ŝ
-
nych j
ę
zykach i porozumiewaj
ą
ce si
ę
ze sob
ą
za pomoc
ą
XML-a.
Rozdział 14. XML Schema
Omówienie przyczyn niezwykłego zainteresowania specyfikacj
ą
XML Schema oraz wyja
ś
-
nienie, dlaczego technologie Java i XML Schema nawzajem si
ę
uzupełniaj
ą
.
DlakogojesttaksiąŜka?
10
Dodatek A. Interfejs API — materiał referencyjny
W tym dodatku wymieniono wszystkie klasy, interfejsy i metody dost
ę
pne w interfejsach
programistycznych SAX, DOM, JAXP i JDOM.
Dodatek B. Funkcje i wła
ś
ciwo
ś
ci SAX 2.0
W tym dodatku wymieniono wszystkie funkcje i wła
ś
ciwo
ś
ci implementacji interfejsu SAX 2.0.
DlakogojesttaksiąŜka?
Podstaw
ą
napisania ksi
ąŜ
ki było przekonanie,
Ŝ
e XML jest ju
Ŝ
nieodł
ą
cznym elementem
programowania w Javie. Ksi
ąŜ
ka została napisana w taki sposób,
Ŝ
e najpierw Czytelnik dowiaduje
si
ę
, jak w ogóle korzysta
ć
z XML-a i Javy. Nie ma tutaj rozwa
Ŝ
a
ń
dotycz
ą
cych tego,
czy
powinno
si
ę
korzysta
ć
z XML-a. Programista Javy powinien korzysta
ć
z XML-a. Dlatego, je
ś
li Czytelnik
programuje w Javie, chce programowa
ć
w Javie, zarz
ą
dza programuj
ą
cymi w Javie lub jest odpo-
wiedzialny albo zwi
ą
zany z projektem pisanym w Javie — ksi
ąŜ
ka na pewno mu si
ę
przyda. Je
ś
li
Czytelnik chce si
ę
rozwija
ć
, pogł
ę
bia
ć
wiedz
ę
programistyczn
ą
, pisa
ć
bardziej przejrzysty kod,
tworzy
ć
udane projekty w terminie i bez przekraczania bud
Ŝ
etu, musi korzysta
ć
z danych w forma-
tach firmowych, tworzy
ć
rozproszone systemy lub po prostu ciekaw jest, sk
ą
d całe to zaintereso-
wanie XML-em — ksi
ąŜ
ka na pewno mu si
ę
przyda.
Pisz
ą
c ksi
ąŜ
k
ę
, starałem si
ę
czyni
ć
jak najmniej zało
Ŝ
e
ń
. Nie chc
ę
rozpoczyna
ć
omawiania XML-a od
takiego poziomu,
Ŝ
e zniech
ę
ci to cz
ęść
Czytelników. Ale uwa
Ŝ
am tak
Ŝ
e,
Ŝ
e je
ś
li Czytelnik wydał ju
Ŝ
pieni
ą
dze na t
ę
ksi
ąŜ
k
ę
, to zale
Ŝ
y mu na czym
ś
wi
ę
cej ni
Ŝ
tylko na podstawach. Dlatego zakładam
jedynie znajomo
ść
Javy i zagadnie
ń
programowania po stronie serwera (takich jak serwlety Javy czy
komponenty Enterprise JavaBean
®
. Je
ś
li Czytelnik nie miał jeszcze nigdy do czynienia z Jav
ą
albo
dopiero rozpoczyna przygod
ę
z tym j
ę
zykiem, by
ć
mo
Ŝ
e warto najpierw przeczyta
ć
Learning Java
Pata
Niemeyera i Jonathana Knudsena (wyd. O'Reilly & Associates). Zakładam,
Ŝ
e Czytelnik nie wie nic
o XML-u, wi
ę
c zaczynam od samych podstaw. Ale zakładam równie
Ŝ
,
Ŝ
e Czytelnik b
ę
dzie ci
ęŜ
ko pra-
cował i szybko przyswajał wiedz
ę
. Dlatego podstawy zostan
ą
omówione błyskawicznie, by jak naj-
szybciej przej
ść
do bardziej zaawansowanych zagadnie
ń
. Materiał nie b
ę
dzie wielokrotnie powtarzany
poza tymi miejscami, gdzie jest to absolutnie koniecznie. Mo
Ŝ
e wi
ę
c zaj
ść
potrzeba ponownego
przeczytania wcze
ś
niejszych fragmentów. Je
ś
li Czytelnik chce uczy
ć
si
ę
XML-a, troch
ę
zna Jav
ę
i przygotowany jest na „wstukanie” przykładowego kodu do swojego ulubionego edytora tekstów, nie
powinien mie
ć
wi
ę
kszych problemów z przyswojeniem materiału opisanego w ksi
ąŜ
ce.
Oprogramowanieiwersje
Informacje w tej ksi
ąŜ
ce dotycz
ą
XML-a w wersji 1.0 oraz ró
Ŝ
nych słowników XML w wersjach
najbardziej aktualnych w czasie uko
ń
czenia ksi
ąŜ
ki, tj. w kwietniu 2000 r. Poniewa
Ŝ
rozmaite spe-
cyfikacje XML nie uzyskały jeszcze ostatecznej postaci, pomi
ę
dzy drukowan
ą
wersj
ą
ksi
ąŜ
ki
a opisywanymi specyfikacjami mog
ą
wyst
ą
pi
ć
drobne ró
Ŝ
nice.
Cały kod Javy prezentowany w tej ksi
ąŜ
ce oparty jest na platformie Java 1.1, za wyj
ą
tkiem opisów
dotycz
ą
cych interfejsu JDOM 1.0. Ta odmienno
ść
jest odnotowana i uzasadniona w odpowiednim
miejscu, w rozdziale 8. Wykorzystano parser Apache Xerces, procesor Apache Xalan oraz biblio-
teki Apache FOP w najnowszych stabilnych wersjach z kwietnia 2000 r. Zastosowano struktur
ę
publikacji WWW Apache Cocoon w wersji 1.7.3, a biblioteki Javy XML-RPC w wersji 1.0 beta 3.
Całe oprogramowanie mo
Ŝ
na pobra
ć
za darmo z adresów
http://java.sun.com
,
http://xml.apache.org
oraz
http://www.xml-rpc.com
.
Konwencjetypograficzne
11
Kod
ź
ródłowy przykładów, w tym klasy narz
ę
dziowe com.oreilly.xml, jest w cało
ś
ci zamieszczo-
ny w ksi
ąŜ
ce. Zarówno kod
ź
ródłowy, jak i posta
ć
binarn
ą
wszystkich przykładów (w tym szerok
ą
dokumentacj
ę
Javadoc) mo
Ŝ
na pobra
ć
z adresów
http://www.oreilly.com/catalog/javaxml
oraz
http://www.newInstance.com
. Wszystkie przykłady mog
ą
ce funkcjonowa
ć
jako serwlety lub
nadaj
ą
ce si
ę
do przekonwertowania na serwlety mo
Ŝ
na obejrze
ć
w działaniu online pod adresem
http://www.newInstance.com
.
Pełn
ą
dystrybucj
ę
JDOM 1.0, wraz ze specyfikacj
ą
, implementacj
ą
referencyjn
ą
, kodem
ź
ródło-
wym, dokumentacj
ą
interfejsu oraz postaci
ą
binarn
ą
mo
Ŝ
na pobra
ć
z adresu
http://www.jdom.org
.
Ponadto stworzono drzewo CVS zawieraj
ą
ce kod JDOM i pozwalaj
ą
ce na uzupełnianie i komento-
wanie
ź
ródeł. Informacje o tym, jak korzysta
ć
z CVS-a JDOM, mo
Ŝ
na znale
źć
tak
Ŝ
e pod adresem
http://www.jdom.org
.
Konwencjetypograficzne
W ksi
ąŜ
ce zastosowane zostały nast
ę
puj
ą
ce konwencje typograficzne:
Druk pochyły
wykorzystywany jest do oznaczania:
·
uniksowych
ś
cie
Ŝ
ek dost
ę
pu, nazw plików i nazw programów,
·
adresów internetowych (nazw domen i identyfikatorów URL),
·
nowych, definiowanych terminów.
Czcionka proporcjonalna
oznacza:
·
tekst wpisywany w wierszu polece
ń
i opcje — czyli to, co ma by
ć
wpisane dokładnie tak, jak
wydrukowano,
·
nazwy i słowa kluczowe w programach Javy, w tym nazwy metod, zmiennych i klas,
nazwy elementów i znaczników XML-a, nazwy atrybutów i innych konstrukcji XML-a
wygl
ą
daj
ą
cych tak, jak wygl
ą
dałyby w dokumencie XML .
Czcionka proporcjonalna pogrubiona
słu
Ŝ
y do oznaczania:
·
nowo wprowadzonych fragmentów kodu,
·
fragmentów wi
ę
kszego kodu, które wła
ś
nie s
ą
opisywane w tek
ś
cie.
Opinieikomentarze
Opinie i komentarze dotycz
ą
ce tej ksi
ąŜ
ki mo
Ŝ
na przysyła
ć
do wydawcy:
O'Reilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
(800) 998-9938 (Stany Zjednoczone lub Kanada)
(707) 829-0515 (mi
ę
dzynarodowe lub lokalne)
(707) 829-0104 (faks)
Mo
Ŝ
na tak
Ŝ
e wysła
ć
list elektroniczny. W celu zapisania si
ę
na list
ę
adresow
ą
lub zamówienia ka-
talogu, wystarczy wysła
ć
e-mail pod adres
helion@helion.pl.
·
Plik z chomika:
pecyna
Inne pliki z tego folderu:
[ebook][Java][Manning] Eclipse in Action.pdf
(5931 KB)
Algorithms.in.Java.Part1-4.-.robert.sedgewick(1).chm
(5541 KB)
Hungry.Mind.-.JavaScript.Weekend.Crash.Course.2001.pdf
(26082 KB)
Java for the beginig Programer.pdf
(3341 KB)
McGraw Hill_SCJP & SCJD for Java 2 Certification Study Guide.pdf
(7443 KB)
Inne foldery tego chomika:
_Apple
Ajax in Action - Manning (Oct 2005)
ASP.NET 4 Unleashed (2011)
C all
Inside Microsoft SQL Server 2005 T-SQL Querying
Zgłoś jeśli
naruszono regulamin