• Nem Talált Eredményt

Van új a nap alatt - XML alapú webtartalom-generálás Cocoon rendszerrel megtekintése

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Van új a nap alatt - XML alapú webtartalom-generálás Cocoon rendszerrel megtekintése"

Copied!
10
0
0

Teljes szövegt

(1)

Bíró Szabolcs

V a n ú j a n a p a l a t t - X M L a l a p ú

w e b t a r t a l o m - g e n e r á l á s C o c o o n r e n d s z e r r e l *

Az XML és az XSL nyelvek világhálón való egyre szélesebb körű elterjedésével mára már lehetőség nyílt olyan - akár egyszerűnek is nevezhető - szerveroldali alkalmazásokra, amelyek magas szintű feldolgozásra képesek. Az említett nyelvek ingyenes hozzáférhető­

ségéből és platformfüggetlenségéből adódóan ezek az alkalmazások egyrészt nem a web- kiszolgálók és különféle szkriptek (pl. CGI) összetételéből állnak, másrészt az olyan védjegyzett technológiákat is mellőzik, mint pl. a .Net vagy az Enterprise JavaBeans. A multinacionális cégek, kiadók vagy tartalomszolgáltatók - könyvtárak is! - a webre szánt tartalmakat egyre inkább olyan minden kétséget kizárónak tekintő hatékony („globális") adatstrukturálási és archiválási formátumokban szeretnék előállítani, mint az XML, hogy aztán ebből igénytől függően bármikor (X)HTML, PDF, WML stb. formátumokat tudjanak költséghatékonyan létrehozni. Az Apache projekt Cocoon terméke kísérlet egy olyan rend­

szer előállítására, amely a felsorolt képességekkel rendelkezik.

Hangsúlyeltolódás a w e b e s tartalom leírásban

A l e g g y a k o r i b b p r o b l é m á k

A z o k , a k i k n a g y o b b h o n l a p o k k a r b a n t a r t á s á v a l f o g l a l k o z n a k , e g y e t é r t e n e k a b b a n , hogy a frissí­

tés/átalakítás h a g y o m á n y o s m ó d j a n é h a kész r é m á l o m . 10 é v v e l ezelőtt, a m i k o r az első statikus H T M L o l d a l a k m e g j e l e n t e k a v i l á g h á l ó n , m é g s z i m p l a b ö n g é s z ö - w e b s z e r v e r k o m m u n i k á c i ó v a l m o d e l l e z h e t ő volt a k a p c s o l a t é s a t a r t a l o m s z o l g á l ­ t a t á s m ó d j a , á m m a m á r k o r á n t s e m ilyen e g y s z e r ű a helyzet. E n n e k l e g f ő b b o k a , hogy sok o l y a n for­

m á t u m o t h a s z n á l u n k , ahol a stílus és a k ö z l e n d ő i n f o r m á c i ó k e v e r e d i k . L e g j o b b és m i n d e n k i által ismert példa a H T M L , a h o l a w e b l a p tele v a n szór­

va szint, m e g j e l e n é s t , f o r m á z á s t leíró p a r a m é t e ­ rekkel - n e m b e s z é l v e az e s e t l e g e s s z k r i p t n y e l v e k kódjairól Egy s z é p w e b l a p o t e g y s z e r ö s s z e á l l í t a n i

„ k ö n n y ű " , d e u t á n a a t a r t a l o m és a stílus k ö v e t k e ­ z e t e s v á l t o z t a t á s a i a k á r irdatlan m e n n y i s é g ű m u n ­ k á v a l is j á r h a t n a k .

A f e j l e t t e b b t a r t a l o m s z o l g á l t a t ó k e z t r e n d s z e r i n t úgy oldják m e g , hogy a t a r t a l m a k a t d i n a m i k u s a n g e n e r á l j á k v a l a m i l y e n stylesheet a l a p j á n , az infor­

m á c i ó t p e d i g , a m e l l y e l a lapot kitöltik, a d a t b á z i s b ó l veszik. A m e g o l d á s hátránya, hogy a területen m i n d m á i g n e m létezik e g y s é g e s s z a b v á n y , é s ez a m e g k ö z e l í t é s szinte mindig fejlesztői m u n k á v a l jár - p e d i g n e m l e n n e s z ü k s é g s z e r ű .

A másik g y a k r a n felmerülő g o n d a z , hogy a tartalom készítője és a megjelenésért felelős g y a k r a n egy és u g y a n a z a személy. A d o l o g e r e d m é n y e , hogy a w e b e s tartalmakat sokszor „webguruk" készítik, ami c s i n o s megjelenést, de g y e n g e információt e r e d m é ­ nyez. M i n d e z n e m csoda, hiszen e g y é r t e l m ű e n m á s o k a kompetenciák, és világosan látszik, hogy ezt két olyan s z e m é l y n e k kellene v é g e z n i e , akik e g y m á s m u n k á j á r ó l nem is feltétlenül akarnak tudni.

Online publikálás e s e t é b e n a z o n b a n e két s z e r e p e t m e g l e h e t ő s e n nehéz elválasztani: a „tartalomgyár- tötól" g y a k r a n várják el, hogy értsen pl. a H T M L nyelvhez, pedig j ó z a n ésszel belegondolva a h h o z s e m m i köze. Bárhogy is v a n , látni fogjuk, hogy a C o c o o n m e g o l d á s t kínál erre a p r o b l é m á r a is.

A m e g o l d á s k e r e s é s útjai

Lépcsős stíluslapok - CSS

A t a r t a l o m é s a f o r m a s z é t v á l a s z t á s á n a k j e l e n t ő ­ s é g é t l e g k o r á b b a n f e l i s m e r ő és azért l e g t ö b b e t tevő s z e r v e z e t a w e b e s a j á n l á s o k k i d o l g o z á s á é r t felelős World Wide Web Consortium (W3C) volt.

Első, m e g l e h e t ő s e n h a t é k o n y n a k b i z o n y u l ó és e g y r e g y a k r a b b a n használt m e g o l d á s i kísérletük a Cascading Style Sheets (CSS) s p e c i f i k á c i ó volt, amely a H T M L n y e l v h e z készült. S e g í t s é g é v e l b i z o n y o s fokig már s z é t v á l a s z t h a t ó a t a r t a l o m a ' A Networkshop 2005 konferencián (Szeged, 2005.

március 30—április 1.) elhangzott előadás alapján.

5 1 0

(2)

TMT 52. évf. 2005. 1 1 - 1 2 . sz.

f o r m á t ó l , á m m i v e l a „nyelv" l e g i n k á b b e l e m - , b e ­ k e z d é s - é s k a r a k t e r f o r m á z á s i k é p e s s é g e k k e l r e n ­ delkezik, r á a d á s u l i m p l e m e n t á c i ó j a a j e l e n t ő s e b b b ö n g é s z ő k b e n s e m m i n d i g k o n z i s z t e n s - bár ez u t ó b b i a g y á r t ó k hibája - , a l k a l m a z á s a e l s ő s o r b a n m u n k a c s ö k k e n é s t , m i n t s e m teljes körű m e g o l d á s t j e l e n t a t a r t a l o m é s a f o r m a g y o r s k a r b a n t a r t á s á ­ b a n . Mi t e h á t a m e g o l d á s ?

Bővíthető jelölőnyelv - XML

A W 3 C m u n k a t á r s a i is e z e n a k é r d é s e n g o n d o l ­ k o z h a t t a k e l , a m i k o r egy o l y a n nyelv - k e r e t r e n d ­ szer - k i d o l g o z á s á b a k e z d t e k , a m e l y k i z á r ó l a g a t a r t a l o m leírására s z o l g á l . A m e g v a l ó s í t á s h o z per­

