artykuł - Instytut Automatyki i Informatyki Stosowanej
Transkrypt
artykuł - Instytut Automatyki i Informatyki Stosowanej
Tomasz Traczyk* XML – UNIWERSALNY J=<. :<0,$1< ,NFORMACJI W E-:,(&,( XML sáX*\ GR WZRU]HQLD M ]\NyZ ]QDNRZDQLD NWyUH PRJ E\ü X*\WH GR SU]HND]\ZDQLD informacji, zwáDV]F]D Z VLHFL :HE Z VSRVyE GRü SURVW\ DOH VIRUPDOL]RZDQ\ L GRJRGQ\ do prezentacji lub dalszego przetwarzania. Referat prezentuje podstawowe poj FLD ]ZL]DQH ] M ]\NLHP ;0/ RUD] SRND]XMH GOaczego j ]\N WHQ PR*H RGHJUDü V]F]HJyOQ URO Z e-ZLHFLH 1. WPROWADZENIE Rozpowszechnienie technologii internetowych spowodowaáR SRWU]HE VWRVRZania ustandaryzowanych i powszechnie akceptowanych form przekazywania informacji. Pierwsze wáDFLZH GOD ,QWHUQHWX UR]ZL]DQLD QS +70/ F]\ 3'F) sáX* GREU]H GR SU]HND]\ZDQLD WHNVWyZ X]XSHáQLRQ\FK R HOHPHQW\ multimedialne, ale nie nadaj VL GR WUDQVIHURZDQLD LQIRUPDFML SU]H]QDF]RQ\FK GR GDlszego przetwarzania. Tymczasem jest to niezb GQH Z FRUD] OLF]QLHMV]\FK ]DVWosowaniach, zwáDV]F]D ]ZL]DQ\FK ] JRVSRGDUN HOHNWURQLF]Q - ]\N ;0/ wydaje si EDUG]R GREU]H ]DVSRNDMDü WH QRZH SRWU]HE\ L VWDMH VL ZD*Q\P URdkiem wymiany informacji w e-ZLHFLH 2. PODSTAWY XML XML (eXtensible Markup Language, [6]) sáX*\ GR WZRU]HQLD VSHFMDOL]RZDQ\FK j ]\NyZ ]QDNRZDQLD SU]H]QDF]RQ\FK GR UHSUH]HQWRwania záR*RQ\FK GRNumentów i struktur danych. Przetwarzanie informacji zapisanej w takiej postaci – ze wzgl GX QD WR *H MHVW WR SRVWDü WHNVWRZD RUD] *H ;0/ ]DSURMHNWRZDQR Z odpowiedni sposób – jest stosunkowo áDWZH L GDMH VL Z\NRQDü ]D SRPRF VWDndardowych, áDWZR GRVW SQ\FK QDU] dzi. XML jest zmodyfikowanym podzbiorem SGML, majFHJR GáXJ WUDG\FM VWDndardu ISO, sáX*FHJR GR ]DSLVX GRNXPHQWyZ WHNVWRZ\FK : VWRVXQNX GR SLHrwowzoru dokonano znaczF\FK XSURV]F]H RUD] PRG\ILNDFML XáDWZLDMF\FK przetwarzanie dokumentów XML w URGRZLVNX VLHFL :HE * Politechnika Warszawska, Instytut Automatyki i Informatyki Stosowanej O szybkim zdobyciu popularnoFL SU]H] ;0/ SU]HVG]LáR PL G]\ LQQ\PL SodobieVWZR GR M ]\ND +70/ XáDWZLáR WR ERZLHP SU]\M FLH QRZHJR VWDQGDUGX jako czego QLHPDO*H ]QDQHJR 0L G]\ W\PL M ]\NDPL V MHGQDN ]QDF]QH Uy*Qice. J ]\N +70/ MHVW ZSUDZG]LH WDN*H SRFKRGQ 6*0/ DOH QLH MHVW MHJR SRdzbiorem, lecz konkretyzacj ]DZLHUD ]DPNQL W\ ]ELyU ]QDF]QLNyZ GRVWRVRZany do swego zadania. XML jest za XQLZHUVDOQ\P QDU] G]LHP GR EXGRZ\ VSecjalizowanych j ]\NyZ QLH PD *DGQHJR SUHGHILQLRZDQHJR ]ELRUX ]QDF]Qików. Dokument XML jest plikiem tekstowym, w którym struktura informacji okreORQD MHVW ]D SRPRF ]QDF]QLNyZ tags). Znaczniki wyznaczaj SRF]WHN L Noniec fragmentów nazywanych elementami. Ka*G\ HOHPHQW PR*H PLHü SDUDPetry zwane atrybutami. Zawartoü HOHPHQWX VWDQRZL WHNVW PRJF\ WDN*H ]DZLeraü ]QDF]QLNL HOHPHQW\ PRJ ZL F E\ü ]DJQLH*G*ane. Dokument musi speáQLDü RJyOQH ]DVDG\ SRSUDZQRFL VNáDGQLRZHM QS ZV]\Vtkie elementy musz E\ü MDZQLH ]DNRF]RQH QLH PRJ VL ÄNU]\*RZDü´ LWG Taki dokument nazywa si GREU]H VIRUPXáRZDQ\P well formed) i mo*H E\ü interpretowany przez programy, np. przegldarki. JeOL MHGQDN GRNXPHQW PD E\ü GDOHM SU]HWZDU]DQ\ WR SRZLQLHQ E\ü ]JRGQ\ QLH tylko z ogólnymi zasadami XML, ale tak*H ] GHILQLFM NRQNUHWQHM VWUXNWXU\ przewidzianej dla danego typu dokumentu. Dokument poprawny w tym sensie nazywa si SUDZLGáRZ\P valid). Do definiowania takich struktur dokumentów sáX* VSHFMDOQH IRUPDOQH ]DSLV\ '7' Document Type Definition) lub schematy (XML Schema, [14]). Konstruowanie nowych struktur na podstawie ju* LVWQLHMF\FK GHILQLFML XPR*Oiwiono wprowadzajF W]Z SU]HVWU]HQLH QD]Z namespaces, [7]). Zastosowanie przestrzeni nazw pozwala na unikni FLH NRQIOLNWyZ ]QDF]QLNyZ SRFKRG]F\FK z ró*Q\FK (UyGHá Z MHGQ\P GRNXPHQFLH PR*QD X*\ü HOHPHQWyZ ] Uy*Q\FK schematów przy zachowaniu peáQHM NRQWUROL SUDZLGáRZRFL Standaryzacj M ]\ND tium (W3C), majFD tem1. ;0/ ]DMPXMH VL RUJDQL]DFMD ZLHONL DXWRU\WHW Z World Wide Web Consor]ZL]DQ\FK ] Interne- URGRZLVNDFK 3. U)<&,( '2.80(17Ï: ;0/ Najbardziej typowe sposoby u*\FLD LQIRUPDFML ]DZDUWHM Z GRNXPHQWDFK ;0/ to prezentacja lub wydruk oraz przetwarzanie za pomoc VSHFMDOL]RZDQ\FK programów. Poniewa* WH X*\FLD V SRZV]HFKQH RSUDFRZDQR ]ZL]DQH ] QLPL standardy. Zapisywanie informacji wáDQLH Z ;0/ PD ERZLHP VHQV ZWHG\ gdy mo*H RQD E\ü SU]HWZDU]DQD ]H ]QDF]Q\P Z\NRU]\VWDQLHP VWDQGDUGRZHJR oprogramowania. 1 Wa*QLHMV]H GRNXPHQW\ VWDQGDU\]XMFH ;0/ Z\PLHQLRQR Z VSLVLH OLWeratury. Dokument w XML jest zbudowany wyáF]QLH QD ]DVDG]LH ]QDNRZDQLD ]QDF]eniowego, a nie typograficznego. CaáD LQIRUPDFMD R VSRVRELH IRUPDWRZDQLD dokumentu przez przeglGDUNL PXVL E\ü ]DWHP VIRUPXáRZDQD RVREQR Z W]Z arkuszach stylistycznych (style-sheets). XSL (eXtensible Stylesheet Language [8]) jest j ]\NLHP VáX*F\P GR GHILQLowania takich arkuszy stylistycznych i skryptów do przeksztaáFDQLD GRNXPHQWyZ XML. Transformacja [10] polega na rekurencyjnym przeksztaáFDQLX GU]HZD reprezentujFHJR GRNXPHQW ZHMFLRZ\ Z GU]HZR Z\QLNRZH NWyUH PR*H E\ü zapisane jako nowy dokument (XML, HTML albo zwyká\ WHNVW OXE EH]SoUHGQLR Z\ ZLHWORQH SU]H] SU]HJOGDUN 3RQLHZD* SU]HJOGDUNL V REHFQLH zwykle przystosowane do prezentacji HTML, popularnym sposobem formatowania za pomoc ;6/ MHVW SU]HWZDU]DQLH ;0/ QD +70/ Dane zawarte w dokumentach XML musz GDü VL Z\JRGQLH SU]HWZDU]Dü Z programach. Opracowano standardy takiego przetwarzania, dla których dost pne s ± F] VWR GDUPRZH ± DQDOL]DWRU\ OHNV\NDOQH (parsery) XML, wyposa*RQH w interfejsy (API) do popularnych j ]\NyZ SURJUDPRZDQLD %XGXMF SURJUDP przetwarzajF\ GRNXPHQW\ ;0/ WU]HED ZL F MHG\QLH Z\EUDü RGSRZLHGQL GOD danego zastosowania parser i wykorzystaü JR Najbardziej znanym standardem przetwarzania jest DOM (Document Object Model, [15]). Definiuje on obiektowy model dokumentu oraz dostarcza zbioru klas i metod umo*OLZLDMF\FK PDQLSXORZDQLH GRNXPHQWDPL :DG '20 MHVW znaczna wielkoü ]DVREyZ Z\PDJDQ\FK GR UHSUH]HQWRZDQLD GX*\FK GRNumentów, zalet ± PR*OLZRü SURJUDPRZHM PRG\ILNDFML SU]HWZDU]DQ\FK GRNumentów. Innym popularnym modelem przetwarzania jest SAX (Simple API for XML). Opiera si RQ QD SURJUDPRZDQLX ]GDU]HQLRZ\P ]GDU]HQLD Z\ZRá\ZDQH V QS przez pojawienie si SRF]WNX L NRFD HOHPHQWX Z DQDOL]RZDQ\P GRNXPHQFLH Nie jest potrzebne tworzenie struktury danych reprezentujFHM FDá\ GRNXPHQW co powoduje ma áH ]X*\FLH ]DVREyZ L ]QDF]Q Z\GDMQRü :DG MHVW MHGQDN niemo*QRü PRG\ILNRZDQLD SU]HWZDU]DQ\FK GRNumentów. Istnienie DTD lub schematu pozwala wykorzystaü VWDQGDUGRZH parsery do sprawdzenia prawidáRZRFL GRNXPHQWX SU]HG MHJR GDOV]\P SU]HWZDU]DQLHP Nie jest zatem konieczne tworzenie specjalizowanych procedur sprawdzajF\FK dla ka*GHM QRZHM VWUXNWXU\ =ZáDV]F]D Z SU]\SDGNX ]DVWRVRZDQLD VFKHPDWyZ kontrola prawidáRZRFL W]Z ZDOLGDFMD MHVW FDáNLHP V]F]HJyáRZD GRW\F]\ bowiem nie tylko skáDGQL DOH WDN*H W\SyZ GDQ\FK ]DNUHVyZ ZDUWRFL SRSUDwnoFL ]ZL]NyZ UHIHUHQF\MQ\FK LWS 4. XML W E-:,(&,( XML sáX*\ URGRZLVNX SU]HGH ZV]\VWNLP GR Z\PLDQ\ ]áR* RQ\FK LQIRUPDFML ]ZáDV]F]D Z VLHFL :HE - ]\NL ]GHILQLRZDQH ]D SRPRF ;0/ PR * QD MDN VL wydaje, podzieliü ]H Z]JO GX QD UR]SRZV]HFKQLHQLH QDVW pujFR • J ]\NL SU]H]QDF]RQH GR SRZV]HFKQHJR X*\FLD QS :0/ Wireless Markup Language – j ]\N GRVW SX GR ::: ] WHOHIRQyZ NRPyUNRZ\FK 69* (Scalable Vector Graphics – j ]\N RSLVX JUDILNL ZHNWRURZHM [16]); zwykle proponowane przez organizacje standaryzacyjne. • J ]\NL X*\ZDQH Z RNUHORQHM EUDQ*\ OXE VSRáHF]QRFL VSHFMDOLVWyZ QS MathML (Mathematical Markup Language), CML (Chemical Markup Language), rozwi]DQLD QD SRWU]HE\ DGPLQLVWUDFML SXEOLF]QHM • J ]\NL WZRU]RQH ad hoc na potrzeby konkretnego nietypowego zastosowania, np. do wymiany danych w heterogenicznym systemie informacyjnym. WUyG Uy*QRURGQ\FK ]DVWRVRZD ;0/ V]F]HJyOQLH ZD*QH Z\GDM VL WH ]ZLzane z elektroniczn Z\PLDQ GRNXPHQWDFML RUD] V]HURNR UR]XPLDQ JRVSRGDrk HOHNWURQLF]Q Idea elektronicznej wymiany dokumentacji (EDI, Electronic Data Interchange) jest ju* GRü VWDUD GRF]HNDáD VL WH* ZáDVQ\FK VWDQGDUGyZ QS (',)$&7 Jednak, ze wzgl GX QD VZ ]áR*RQRü RUD] NRV]WRZQH RSURJUDPRZDQLH VWDndardy EDI nie zyskaá\ QLJG\ ZLHONLHM SRSXODUQRFL 7\PF]DVHP SRWU]HE\ Z WHM dziedzinie s RJURPQH =DVWRVRZDQLH ;0/ PR*H WX SU]\QLHü SU]HáRP M ]\N ten – przy wzgl GQHM SURVWRFLH áDWZRFL L QLHZLHONLFK NRV]WDFK SU]HWZDU]DQLD ± wydaje si ERZLHP EDUG]R GREU]H VSHáQLDü Z\PDJDQLD VWDZLDQH (', 0R*OLZH jest tak*H Z\NRU]\VWDQLH GRW\FKF]DVRZ\FK GRZLDGF]H L VWDQGDUGyZ (', semantyk VWDQGDUGRZ\FK NRPXQLNDWyZ (', PR*QD ERZLHP ]DSLVDü Z VNáDGQL XML. W powszechnym przekonaniu XML stanowi niemal idealny URGHN NRPXQLNacji dla gospodarki elektronicznej, zarówno typu B2C (Business to Customer), jak i B2B (Business to Business). O wielkiej przydatnoFL ;0/ GHF\GXMH PLQ dostosowanie do u*\FLD Z VLHFL ,QWHUQHW SU]\ Z\NRU]\VWDQLX SRSXODUQ\FK Qarz G]L QS W\SRZ\FK SU]HJOGDUHN RUD] QLHZLHONLH QDNáDG\ SRWU]HEQH GR ]Eudowania systemów opartych na XML, co pozwala na wykorzystywanie tej technologii przez maáH L UHGQLH ILUP\ Inn ZD*Q G]LHG]LQ Z NWyUHM ;0/ PR*H E\ü V]F]HJyOQLH SU]\GDWQ\ MHVW komunikacja zwi]DQD ]H VIHU SXEOLF]Q DGPLQLVWUDFMD VNDUERZRü LWS Wymiana sformalizowanych dokumentów za pomoc VLHFL PR*H LQVW\WXFMRP przedsi ELRUVWZRP L RE\ZDWHORP ]QDF]QLH XáDWZLü GRVW S GR XU] GyZ = NROHL sprawna wymiana danych mi G]\ XU] GDPL PR*H SU]\F]\QLü VL GR LFK OHSV]ego funkcjonowania. Wa*Q ]DOHW ;0/ Z W\P ]DVWRVRZDQLX MHVW SURVWRWD L otwartoü VWDQGDUGX FR SRZRGXMH *H ND*G\ X*\WNRZQLN PR*H SU]HWZDU]Dü dokumenty XML bez ponoszenia nadmiernych kosztów, a wielkie firmy infor- matyczne nie mog ]PRQRSROL]RZDü U\QNX SU]H] QDU]XFHQLH ZáDVQ\FK UR]ZLza NRPXQLNDF\MQ\FK : 3ROVFH SURZDG]RQH V SUDFH QDG WHJR W\SX ]DVWRVowaniami XML, doczekaliP\ VL QDZHW SLHUZV]\FK XVWDOH QRUPDW\wnych [5]. XML ma wiele cech powodujF\FK L* MHVW RQ RGSRZLHGQLP L XQLZHUVDOQ\P URGNLHP GR Z\PLDQ\ LQIRUPDFML Z e-ZLHFLH 1DMLVWRWQLHMV]H ] W\FK FHFK wymieniono ni*HM • Sformalizowany zapis informacji – umo*OLZLDMF\ MHM ÄEH]VWUDWQH´ RGF]\Wanie, dokáDGQ ZHU\ILNDFM SRSUDZQRFL L áDWZH GDOV]H SU]HWZarzanie. • Uniwersalnoü ± ;0/ SR]ZDOD byü Z\UD*RQH WHNVWRZR • Wielka siáD Z\UD]X ± ]D ne struktury informacji. • Elastycznoü ± VWUXNWXUD LQIRUPDFML MHVW áDWZD GR UR]V]HU]DQLD FL Z\NRU]\VWDQLD VWUXNWXU ZF]HQLHM ]GHILQLRZDQ\FK • Mo*OLZRü ]Uy*QLFRZDQHM SUH]HQWDFML ± G]L NL ]QDNRZDQLX ]QDF]HQLRZHPX oraz zastosowaniu arkuszy stylistycznych ten sam dokument mo*H E\ü Uy*norodnie prezentowany w zale*QRFL RG SRWU]HE L PR*OLZRFL VSU] WX • Czytelnoü ± GRNXPHQW\ ;0/ PRJ E\ü QLH W\ONR áDWZR RGF]\WDQH SU]H] programy, ale te* V ]UR]XPLDáH GOD F]áRZLHND ND*G\ GRNXPHQW QLHVLH Eowiem oprócz wáDFLZHM LQIRUPDFML WDN*H metainformacj Z SRVWDFL ]QDF]Qików. Czytelnoü XáDWZLD SRVáXJLZDQLH VL GRNXPHQWDPL ;0/ SR]ZDOD QS szybko oceniü ]DZDUWRü RUD] NRPSOHWQRü GRNXPHQWX XáDWZLD XUXFKDPLanie oprogramowania itd. • Dostosowanie do specyfiki przetwarzania w sieci Web – liczne szczegóáowe rozwi]DQLD ;0/ ED]XM QD LGHDFK ]ZL]DQ\FK ] 6LHFL QS DGUHVRZanie dokumentów jest oparte na pomyOH 85/ UR]EXGRZDQ\P 3RSXODUQH narz G]LD LQWHUQHWRZH SU]HJOGDUNL VHUZHU\ DSOLNDF\MQH LWG V Z\SRVD*ane w rozwi]DQLD parsery, procesory XSL itp.) uáDWZLDMFH X*ycie XML. • Niewygórowane koszty – do przetwarzania i prezentacji dokumentów XML mo*QD X*\ü VWDQGDUGRZHJR F] VWR GDUPRZHJR RSURJUDPRZDQLD 2]Qacza to, i* QDZHW QLHZLHONLH ILUP\ PRJ WZRU]\ü ZáDVQH UR]ZL]DQLD ED]XMce na XML, nie ponoszF QLHUR]VGQLH GX*\FK QDNáDGyZ • Wzgl GQD SURVWRWD ± LGHD M ]\NyZ ]QDNRZDQLD MHVW RG GDZQD ]QDQD Jáywne zaáR*HQLD ;0/ V NODURZQH D QDZHW ]DDZDQVRZDQH UR]ZL]DQLD V VWosunkowo áDWZH GR ]UR]XPLHQLD ]DSLVDü ZV]HONLH LQIRUPDFMH NWyUH PRJ SRPRF ;0/ PR* QD Z\UD]Lü QDZHW EDUG]R ]áR*o- ] PR* OLZo- XML zyskaá GX*H ]DLQWHUHVRZDQLH ]H VWURQ\ QDMZL NV]\FK SURGXFHQWyZ RSUogramowania. Wyposa*DM RQL VZRMH SURGXNW\ Z QDU] G]LD XPR*OLZLDMFH wzgl GQLH áDWZH Z\NRU]\VWDQLH ;0/ QS Z V\VWHPDFK LQIRUPDF\MQ\FK ] Ea- zami danych. Co ciekawe, pierwotnie wielcy producenci próbowali narzucaü wáDVQH UR]ZL]DQLD OHF] REHFQLH JG\ QDMZD*QLHMV]H VSHF\ILNDFMH ;0/ V ustabilizowane, przystosowuj RQL VZH SURGXNW\ GR VWDQGDUGyZ :& 5. PODSUMOWANIE XML jest nowym uniwersalnym standardem zapisu i przekazywania informacji. Wydaje si DWUDNF\MQ\ GOD Uy*Q\FK JUXS X*\WNRZQLNyZ DOH V]F]HJyOQLH LVWRWQ rol RGHJUD ]DSHZQH Z Z\PLDQLH LQIRUPDFML Z VLHFL :HE ]ZáDV]F]D Z ]DVWosowaniach zwi]DQ\FK ] V]HURNR UR]XPLDQ JRVSRGDUN HOHNWURQLF]Q :\Norzystanie XML w e-ZLHFLH SUDZGRSRGREQLH VWDQLH VL SRZV]HFKQH MX* Z QDjbli*V]\FK ODWDFK :Sá\QLH WR ]QDF]FR QD UR]ZyM WHFKQRORJLL V\VWHPyZ LQIRrmacyjnych, a szczególnie na systemy internetowe. LITERATURA [1] T.Traczyk: Wprowadzenie do j ]\ND ;0/ Informatyka, 12/1999. [2] T.Traczyk: XML i XSL. Materiaá\ ;,, *yUVNLHM 6]NRá\ 37, 6]F]\UN http://www.ia.pw.edu.pl/~ttraczyk [3] T.Traczyk: J ]\N ;6/. Materiaá\ 9, .RQIHUHQFML Deweloperów i U*\WNRwników Oracle Systemy informatyczne w dobie Internetu, Zakopane 2000. [4] T.Traczyk: Czy ju* ZDUWR X*\ZDü ;0/" Materiaá\ , 6HPLQDULXP 6WRZarzyszenia Polskiej Grupy U*\WNRZQLNyZ 6\VWHPX 2UDFOH :DUV]DZD [5] RozporzG]HQLH 0LQLVWUD =GURZLD ] GQ JUXGQLD U Z VSUDZLH WU\EX i sposobu przekazywania oraz zakresu danych o obrocie refundowanymi lekami i materiaáDPL PHG\F]Q\PL SU]HND]\ZDQ\FK SU]H] DSWHNL Dziennik Ustaw RP, nr 4, 2001. [6] Extensible Markup Language (XML) 1.0. W3C Recommendation. http://www.w3c.org [7] Namespaces in XML. W3C Recommendation. [8] Extensible Stylesheet Language (XSL) 1.0. W3C Candidate Recommendation. [9] Associating Style Sheets with XML Documents 1.0. W3C Recommendation. [10] XSL Transformations (XSLT) 1.0. W3C Recommendation. [11] XML Path Language (XPath) 1.0. W3C Recommendation. [12] XML Linking Language (XLink) 1.0. W3C Recommendation. [13] XML Pointer Language (XPointer) 1.0. W3C Recommendation. [14] XML Schema, Parts 0, 1, 2. W3C Recommendation. [15] Document Object Model Level 2. W3C Recommendation. [16] Scalable Vector Graphics (SVG) 1.0. W3C Proposed Recommendation.