s z e n e m kellett a nulláról indulniuk, h i s z e n k i i n d u ­ lási a l a p n a k r e n d e l k e z é s r e állt a z a l a s s a n 2 0 é v e ISO s z a b v á n y k é n t e l f o g a d o t t m e t a n y e l v , a m e l y a Standard Generalized Markup Language (SGML) nevet v i s e l i . A z S G M L s z a b v á n y o s j e l ö l ö n y e l v d o k u m e n t u m o k belső s z e r k e z e t é n e k leírására, b e l e é r t v e a z e g y e s e l e m e k e t j e l ö l ő c í m k é k (tagek) d e f i n i á l á s á n a k m ó d j á t is. S e g í t s é g é v e l e l v b e n b á r m i l y e n d o k u m e n t u m leírható, f ü g g e t l e n ü l az a z t tároló és m e g j e l e n í t ő s z á m i t ó g é p e s k ö r n y e z e t t ő l . N a g y f o k ú b o n y o l u l t s á g a é s k e v é s b é k ö l t s é g h a t é ­ kony a l k a l m a z h a t ó s á g a miatt a z o n b a n n e m terjedt el s e m E u r ó p á b a n , s e m v i l á g s z e r t e a várt m é r t é k ­ b e n . A t e c h n o l ó g i a v i s z o n t a m a g a n e m é b e n n a g y s z e r ű és e g y e d ü l á l l ó , kár lett v o l n a k i a k n á z a t ­ lanul h a g y n i . É p p e n e z é r t 1 9 9 8 - b a n , m i k ö z b e n a világ a H T M L ú j a b b é s ú j a b b r e i n k a r n á c i ó i r a f i ­ gyelt, a W 3 C e g y g y ö k e r e s e n új t a r t a l o m l e í r ó m e ­ t a n y e l v e t épített fel az SGML-bÖl - a z új jelölő¬

r e n d s z e r az eXtensible Markup Language (XML) nevet k a p t a . Ez a z a f o r m á t u m , a m e l y m e g fogja m e n t e n i a digitális világot - vallják s o k a n - , é s igazuk lehet, h i s z e n amellett, hogy az X M L levetet­

te e l ő d j e h á t r á n y o s t u l a j d o n s á g a i t , é s m e g v a l ó s í ­ totta a tárta lom leírás k ö v e t e l m é n y e i t , e g y ú t t a l a l ­ k a l m a z á s o r i e n t á l t is lett - a m i a z S G M L - r e n e m volt igaz R e n d e l k e z é s r e állt t e h á t a nyelv, a m e l y a t a r t a l o m leírására é s t á r o l á s á r a s z o l g á l , u g y a n a k ­ kor f e l v e t ő d i k a k é r d é s : Mi lesz a f o r m á v a l ?

Bővíthető stíluslapnyelv (transzfonnáció) - XSL(T)

A k é r d é s j o g o s , hiszen a C S S e l s ő s o r b a n a H T M L n y e l v h e z készült, a z X M L e s e t é b e n c s a k attól k e z d ­ ve lett a l k a l m a z h a t ó , hogy a b ö n g é s z ő p r o g r a m o k a t felruházták a belső fastruktúra é r t e l m e z é s é r e k é p e s parserrel. A z ilyen m e g j e l e n í t é s n e k a z o n b a n t ö b b h á t r á n y a is v a n , n e m b e s z é l v e arról, hogy ez eset­

ben t o v á b b r a is az X M L á l l o m á n y t szolgáltatjuk, c s a k l é p c s ő s stíluslappal „sminkelve".

Ennél a z o n b a n j ó v a l t ö b b r e v a n s z ü k s é g , o l y a n s t í l u s l a p r a , amely t r a n s z f o r m á c i ó r a is k é p e s . E n ­ n e k f é n y é b e n született meg az eXtensible Stylesheet Language (XSL) specifikáció, a m e l y a z X M L d o k u m e n t u m o k stílusleírására v a l ó i s m e r t n y o m d a i l e í r ó n y e l v e k k é p e s s é g e i t a d t a a z X M L - nek. V é g ü l az e g é s z e t az eXtensible Stylesheet Language Transformations (XSLT)2 X S L - b ö v í t é s tette k e r e k k é . A z X S L T - v e l bővített s t í l u s l a p o k m e g t u d j á k m o n d a n i , h o g y a n alakuljon át a t a r t a l m a t m a g á b a n f o g l a l ó X M L d o k u m e n t u m o l y a n f o r m á ­ t u m ú v á - X M L , ( X ) H T M L , P D F , W M L stb. - , a m e l y b ö n g é s z ő - v a g y m á s p r o g r a m o k k a l s z o l g á l t a t h a t ó . A t o v á b b l é p é s l e h e t ő s é g e

Sikerült tehát a tartalmat elválasztani a f o r m á t ó l - a m e g o l d á s r e n d e l k e z é s r e áll, kérdés, hogy m e n n y i r e alkalmazható. Az ilyen új dolgok j e l e n t ő s e g e t e r m é ­ s z e t e s e n m i n d a d d i g teoretikus, a m í g a t e c h n o l ó g i á ­ kat n e m lehet a gyakorlatban is k i h a s z n á l n i . A s z a k m a b e l i e k tudják, hogy X M L e l e m z ő k m á r „ r é g ­ óta" léteznek, d e ezeket csak m a n a p s á g kezdik e g y r e s z é l e s e b b körben használni. Körülbelül 4 - 5 é v e fejlesztenek X S L T stíluslap-feldolgozókat - X e r c e s , X S L T p r o c , S a x o n , Xalan stb. - és o l y a n X S L - k o n v e r t e r e k e t , amik XSL-lel formázott d o k u ­ m e n t u m o k a t a m á r említett megjelenítési f o r m á t u ­ m o k k á k é p e s e k átalakítani. Az X M L A p a c h e projekt t ö b b ilyen szoftvert kapott m e g a fejlesztőktől t o v á b ­ bi nyílt f o r r á s k ó d ú fejlesztésre, d e e z e k e d d i g n e m kavartak n a g y o b b v i h a r t - e g é s z e n m o s t a n á i g . . .

Az Apache C o c o o n

1

A z e d d i g i m u n k á r a a C o c o o n P H P - s v á l t o z a t a , a Popoon projekt t e t t e fel a k o r o n á t , mert a z e l k é ­ szített s z o f t v e r e l e m e k e t e g y s é g e s k e r e t r e n d s z e r b e foglalta, l e h e t ő v é t é v e , hogy teljes h o n l a p o k é p ü l ­ j e n e k X M L - X S L t r a n s z f o r m á c i ó k r a . A z ilyen w e b ­ o l d a l a k p e d i g n a g y o n j ó k é p e s s é g e k k e l r e n d e l k e z ­ nek, és r á a d á s u l W 3 C a j á n l á s o k o n a l a p u l n a k . M i n d e n e k e l ő t t a stílus é s a t a r t a l o m t e l j e s e n s z e ­ parált, a m i azt j e l e n t i , h o g y a k á r n a p o n t a á t a l a k u l ­ h a t n a k , és t e l j e s e n új k e r e t b e n j e l e n í t h e t i k m e g az i n f o r m á c i ó k a t , d o k u m e n t u m o k a t . U g y a n a k k o r a t a r t a l o m k é s z í t ő i n e k a d o l g a n a g y b a n l e e g y s z e r ű ­ södik, m e r t a w e b e s t a r t a l o m l e í r ó n y e l v e k „primiti­

v i z m u s a i é s korlátai" t á v o l k e r ü l n e k tőlük.

A z o l y a n m e g j e l e n í t é s i f o r m á t u m o k , m i n t pl. a ( z ) ( X ) H T M L , P D F m á s a s p e k t u s b a kerülnek, m e r t X S L T s t í l u s l a p o k k a l u g y a n a z t az X M L d o k u m e n ­ t u m o t e g é s z e n k ö n n y e d é n t e l j e s e n m á s f o r m á -

(3)

t u m m á lehet alakítani. B i z o n y o s s z e m p o n t b ó l m é g a b ö n g é s z ő p r o g r a m o k v e r s e n y e is j e l e n t é k t e l e n n é válik, hiszen a m e g j e l e n í t é s é r t felelős a k l i e n s o l d a ­ lon t e l j e s e n e l e g e n d ő , a publikáló k e r e t r e n d s z e r ( C o c o o n ) v e s z i át a f o r m á z á s s a l és a stílus k e z e ­ lésével k a p c s o l a t o s t e e n d ő k e t . V é g ü l , d e n e m u t o l s ó s o r b a n a t e c h n o l ó g i a s z a b v á n y o k r a é p ü l , k ö v e t k e z é s k é p p e n n e m kell a g y á r t ó f ü g g ő f o r m á ­ t u m o k a t m e g t a n u l n i .

K ö z é p p o n t b a n a C o c o o n

E z u t á n a m e g l e h e t ő s e n h o s s z ú r a nyúlt, á m ko­

r á n t s e m f e l e s l e g e s b e v e z e t ő után t e g y ü k fel v é g r e a kérdést: Mi is v a l ó j á b a n a C o c o o n ? Nos, n e m m á s , mint e g y s z a b a d f o r r á s ú , J a v a a l a p ú , az A p a c h e - b a é p ü l ő X M L publikáló t a r t a l o m s z o l g á l t a ­ tási keretrendszer.

A Cocoon projekt 1 9 9 8 - b a n indult, u g y a n i s egy Stefano Mazzocchi nevü o l a s z d i á k o t n a g y o n z a ­ v a r t á k a H T M L korlátai az A p a c h e h o n l a p j á n a k átalakítása s o r á n . E l h a t á r o z t a , hogy X M L és X S L a l a p o k o n e g y új szoftvert hoz létre, m e l y b e n e l k ü ­ löníti a h o n l a p k é s z í t é s e g y e s részeit (tartalom, f o r m a , logika és site-a re hitektúra), h o g y a z o k k ü ­ l ö n b ö z ő s z e m é l y e k által e g y m á s t ó l f ü g g e t l e n ü l is f e j l e s z t h e t ő k l e g y e n e k 5 A C o c o o n fejlesztői c s a p a ­ t á b a n m e g k ö z e l í t ő l e g n y o l c a n v a n n a k . E z e k a fejlesztők az új k ó d o k h e l y e s s é g é t ellenőrzik, és a m e n n y i b e n s z ü k s é g v a n rá, a f o r r á s á n is változ­

tatnak. N é h á n y „ k ü l s ő " p r o g r a m o z ó is t á m o g a t j a a projektet, m é g p e d i g az új k o m p o n e n s e k e l l e n ő r z é ­ sével vagy h i b a k e r e s é s s e l . A z igy létrejött a l k a l ­ m a z á s l e g f o n t o s a b b t u l a j d o n s á g a , hogy k é p e s e g y ü t t m ű k ö d n i a m e g l é v ő J 2 E E m e g o l d á s o k k a l , H T M L , W M L , P D F , S V G , R T F k i m e n e t e t t u d p r o ­ d u k á l n i , é s n e m u t o l s ó s o r b a n t e l j e s e n i n g y e n e s t e c h n o l ó g i á k r a épül. A z pedig már c s a k h a b a tor­

tán, hogy a C o c o o n r a e g y L e n y a nevü C M S r e n d ­ s z e r t is felépítettek, X i n d i c e X M L a d a t b á z i s - k e z e l ö t t a r t a l m a z , beépített k e r e s ő k é n t pedig a L u c e n e - t használja.

A z architektúra logikai e l h e l y e z k e d é s é n e k m e g é r ­ t é s é t e l ő s e g í t e n d ő , az 1. ábra a z t illusztrálja, h o g y a r e n d s z e r m i k é n t fér h o z z á az a d a t o k h o z eltérő r e n d s z e r e k b ő l , majd h o g y a n „ m o s s a ö s s z e " ő k e t a k ü l ö n b ö z ő f o r m á t u m o k b a n történő kliensoldali szolgáltatás c é l j á b ó l .

A r e n d s z e r m ű k ö d ( t e t ) é s é n e k logikája

A C o c o o n r e n d s z e r r e l a f e l d o l g o z a n d ó X M L d o k u ­ m e n t u m o k a t , a rajtuk v é g r e h a j t o t t t r a n s z f o r m á c i ó -

5 1 2

Bíró Sz : Van új a nap alatt...

kat lehet m e g h a t á r o z n i , végül a f e l h a s z n á l ó k s z á ­ m á r a a kívánt f o r m á t u m b a n megjeleníteni A szoft­

ver arra is l e h e t ő s é g e t a d , hogy az X M L fájlok m a g u k is t a r t a l m a z h a s s á k a f e l d o l g o z á s a l g o r i t m u ­ sát, m e l y n e k k ö v e t k e z t é b e n d i n a m i k u s a n g e n e r á l ­ h a t ó v á válnak.

E I s i

PC Wo'Ksuaon Mot>« Phone

1. ábra A C o c o o n alapú, „hármas k ö t é s ű "

architektúra

M i n d e n C o c o o n o n a l a p u l ó w e b e s a l k a l m a z á s h á ­ r o m fő f e l a d a t c s o p o r t b ó l áll:

• az a d a t t a r t a l o m r ó l való g o n d o s k o d á s ;

• a m ű k ö d é s i logika m e g v a l ó s í t á s a , k a r b a n t a r t á s a ;

• a m e g j e l e n í t é s m e g v a l ó s í t á s a , k a r b a n t a r t á s a . Amellett, hogy kizárólag e m e f e l a d a t c s o p o r t o k s z é t v á l a s z t á s á v a l biztosítható a s z o l g á l t a t a n d ó h o n l a p v a g y w e b e s a l k a l m a z á s stabilitása, n a p r a ­ k é s z e n t a r t á s a és e r ő f o r r á s i g é n y é n e k m i n i m a l i z á ­ lása, e g y é r t e l m ű e n k ö r v o n a l a z ó d i k az is, hogy a m ű k ö d t e t é s s o r á n s z é t v á l n a k a t a r t a l o m é r t é s a f o r m á é r t felelős k o m p e t e n c i á k . S z á m u n k r a p e d i g ez az e g y i k l e g f o n t o s a b b t é n y e z ő , u g y a n i s e z z e l a m ó d s z e r r e l v é g r e e l é r h e t ő , hogy a „ t a r t a l o m g y á r t ó "

s z e m é l y kizárólag a tartalmi részekért, a d e s i g n e r pedig a m e g j e l e n é s é é r t feleljen.

A „ h a g y o m á n y o s " w e b f e j l e s z t ö e s z k ö z ö k - P H P , A S P - a l k a l m a z á s a k o r a m e g j e l e n í t é s (arculat) é s a m ű k ö d é s i logika s z o r o s a n ö s s z e f o n ó d i k , e l s ő ­ s o r b a n a nyelvi k ó d o k k e v e r e d é s e miatt. Ezáltal az a l k a l m a z á s k a r b a n t a r t á s a , a hibák j a v í t á s a n e h e ­ z e b b és k ö l t s é g e s e b b . Az arculat m e g v á l t o z t a t á s a gyakorlatilag az e g é s z a l k a l m a z á s újraírását k ö v e ­ teli m e g .

(4)

TMT 52. évf. 2 0 0 5 . 1 1 - 1 2 . sz.

1. táblázat

Feladatcsoportok szétválasztása C o c o o n esetén

Fejlesztő Rendszergazda Tervező Szerkesztő

A fejleszlök valósítják meg a működési logikái, és a webes alkalmazás mögött húzódó objektum modellt

Nem a weboldalak kinézetével, és nem is a képernyőn olvasható szöveggel van dolguk, hanem az alkalmazás funkcionalitásával

Kapcsolódó Cocoon- komponens: actions

A rendszergazda a felelős a webszerver által kiszolgált URI tér kiosztásáért: az URL-nek a megfelelő feldolgozási folya­

matdefinícióval való megfe­

leltetéséért

Dedikált rendszergazda hiányában egy fejlesztőnek kell ezt a szerepkört ellátnia

Kapcsolódó Cocoon- komponens: sitemap

A tervezők felelősek a honlap végső formájának kidolgozásáért

A tervezők készílik a grafikákat és a HTML kódot

Kapcsolódó Cocoon- komponens: transformers

A szerkesztők felelősek a képernyőn meg­

jelenő szöveg tartalmáért, és részben a szerkezetéért

Általában ők használják fel a fejlesztők által elkészített eszközöket, és állítják elő azt az XML (ártalmat, amelyből a transzformációk végén megjelenik az eredmény

Kisebb webes alkalmazások esetén gyakran a fejlesztő látja el ezt a szerepkört is

Kapcsolódó Cocoon-komponens: generátora

A C o c o o n e l ő s e g í t i e z e k n e k a f e l a d a t c s o p o r t o k n a k a s z é t v á l a s z t á s á t a z á l t a l , hogy a w e b r e kerülő a l k a l m a z á s f e j l e s z t é s é b e n k ö z r e m ű k ö d ő s z e r e p l ö k a r e n d s z e r e n belül c s a k e g y - e g y k o m p o n e n s s e l t a l á l k o z n a k . Ideális e s e t b e n a z 1. táblázat szerinti a m u n k a m e g o s z t á s - p e r s z e kellő i n d o k k a l ö s s z e ­ v o n á s o k a l k a l m a z h a t ó k .

A t á b l á z a t b a n m e g n e v e z e t t s z e r e p k ö r ö k k a p c s o l a ­ tát a 2. ábra s z e m l é l t e t i .

Menedzsment

/ I \

Logika Tartalom Stílus

Logika Tartalom Stílus

2. ábra A f e l a d a t c s o p o r t o k közti s z e r e p k ö r ö k kapcsolata a C o c o o n b a n

C o c o o n a N e u m a n n - h á z b a n

A digitális k ö n y v t á r új h o n l a p j á n a k t e r v e z é s e k ö z ­ b e n m á r e l ő r e k ö r v o n a l a z ó d o t t , hogy a h a g y o m á ­ n y o s m ó d s z e r e k k e l h a t a l m a s m u n k á t i g é n y e l a site e l k é s z í t é s e . T e h á t v a l a m i o l y a n m e g o l d á s t kellett találni, a m i v e l - h a n e m is feltétlenül g y o r s a b b a n , d e - é s s z e r ű b b é s i d ö t á l l ó b b a l k a l m a z á s h o z h a t ó létre. F i g y e l e m b e v é v e , hogy az i n t é z m é n y irodal­

mi m ü v e k w e b e s p u b l i k á l á s á r a m á r h é t é v e S G M L / X M L és t r a n s z f o r m á c i ó s s t í l u s l a p - t e c h n o l ó g i á k a t a l k a l m a z , e g y é r t e l m ű e n j ó d ö n t é s n e k b i z o n y u l t az e m l í t e t t n y e l v e k e t u g y a n c s a k h a s z n á l ó C o c o o n X M L p u b l i k á l ó k e r e t r e n d s z e r b e v e t é s e .

K é z e n f e k v ő volt a z is, h o g y az X M L t e c h n o l ó g i á r a v a l ó áttérés s o r á n b e f e k t e t e t t m u n k a a h o n l a p ü z e m e l t e t é s e , k a r b a n t a r t á s a s o r á n térül m e g . R á ­ a d á s u l az e g y s z e r ű b b k e z e l h e t ő s é g e n felül a z X M L o l y a n t ö b b l e t l e h e t ő s é g e k e t is nyújt, m i n t a k l i e n s e s z k ö z m e g j e l e n í t é s i k é p e s s é g e i h e z v a l ó j o b b a l k a l m a z k o d ó k é p e s s é g , pl. a h o n l a p W A P f e l ü l e t ű m e g j e l e n í t é s e .

A C o c o o n r e n d s z e r r e l szállított é p í t ő e l e m e k e l é g r u g a l m a s a k a h h o z , h o g y e z e k n e k az e l e m e k n e k a h a s z n á l a t á v a l , p r o g r a m o z á s i m u n k a nélkül is m e g ­ o l d h a t ó l e g y e n a w e b f e j l e s z t é s i f e l a d a t o k t ú l n y o m ó r é s z e E z e n t ú l m e n ő e n a b o n y o l u l t a b b a l k a l m a z á ­ s o k n á l a m e n e t k ö z b e n J a v a k ó d r a f o r d u l ó , X M L s z i n t a k t i k á j ú X S P nyelvet l e h e t a l k a l m a z n i , s ő t a m e g l é v ő k m e l l é s a j á t é p í t ő e l e m e k e t is l e h e t fej­

leszteni. M i n d e h h e z b ő s é g e s p é l d a a n y a g és d o ­ k u m e n t á c i ó áll r e n d e l k e z é s r e , v a l a m i n t - l e g j o b b p é l d a k é n t - m a g a a C o c o o n f o r r á s k ó d .

A m e g v a l ó s í t á s b a n a l k a l m a z o t t a l k o t ó e l e m e k a 3. ébrén láthatók.

A z e l s ő látásra b o n y o l u l t n a k t ű n ő á b r a v a l ó j á b a n n a g y o n k ö n n y e n m e g f e j t h e t ő . A f e l s ő s z i n t e n a f e l d o l g o z ó k ö r n y e z e t ( s e r v l e t e n g i n e ) l á t h a t ó , m e l y n e k k o n f i g u r á l á s á t a w e b . x m l á l l o m á n y b a n l e h e t e l v é g e z n i . A l a t t a a C o c o o n F r a m e w o r k é s a h o z z á k a p c s o l ó d ó s i t e m a p . x m a p , a m e l y a r e n d ­ s z e r m ű k ö d é s é t definiálja. E z e k e t p e d i g a z á l t a l á ­ n o s és saját f e j l e s z t é s ű C o c o o n - k o m p o n e n s e k (az 1, t á b l á z a t b a n látható f e l a d a t c s o p o r t o k s z é t v á l a s z ­ t á s a is r é s z b e n e z e k a l a p j á n történt) követik.

(5)

Bíró Sz.: Van új a nap a l a t t .

Operating E n v i r o n m e n t (Servlet Engine) Config urat ion web.xmi

C o c o o n Framework Config uration

Silemap xmap

Cocoon Components - Generators - Transformers - Serializers - etc.

C o m p o n e n t s Standard Components - XML Parser - XSLT Processor - etc.

Custom Components

A v a l o n

L o g g i n g Config uration

logkit.xconf A v a l o n C o m p o n e n t Management Config uration cocoon. xconf

3. ábra Az új Neumann-ház h o n lapkészítése s o r á n alkalmazott C o c o o n - k o m p o n e n s e k M i n d e g y i k k e l nincs l e h e t ő s é g ü n k f o g l a l k o z n i , d e

n é h á n y e g y s z e r ű f o r r á s k ó d d a l t á m o g a t o t t p é l d á n k e r e s z t ü l é r d e m e s egy pillantást v e t n i a k e r e t r e n d ­ s z e r m ű k ö d é s é r e .

A sitemap

A s i t e m a p a C o c o o n s z i v e . T u l a j d o n k é p p e n ez h a t á r o z z a m e g a z e g é s z r e n d s z e r m ű k ö d é s é t , v i s e l k e d é s é t - e z e n áll vagy bukik m i n d e n . H a jól v a n beállítva, a k k o r a k i m e n e t i á l l o m á n y b a n m e g ­ j e l e n n e k a k é p e k , m ű k ö d i k a külső C S S , h a s z n á l ­ h a t u n k s c r i p t e k e t stb. A s i t e m a p az 1. forráskód szerinti globális s t r u k t ú r á t követi.

<map:sitemap xmlns:map-'http://xml.apache.org/

cocoon/sitemap/1,0">

<map:components/>

<map:views/>

<map:resources/>

<map:action-sets/>

<map:pipelines/>

</map:sitemap>

1. forráskód A globális s i t e m a p struktúra A m a p n é v t é r m i n d e n e g y e s r é s z é n e k m e g v a n a m a g a f u n k c i ó j a , á m e g y s z e r ű b b a l k a l m a z á s o k e s e t é n a p i p e l i n e s h a s z n á l a t a e l e g e n d ő . N é z z ü n k e g y n a g y o n e g y s z e r ű példát, a m e l l y e l a l e g t ö b b p r o g r a m o z á s i n y e l v k ö n y v indítani szokott. A „Hello W o r l d " s z ö v e g e t t a r t a l m a z ó X M L fájlból a C o c o o n s e g í t s é g é v e l írassuk ki egy kliensoldali b ö n g é s z ő ­ be az e m l í t e t t ü z e n e t e t .

<?xml version="1.0"?>

<dokumentum>

<szoveg>Hello World </szoveg>

</dokumentum>

2. forráskód A helloworld.xml állomány tartalma A h h o z , h o g y e b b ő l H T M L k i m e n e t l e g y e n , k é s z í t e ­ ni kell e g y stylesheetet, a m e l y n e k s e g í t s é g é v e l a C o c o o n e l v é g e z h e t i a t r a n s z f o r m á c i ó t (3. forrás­

kód).

<7xm\

version="1.0" encoding="utf-8"?>

<xsl :stylesheet

xmlns:xsl="http://www.w3.org/1999/XSL/Transform'' version="1.0">

<xsl;outputindent="yes"

method-'html"

encoding="utf-8"

doctype-public="-//W3C//DTD HTML 4.01 T ra n sitío na I//E N"

doctype-system-'http://www. w3.org/TR/html4/

loose.dtd"/>

<xsl:templatematch="dokumentum">

<html>

<head>

<ti tl e> <xsl: va I u e - of sel ect=" szo veg 7 > </titl e>

</head>

<body>

<h1><xsl:value-of select="szoveg'7></h1 >

</body>

</html>

</xsl:template>

</xsl:stylesheet>

A z X M L fájl f e l é p í t é s é t a 2. forráskód mutatja. 3. forráskód A helloworld2html.xsl állomány tartalma

5 1 4

(6)

TMT 52. évf. 2005. 1 1 - 1 2 . sz.

Request Response

Request Processing Pipeline inside Cocoon

4. ábra A kérést f e l d o l g o z ó pipeline felépítése A k ó d n e m tesz m á s t , m i n t s a b l o n t definiál a

d o k u m e n t e l e m r e , a m e l y n e k t a r t a l m á t H T M L v á z ­ ba h e l y e z i . A z X M L á l l o m á n y szöveg e l e m é n e k t a r t a l m a <h1> e l e m e k k ö z ö t t íródik ki a b ö n g é s z ő ­ b e n . V é g ü l nincs m á s h á t r a , m i n t a s i t e m a p b e n beállítani, h o g y mi is t ö r t é n j e n (4. forráskód).

<map:pipeline>

<map:match pattern="he!loworld">

<map:generate src="helloworld.xml7>

<map:transform src="helloworld2html.xsr7>

<map:serialize/>

</map:match>

</map:pipeline>

4. forráskód A sitemap xmap állomány tartalma

b e n igazuk v a n , á m e g y k o m p l e x , w e b p o r t á l s z e r - k e z e t h e z h a s o n l ó f e l é p í t é s ű h o n l a p e s e t é b e n - a m i l y e n a 6. ábrán látható új N e u m a n n - h á z site n y i t ó l a p j á n s z e r e p e l - , m i n d e z m á r n e m j e l e n t h e t ő ki ilyen e g y é r t e l m ű e n .

H e l l o W o r l d

A pipeline m e g m o n d j a a C o c o o n n a k , hogy a k i m e ­ neti á l l o m á n y h e l l o w o r l d n é v e n s z e r e p e l j e n a z U R L - b e n , a h e l l o w o r l d xml-t h a s z n á l j a f o r r á s k é n t , a t r a n s z f o r m á c i ó t p e d i g a h e l l o w o r l d 2 h t m l . x s l s e g í t s é g é v e l v é g e z z e el. Egy á l l o m á n y o n t ö b b á t a l a k í t á s is e l v é g e z h e t ő , ilyenkor m i n d e n e g y e s t r a n s z f o r m á c i ó é r t f e l e l ő s stíluslapot k ü l ö n

< m a p : t r a n s f o r m s r c = " * . x s l " / > - b e kell e l h e l y e z n i . A pipeline m ű k ö d é s é t és a f e l d o l g o z á s i f o l y a m a t o t a 4. ábrán szemléltetjük.

A b ö n g é s z ő b e n látható k i m e n e t pedig a v á r t e r e d ­ m é n y t h o z t a (5. ábra).

A kicsit h o z z á é r t ő b b e k r ö g t ö n m o n d h a t j á k , hogy a látottakat s z á m o s m á s úton u g y a n í g y el lehetett v o l n a é r n i , é s m é g s i t e m a p s e m kell h o z z á . R é s z -

5. ábra A HTML kimenet Mozilla 1.7.5-ben A 6. á b r á n k i t ű n ő e n látszik, h o g y a k e z d ő l a p 3 h a s á b o s s z e r k e z e t ű : m i n d e g y i k t a r t a l m a e g y - e g y X M L á l l o m á n y b a n v a n t á r o l v a - e z e k H T M L t r a n s z f o r m á c i ó j á t X S L T v é g z i . A bal oldali m e n ü s o r é s a k ö z é p e n e l h e l y e z k e d ő k i e m e l t s z o l g á l t a t á s o k e s e t é b e n saját t e r v e z é s ű X M L j e l ö l é s t h a s z n á l ­ tunk, u g y a n a k k o r a j o b b o l d a l o n látható ú j d o n s á ­ g o k n á l az R S S7 s z a b v á n y X M L S c h e m á j á t v e t t ü k a l a p u l a t a r t a l m a k k ó d o l á s a k o r . A z oldal t e t e j é n e l h e l y e z k e d ő f e j r é s z é s „lábléc" t a r t a l m a t r a n s z ­ f o r m á c i ó s b ő v í t h e t ő s t í l u s l a p á l l o m á n y b a n t á r o l ó ­ dik, és a b b ó l alakul át H T M L - l é , a létrejött o l d a l ­ s z e l e t e k e t pedig a C o c o o n c i n c l u d e k o m p o n e n s e o l v a s z t j a e g y s é g e s , b ö n g é s z ő b e n m e g j e l e n í t h e t ő k i m e n e t i á l l o m á n n y á .

(7)

Bíró Sz.; Van új a nap alatt..

: Ü M M M l f a " - D*** Pn+ M i n 2

"3 o * [sr

ro Ml* IMifepM i - ..un, »mnl + d ,.Í ^ I •. k**ywiM'*l

" . . „ „ k i .1

... I- .1 .1- Mi Huh h. fiti-ift—

PiHhAfWii iÉ|rip»nv»SDi<

i-i •• ilit - H<ha Uattral i i •• i. i—i dvku m rrri umok

>U(HU>l»t

^••d taJliHfi

H Ü III r4.pl

• n

H i h l i n r h p f - i l l u n g i n r a liiTt»m.>rian*

[ i i £ i i a l » :•. . 1 . . : ,. ,! -í.r:. .

í E

Vúmuh* Di-jfilm LörfL-neN M ű f ű i n

K a l a i u I ulllil • U T i u l í v L . I . L U I L I »

iM»hn.*t*.i k^.povl Kit

• Üjffefttáf

r*,IHt, „M-*T*v»t i*li::•xtflH3••. u i-iT*r-rpi*ií

ii'- ni i' Fajért M-Moltoki-M • N J I . H . KH'Lírrwc 17 »'k,inyjrUiiÁ7Win

i ' W M t * m i t " »•

- i j l í í j l H í — l l í " f tt V í P'tJIJITl tl^'^llj

EJ * 6. ábra A Neumann-ház nyitólap szerkezeti felépítése Deer Park A l p h a 2-ben

K ü l ö n e m l í t é s r e m é l t ó , hogy a site aloldalainak X M L k ó d o l á s a s o r á n a T E I8 P 4 X M L a l a p ú D T D - j é t hívtuk s e g í t s é g ü l - e n n e k e r e d m é n y e k é n t tartal­

maink n e m c s a k X M L a l a p ú a k , h a n e m n e m z e t k ö z i ­ leg is elismert, e g y s é g e s j e l ö l é s r e n d s z e r t követ­

nek. A T E I alapú j e l ö l é s s o r á n a l k a l m a z o t t fejlécet pedig - amely e g y é b k é n t a f e l d o l g o z o t t d o k u m e n ­ t u m leírására szolgál - a H T M L o u t p u t < h e a d >

r é s z é n e k a l a p D C m e t a a d a t a i v a l való feltöltéséhez v e t t ü k i g é n y b e .

A C o c o o n é s az X M L t e c h n o l ó g i a a l k a l m a z á s á n a k e l ő n y e i t bizonyítja az is, hogy u g y a n a b b ó l a tárolá­

si f o r m á t u m b a n rögzített t a r t a l o m b ó l egy másik s t y l e s h e e t s e g í t s é g é v e l k ö n n y e d é n előállítható a h o n l a p v a k o k é s g y e n g é n látók s z á m á r a is h a s z ­ n á l h a t ó felülete (7. ábra).

Továbbfejlesztési lehetőségek

A z X M L t e c h n o l ó g i a é s a C o c o o n b e v e z e t é s é v e l az e l ő b b i e k b e n v á z o l t projekt célkitűzésein t ú l m e ­ n ő e n s z á m o s új s z o l g á l t a t á s r a nyílik t e c h n i k a i le­

h e t ő s é g . R ö v i d e n áttekintjük a z új l e h e t ő s é g e k e t ,

a m e l y e k k e l a j ö v ő b e n b ő v í t e n i lehet a N e u m a n n - ház honlapját.

Mobil s z o l g á l t a t á s

A kliensoldali b ö n g é s z ő (user a g e n t ) k é p e s s é g e i ­ nek l e k é r d e z é s é v e l a C o c o o n l e h e t ő s é g e t a d az X M L f o r m á b a n tárolt t a r t a l m a k n a k a f e l h a s z n á l ó igényei szerinti f o r m á t u m r a k o n v e r t á l á s á r a . így u g y a n a z a t a r t a l o m m e g j e l e n í t h e t ő asztali s z á m í ­ t ó g é p e n é s m o b i l t e l e f o n o n e g y a r á n t . E n n e k a l e h e ­ t ő s é g n e k például az ú j d o n s á g o k , hírlevelek c é l b a j u t t a t á s a s z e m p o n t j á b ó l lehet nagy j e l e n t ő s é g e , d e

igényt tarthat a z o k n a k a f e l h a s z n á l ó k n a k az é r d e k ­ l ő d é s é r e is, akik a s z a k i r o d a l o m i , o k t a t á s i a n y a ­ g o k b a n s z e r e t n é n e k v a l a m i n e k u t á n a n é z n i , v a l a ­ mit m e g k e r e s n i .

R e g i s z t r á c i ó h o z kötött s z o l g á l t a t á s o k

A C o c o o n hitelesítő k o m p o n e n s e l e h e t ő v é t e s z i , hogy csak a m e g f e l e l ő j o g o s u l t s á g g a l b e j e l e n t k e ­ ző, regisztrált f e l h a s z n á l ó k f é r h e s s e n e k h o z z á a védett i n f o r m á c i ó k h o z . A regisztráció lehet i n g y e -

5 1 6

(8)

TMT 52. évf. 2005. 1 1 - 1 2 . sz.

Neumann-tia? l - D w Park Alpha 2

Neumann János Digitális Könyvtár

Keresés

Újdonság

05.08.21, Bánk eszi Katalin: A Neumann-hír irodaFrni

05.08.22. K le ü r í t é s a CD-FÖM diszkó grifláhor 05.08.1B. József Attila

v k ^ k ö l r o z ö t t a?

internetre 03.08.14. Pl port Bánké g i

h nlftlinrifll í r Aranyrüstben 03,08.10. Kultúrharc az

e-konyv-világban

WebKaUm

Magyar Internéi katalógus

Biblintheca Hungaaica Interneliana Magyar Szövegtár

Digitális Irodalmi Akadémia Kortárs magyar irodalom

Olvasni io!

Gyermeki ro d al o m

Virtuális Diafilm-tfineneti Múzeum DUflbMlí.

Keppk a m a g y a r irodalambnl Képek és diafilmek

Balassi Balint virtuális kiállítás Versek, versien/ételek, éne Kort versek

Nyitólap Magyar CD-ROM disikoerátia CD-ROM kiadványaWt Tanulmányok a dieitjiHt könyvtárról

Uhunkról

Kü htetesnyi [jtkozaf Névadónk, Neumann János Bc=id mólók

tevckanyseeünk föl Munkatársaink ElőadnsAink, fotó.itbum Publikációk, sajtóanyagok Educatto - onüno folyóirat TuvJarnánytortóriflH dokumentumok

Kapcsolat Vendégkönyv Hirlewíi Támogat ók Honlaptérkéc

English version Tor The BHnd | E-mall | W3C CSS

© 1 9 9 8 - 2 0 0 5 N e u m a n n János Digitális K ö n y v t á r és Multimédia K ö z p o n t K h t . < N e u m a n n - h d z )

"3 o * fcT

L l

7 ábra A Neumann-ház nyitólapja - vakok és gyengén látók számára készített felület szerkezeti felépítése Deer Park A l p h a 2-ben

nes, d e t ö r t é n h e t díjfizetési k ö t e l e z e t t s é g mellett is.

A f e l h a s z n á l ó i a z o n o s í t ó a d a t o k a t a C o c o o n fájl­

ból, a d a t b á z i s b ó l v a g y s z á m o s e g y é b a d a t f o r r á s ­ ból, pl. az L D A P9 kiszolgálótól l e k é r d e z v e ellenőrzi.

A s i k e r e s b e j e l e n t k e z é s után a C o c o o n s e s s i o n - k e z e l ö k o m p o n e n s e biztosítja, hogy m i n d e n a z o ­ nosított f e l h a s z n á l ó k i z á r ó l a g a saját t r a n z a k c i ó i v a l k a p c s o l a t o s k o m m u n i k á c i ó t v é g e z h e s s e .

S z i n d i k á l á s

A C o c o o n szindikálási f u n k c i ó j a t ö b b - a k á r külső - kiszolgálótól bekért X M L 7 X H T M L / H T M L t a r t a l o m k ö z ö s f e l ü l e t e n , e g y e t l e n o l d a l o n v a l ó m e g j e l e n í t é ­ s é t j e l e n t i , így ö s s z e f ü g g é s e i b e n m u t a t h a t ó k be az a d a t o k : ö s s z e h a s o n l í t h a t ó k , ö s s z e r e n d e z h e t e k . H í r c s a t o r n á k

K ü l s ő hírszolgáltatók X M L f o r m á t u m b a n - például az R S S s z a b v á n y szerint - szolgáltatott online híreit a C o c o o n f o g a d j a , é s a h o n l a p hírblokkjába

integrálva m e g j e l e n í t h e t i . S a j á t h í r c s a t o r n á t is le­

het i n d í t a n i ,1 0 a m e l y r e m á s s z o l g á l t a t ó k f e l h a s z ­ n á l h a t n a k , p u b l i k á l h a t n a k .

Porta I s z o l g á Itatások

A C o c o o n beépített portál k o m p o n e n s s e l r e n d e l ­ kezik, a m e l y integrálja é s kibővíti a t ö b b i C o c o o n - f u n k c i ó t (hitelesítés, s z i n d i k á l á s s t b ). A portálra b e j e l e n t k e z e t t f e l h a s z n á l ó k é r d e k l ő d é s i k ö r ü k n e k m e g f e l e l ő e n a l a k í t h a t j á k ki a s z e m é l y e s p o r t á l f e l ü ­ letet: e g y e s e l e m e k e t k i k a p c s o l h a t n a k , e l r e j t h e t ­ nek, m i n i m a l i z á l h a t n a k . A h a g y o m á n y o s m e n ü s o l d a l s z e r k e z e t mellett a C o c o o n t á m o g a t j a a f ü l e k ­ kel (tab) való n a v i g á c i ó t is.

A d a t b á z i s h á t t é r - X i n d i c e

.Az Xindice a Cocoon rendszer része, igy külön telepítést nem igényel, a meglévő Cocoon környezetben közvetlenül használható. Valójában egy nativ XML adatbázis kezelő, vagyis közvetlenül képes XML

(9)

B í r ó S z . : V a n ú j a n a p a l a t t . .

a d a t o k a t t á r o l n i é s v i s s z a k e r e s n i . M i g a r e l á c i ó s a d a t b á z i s k e z e l ö k a z X M L a d a t o k a t c s a k k o n v e r z i ó , a d a t - o b j e k t u m m e g f e l e l t e t é s ( m a p p i n g ) s e g í t s é g é v e l t u d j á k k e z e l n i - a m i a l a z á n s t r u k t u r á l t , s z ö v e g e s X M L d o k u m e n t u m o k e s e t é n e r ő f o r r á s - i g é n y e s é s n e m h a t é k o n y - , a d d i g a n a t i v X M L a d a t b á z i s o k k ö z v e t l e n , k o n v e r z i ó n é l k ü l i X M L a d a t k e z e l é s r e a l k a l m a s a k . A z X M L fájlokat a z a d a t b á z i s b a n l o g i k a i c s o p o r t o k b a , ú n . c o l l e c t i o n - o k b a r e n d e z v e t á r o l h a t j u k , igy u g y a n a z a z a d a t b á z i s p é l d á n y t ö b b f é l e t í p u s ú é s t a r t a l m ú d o k u m e n t u m - h a l m a z t á r o l á s á r a é s v i s s z a k e r e s é s é r e h a s z n á l h a t ó . A c o l l e c t i o n - o k a z o p e r á c i ó s r e n d s z e r e k f á j l r e n d s z e r e i h e z h a s o n l ó a n h i e r a r c h i k u s r e n d s z e r t a l k o t n a k , t e t s z ő l e g e s e n e g y m á s b a á g y a z h a t o k .

A z X i n d i c e a k e r e s é s s z i n t a k t i k á j a k é n t a W 3 k o n z o r c i u m X P a t h s z a b v á n y á t h a s z n á l j a . A k e r e s é s t n e m c s a k d o k u m e n t u m o n b e l ü l , h a n e m b á r m e l y i k c o l l e c t i o n - s z i n t e n , a c o l l e c t i o n - b a t a r t o z ó ö s s z e s d o k u m e n t u m b a n e g y s z e r r e hajtja v é g r e . E r e d m é n y k é n t azt a z e l e m h a l m a z t ( n o d e s e t ) k a p j u k v i s s z a , a m e l y teljesíti a z X P a t h k e r e s é s b e n m e g h a t á r o z o t t feltételt, A k a p o t t X M L d o k u m e n t u m a z e r e d e t i d o k u m e n t u m r ó l is t a r t a l m a z a z o n o s í t ó i n f o r m á c i ó t , igy k ö n n y e n ö s s z e k a p c s o l h a t ó a m e g t a l á l t e l e m a h o z z á t a r t o z ó g a z d a d o k u m e n l u m m a l . A k e r e s é s h a t é k o n y s á g á n a k f o k o z á s á r a i n d e x e k e t lehet k é s z í t e n i a g y a k r a n h a s z n á l t k e r e s é s i s z e m p o n t o k a l a p j á n .

A z X P a t h n y e l v s e g í t s é g é v e l a d o k u m e n t u m t e t s z ő l e g e s r é s z é t ki l e h e t v á l a s z t a n i , Így a z a d a t b á z i s b a n , e g y e t l e n p é l d á n y b a n tárolt m ü b ö l p é l d á u l t ö b b f é l e i d é z e t e t lehet l e k é r d e z n i " (Szálai Attila: J e l e s n a p o k ) .

H a például e g y Juhász Gyula-versei t a r t a l m a z ó X M L á l l o m á n y t töltünk a p r ó b a n e v ü collectionbe, az első két v e r s s z a k így k é r d e z h e t ő le: http://

iocaihost:8888/samples/blocks/xmidb/db/proba/

juhaszgy?xpath =//lg[position()<3]

A l e k é r d e z é s e r e d m é n y é n e k forrása p e d i g a k ö v e t k e z ő f o r m á t ölti:

< d b : r e s u l t s q u e r y - V / l g j p o s i t i o n ( ) < 3 ] " r e s o u r c e s - ' 2 " >

< d b : r e s u l t d o c i d = " j u h a s z g y " >

<lg s r c : c o l = " / d b / p r o b a " s r c : k e y = " j u h a s z g y " >

< l > G o n d o l j el n e m m ú l ó z e n é k r e l e l k e m , < / l >

< l > S z ü z c s i l l a g o k o n f ö n n a z é g i k e r t b e n . < / l >

</lg>

< / d b : r e s u l t >

< d b : r e s u l t d o c i d = " j u h a s z g y " >

<lg s r c : c o l = 7 d b / p r o b a " s r c : k e y = ' j u h a s z g y " >

< l > É s é j s z a k á r a , m e l y n e k t ü k ö r é b e n < / l >

< l > E l s á p a d m i n d e n á r n y é k f ö l d ö n , é g e n . < / l >

< f l g >

< / d b : r e s u l t >

< / d b : r e s u l t s >

Konklúzió

A C o c o o n é s a h o z z á k a p c s o l ó d ó t e c h n o l ó g i á k á t t e k i n t é s e után felmerülhet a k é r d é s : miért j ó m i n d e z a t a r t a l o m s z o l g á l t a t ó k , k ö n y v t á r a k s z á m á ­ ra? Első látásra bonyolultnak tűnik, v i s z o n y l a g nagy s z a k é r t e l m e t igényel, és r e n g e t e g t e r ü l e t e n kell o t t h o n o s a n m o z o g n i . T e r v e z n i , k ó d o l n i , p r o g ­ r a m o z n i kell, é s emellett s z á m o s szoftver h a s z n á ­ latát k é n y t e l e n elsajátítani, aki a l k a l m a z z a . A f e l ­ adat n e m e g y s z e r ű , de kihívást jelent, h i s z e n a b ­ b a n a v i l á g b a n , a h o l piaci erők d o m i n á l n a k , á l d á s , h a r e n d e l k e z é s r e állnak o l y a n i n g y e n e s t e c h n o l ó ­ giák, a m e l y e k k e l kifogástalan m u n k á t lehet v é g e z ­ ni.

Napjaink k ö n y v t á r a i n a k - ha úgy tetszik, i n f o r m á ­ ciós k ö z p o n t j a i n a k - is m e g kell felelniük a 2 1 . s z á z a d e m b e r e által t á m a s z t o t t i g é n y e k n e k , és a z e g y r e g y o r s a b b a n változó technológiai k ö v e t e l m é ­ n y e k n e k . A m i n d e n n a p j a i n k a t b e h á l ó z ó o n l i n e k o m m u n i k á c i ó é s az e g y r e f o n t o s a b b á v á l ó digitalizáció v i l á g á b a n m i n d e n k é t s é g e t k i z á r ó a n l é n y e g e s s é válik az a d a t o k , i n f o r m á c i ó k h o r d o z h a ­ t ó s á g a . A k ü l ö n b ö z ő o p e r á c i ó s r e n d s z e r e k e t é s b ö n g é s z ő p r o g r a m o k a t a l k a l m a z ó és futtató asztali, illetve h o r d o z h a t ó s z á m í t ó g é p e k , o k o s t e l e f o n o k és P D A - k , n e m u t o l s ó s o r b a n p e d i g a z o k f e l h a s z ­ nálói e g y r e j o b b a n „ m e g k ö v e t e l i k " , hogy digitalizált és w e b e n szolgáltatott d o k u m e n t u m a i n k t ö b b f é l e f o r m á t u m b a n e l é r h e t ő v é v á l j a n a k s z á m u k r a . E n ­ nek h a t é k o n y , g y o r s és időtálló m e g v a l ó s í t á s a a z o n b a n t ö b b o k b ó l s e m e g y s z e r ű feladat, á m a C o c o o n k é t s é g k í v ü l az egyik l e g h a t é k o n y a b b út.

Mi s e m bizonyítja ezt j o b b a n , mint a z o n k é p e s s é ­ gei, a m e l y e k a k á r a „profi" f e j l e s z t ő k e t is h a m a r m e g g y ő z h e t i k . H o g y miről is v a n s z ó ?

• A d a t o k k ü l ö n b ö z ő f o r m á t u m ú r u g a l m a s p u b l i k á ­ lása.

• K ü l ö n b ö z ő a d a t f o r r á s o k integrációja.

• T a r t a l m a k s z e m é l y r e s z a b h a t ó s á g a .

• A l k a l m a z á s o k integrációja.

• P l a t f o r m f ü g g e t l e n s é g

• R u g a l m a s a r c h i t e k t ú r a .

• Nyílt f o r r á s k ó d és I N G Y E N E S S É G .

Úgy v é l e m , nyilvánvaló, h o g y m i n d e g y i k s z e m p o n t k i e m e l k e d ő e n f o n t o s , d e a k o r á n t s e m t ú l f i n a n s z i - r o z o t t s á g u k r ó l híres k ö n y v t á r a k , kulturális intéz­

m é n y e k s z á m á r a e g y é r t e l m ű e n a l e g u t ó b b i n a k v a n a l e g n a g y o b b j e l e n t ő s é g e . M o n d o m e z t e g y d i g i t á ­ lis k ö n y v t á r m u n k a t á r s a k é n t , a h o l rövid é s h o s s z ú t á v o n e g y a r á n t milliós ö s s z e g e k e t s p ó r o l t u n k m e g a z z a l , hogy új h o n l a p u n k a t a W 3 C a j á n l á s a i r a é s az A p a c h e Project C o c o o n t e r m é k é r e a l a p o z t u k .

5 1 8

(10)

TMT 52. évf. 2 0 0 5 . 1 1 - 1 2 . sz.

B e kell látnia m i n d e n k i n e k , hogy w e b e s r e n d s z e ­ r e k e t é p í t e n i e g y r e n e h e z e b b lesz, m i v e l többfajta e s z k ö z z e l és k ö r n y e z e t b ő l érik e l ő k e t a f e l h a s z n á ­ lók. M e g f e l e l ő t e c h n o l ó g i a nélkül m á r m a is n e h é z kezelni a d o l o g b o n y o l u l t s á g á t , és a helyzet e g y r e ö s s z e t e t t e b b lesz. Ideje e l k e z d e n i t a n u l n i - és m i é r t ne k e z d h e t n é n k a C o c o o n n a l ? !

J e g y z e t e k

1 A C S S o l y a n s t í l u s l a p - m e g v a l ó s í t á s , a m e l y l e h e t ő v é t e s z i , h o g y a H T M L , X H T M L , X M L á l l o m á n y o k tar­

t a l m á h o z e g y e d i s t í l u s t r e n d e l h e s s ü n k h o z z á . W 3 C a j á n l á s , a m e l y n e k j e l e n l e g két é r v é n y b e n l é v ő k i a d á ­ s a l é t e z i k . A l é p c s ő s s t í l u s l a p o k h a s z n á l a t a e g y r e n é p s z e r ű b b a p r o g r a m o z ó k k ö r é b e n - a t e c h n o l ó g i á t a t v é s m o b i l e s z k ö z ö k h a s z n á l a t á h o z is f o l y a m a t o ­

s a n f e j l e s z t i k . T o v á b b i i n f o r m á c i ó : http://www.w3.org/

TR/REC-CSS1-961217.html, http://www.w3.org/TR/

CSS21/ é s http://wwww3.org/Style/CSS/cunent- work

7 A z X S L T v a l ó j á b a n , n o h a s t í l u s l a p , s o k k a l i n k á b b t e k i n t h e t ő e g y f a j t a s a j á t o s p r o g r a m o z á s i m ó d s z e r ­ n e k , n y e l v n e k , a m e l y b e é p í t e t t v e z é r l é s i s t r u k t ú r á k a t , n y e l v i e l e m e k e t , p a r a m é t e r e k e t , v á l t o z ó k a t t a r t a l ­ m a z , c s a k é p p e n a z X M L s z a b á l y a i n a k m e g f e l e l ő e n , X M L d o k u m e n t u m k é n t l e i r v a - s z i n t é n W 3 C a j á n l á s T o v á b b i i n f o r m á c i ó : http://www.w3.org/TR/xslt é s http://www. w3. org/TR/xslt20/

3 T h e A p a c h e C o c o o n P r o j e c t . http://cocoon.

apache.org

A P o p o o n r e n d s z e r t a C o c o o n m i n t á j á r a v a l ó s í t o t t á k m e g , a z o n b a n t e l j e s e n P H P a l a p o n . K a p c s o l ó d i k h o z z á m é g a Bitflux E d i t o r , a m e l y e g y o n l i n e X M L s z e r k e s z t ő , illetve e g y t e l j e s C M S r e n d s z e r is, a Bitflux C M S . Ez a m e g o l d á s is s z a b a d f o r r á s ú . T o ­ v á b b i i n f o r m á c i ó : http://popoon.org/

5 2 0 0 1 - r e m á r 2 0 0 0 e m b e r i r a t k o z o t t fel a C o c o o n l e v e l e z ő l i s t á j á r a , é s s z á m o s n a g y c é g is t á m o g a t t a a s z o f t v e r f e j l e s z t é s é t .

6 A z X S L T k ó d a l a p j á n W 3 C k o n f o r m á l l o m á n y j ö n létre, h i s z e n D O C T Y P E is s z e r e p e l a f o r r á s b a n .

7 R e a l l y S i m p l e S y n d i c a t i o n v a g y R i c h S i t e S u m m a r y - X M L a l a p ú s z o l g á l t a t á s , w e b s i t e - o n m e g j e l e n t a k ­ t u á l i s h i r e k v a g y c i k k e k t o v á b b í t á s á r a ( c í m , s z e r z ő ,

k a t e g ó r i a , r ö v i d t a r t a l o m é s u g r ó p o n t ) . T o v á b b i in­

f o r m á c i ó : http://rss.lap.hu

8 T e x t E n c o d i n g Initiative - f o n t o s n e m z e t k ö z i p r o j e k t , a m e l y n e k f e l a d a t a i r á n y v o n a l a k k i f e j l e s z t é s e , t e r j e s z ­ t é s e a g é p p e l o l v a s h a t ó s z ö v e g e k k ó d o l á s á r a , k ö z - v e t i t h e t ő s é g é r e é s c s e r é l h e t ő s é g é r e , v a l a m i n t j a v a s ­ latok t é t e l e új s z ö v e g e k k ó d o l á s á r a . T o v á b b i infor­

m á c i ó : http://www.tei-c.org/

9 L i g h t w e i g h t D i r e c t o r y A c c e s s P r o t o c o g - k ü l ö n b ö z ő p l a t f o r m o k o n m e g v a l ó s í t o t t c i m t á r a k , a d a t t á r a k s z a b v á n y o s k ö z ö s k e z e l ő j e .

, D 2 0 0 5 s z e p t e m b e r é b e n a N e u m a n n - h á z is e l i n d í t o t t a s a j á t R S S s z o l g á l t a t á s á t .

I r o d a l o m

B A T E S , C h r i s : X M L : e l m é l e t é s g y a k o r l a t . B p . : P a n e m K i a d ó , 2 0 0 4 . 5 4 2 p. I S B N 9 6 3 5 4 5 3 9 3 0

B Í R Ó S z a b o l c s : S z ö v e g f e l d o l g o z á s X M L a l a p o k o n . B p . : N e u m a n n Kht., 2 0 0 5 . 2 0 8 p. I S B N 9 6 3 2 1 8 7 4 0 7 B R A D L E Y , N e i l : A z X M L - k é z i k ö n y v . B p . : S z a k K i a d ó ,

2 0 0 5 . 7 5 8 p.

L A N G H A M , M a t t h e w - Z I E G E L E R , C a r s t e n : C o c o o n : B u i l d i n g X M L A p p l i c a t i o n s . N e w R i d e r s P u b l i s h i n g , 2 0 0 2 . 5 0 4 p. I S B N 0 - 7 3 5 7 - 1 2 3 5 - 2

S Z Á L A I A t t i l a - N É M E T H K r i s z t i á n - B Í R Ó S z a b o l c s : A N e u m a n n - h á z h o n l a p j á n a k t o v á b b f e j l e s z t é s e : r e n d ­ s z e r t e r v . B p . : N e u m a n n Kht., 2 0 0 5 . 3 6 p. ( b e l s ő a n y a g )

S Z Á L A I A t t i l a : J e l e s n a p o k : r e n d s z e r t e r v . B p . : N e u m a n n K h t . , 2 0 0 5 . p. 1 5 - 1 6 . ( b e l s ő a n y a g )

B e é r k e z e t t : 2 0 0 5 . o k t ó b e r 1 7 - é n .

Bíró Szabolcs

a N e u m a n n J á n o s D i g i t á l i s K ö n y v t á r é s M u l t i m é d i a K ö z p o n t K h t . k ö n y v ­ t á r - i n f o r m a t i k a i o s z t á l y á n

o s z t á l y v e z e t ő - h e l y e t t e s . A B e r z s e n y e i D á n i e l F ő i s k o l a k ö n y v t á r - é s i n f o r m á c i ó t u d o m á n y i t a n s z é k é n ó r a a d ó t a n á r .

E - m a i l : biro.szabolcs@neumann-haz.hu

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

If we treat INTOSAI with its relevant stakeholders as a real network with vertices (e.g. a member of working groups, internal, external experts, professionals, colleagues at

• magyar nyelvű Microsoft Internet Explorer 5.01 magyar Windows 98 operációs rendszeren,. • magyar nyelvű Microsoft Internet Explorer 4.0 magyar Windows 98

Osciilators with quasi linear amplitude stabilization [3,4] have two main sources of distortion: the quasi linear components are not perfectly linear in practice; and the

Az áremelések miatt nyugtalan magyar társadalom érthető türelmetlenséggel figyelte a vita alakulását, egyrészt, mert a szakmai részletkérdések nem érdekel- ték,

Megideologizálni persze ezt is lehet, a legkülönfélébb történelmi, gazdasági, etnikai, politikai, jogi elvekkel és érvekkel, ám nem kell különösebb éles látás hozzá,

A TITUS fordítási rendszer szempontjából fontos szerepe volt a Chomsky féle elméletnek, amely a szintaktikai szabályok számának csökkentésével lehetővé tette a gépi

Ezzel a rendszerrel csak egyes lapok vagy vékony folyóiratok fényképezhetők, könyvek fényképezése a &#34;lépés kamerákkal&#34; történik.. Az átfutó rendszerű

Speciális berendezás csövek, rudak szegeccsel való sorjázására.. Rövidesen sor kerül az orvosi és