XML - ng«n ng÷ Web thÕ hÖ kÕ tiÕp
Xem bai viet bang font Unicode

PCWorld VN 10/99

    Lêi ®ån ®¹i ®»ng sau c¸c qu¶ng c¸o rïm beng vÒ XML khiÕn ng­êi dïng kh«ng khái hoang mang. Bµi b¸o nµy sÏ gióp b¹n hiÓu XML lµ g× cïng nh÷ng lîi Ých cña nã, ®ång thêi gi¶i thÝch t¹i sao c¸c doanh nghiÖp nªn quan t©m tíi XML.

    H·y dµnh chót thêi gian (vµ quªn ®i nh÷ng qu¶ng c¸o vÒ XML) ®Ó t×m hiÓu vÒ ng«n ng÷ nµy. Cho dï XML (Extensible Markup Language - ng«n ng÷ ®¸nh dÊu më réng) ®· trë thµnh thuËt ng÷ th«ng dông trong lÜnh vùc Internet, song cã thÓ b¹n cßn ch­a hiÓu thÊu ®¸o vÒ nã cïng nh÷ng lîi Ých mµ nã mang l¹i. §õng cho r»ng XML lµ c«ng nghÖ khã lÜnh héi v× ®»ng sau nh÷ng lêi khoa tr­¬ng liªn quan tíi ng«n ng÷ nµy lµ c¶ thuËn lîi lín cho qu¸ tr×nh céng t¸c.

Qu¸ tr×nh ph¸t triÓn cña XML

    XML lµ ng«n ng÷ x©y dùng cÊu tróc tµi liÖu v¨n b¶n, dùa theo chuÈn SGML (Standard Generalized Markup Language: siªu ng«n ng÷ cã kh¶ n¨ng sinh ng«n ng÷ kh¸c). SGML ®­îc ph¸t triÓn cho viÖc ®Þnh cÊu tróc vµ néi dung tµi liÖu ®iÖn tö, do tæ chøc ISO (International Organization for Standards) chuÈn ho¸ n¨m 1986.

    SGML lµ do IBM ®­a ra, song kh«ng thÓ kh«ng kÓ ®Õn nh÷ng ®ãng gãp cña c¸c c«ng ty kh¸c. XML ®­îc W3C (World Wide Web Consortium: tæ chøc ®éc lËp ®Þnh ra tiªu chuÈn cho tr×nh duyÖt Web, m¸y chñ vµ ng«n ng÷) ph¸t triÓn, nh­ng ®Æc t¶ XML l¹i do Netscape, Microsoft vµ c¸c thµnh viªn cña dù ¸n Text Encoding Initiative (TEI) x©y dùng. Tæ chøc W3C XML Special Interest Group cã ®¹i diÖn tõ h¬n 100 c«ng ty cïng nhiÒu chuyªn gia ®­îc mêi kh¸c.

H×nh 1: W3C - Tæ chøc ®i ®Çu trong viÖc ph¸t triÓn XML (Web site: http://www.w3c.org)

W3C chÝnh thøc th«ng qua chuÈn XML vµo th¸ng Hai n¨m 1998. Thùc chÊt, XML ph¸t triÓn kh«ng ph¶i víi môc ®Ých trang trÝ trang Web mµ lµ trî gióp cÊu tróc cho tµi liÖu vµ d÷ liÖu ®Ó chóng cã thÓ trao ®æi gi÷a c¸c phßng ban, kh¸ch hµng vµ nhµ cung cÊp. Cho dï XML vÉn ch­a phæ biÕn, song ®ang ®­îc nhiÒu ®èi t­îng quan t©m bëi nã cho phÐp chia sÎ vµ sö dông th«ng tin ph©n t¸n trªn c¸c hÖ thèng kh¸c nhau.

XML hç trî ng­êi dïng th«ng qua kh¶ n¨ng t¹o néi dung ®éng, ph¸t triÓn øng dông vµ tÝch hîp trªn qui m« xÝ nghiÖp. Khi viÖc hç trî nh÷ng hÖ thèng cò gÆp nhiÒu khã kh¨n vµ c¸c doanh nghiÖp ®ang cè g¾ng hîp nhÊt d÷ liÖu, XML cã thÓ "gi¶m bít g¸nh nÆng" ë nh÷ng n¬i d÷ liÖu ph©n t¸n trªn c¸c hÖ thèng cò.

¸

XML lµ g×?

§Ó hiÓu ®óng vÒ XML vµ ph©n biÖt víi HTML (Hypertext Markup Language è ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n), c¸ch ®¬n gi¶n nhÊt lµ b¾t ®Çu b»ng mét vÝ dô HTML. HTML sö dông tËp thÎ (tag) h÷u h¹n ®Ó ®Þnh ra th«ng tin c¬ b¶n vÒ cÊu tróc tµi liÖu. Do lµ ng«n ng÷ ®¸nh dÊu nªn HTML rÊt dÔ sö dông, bÊt kú ai còng cã thÓ x©y dùng tõ ®Çu trang Web c¬ b¶n theo yªu cÇu riªng.

XML kh¸ gièng HTML, hai ng«n ng÷ nµy cã cïng luËt có ph¸p. Tuy nhiªn, tÝnh linh ho¹t cña XML cho phÐp b¹n t¹o vµ sö dông tËp thÎ vµ thuéc tÝnh riªng ®Ó nhËn biÕt c¸c phÇn tö cÊu tróc vµ néi dung tµi liÖu. XML kh«ng chØ ®¬n thuÇn lµ ng«n ng÷ ®¸nh dÊu, nã cã ph­¬ng ph¸p ®Þnh ra néi dung tµi liÖu, t­¬ng tù nh­ HTML ®Þnh h×nh thøc tµi liÖu trªn Web. Víi HTML, ng­êi thiÕt kÕ ®¸nh dÊu v¨n b¶n, h×nh ¶nh cïng c¸c thµnh phÇn kh¸c cña trang Web b»ng tËp thÎ mµ kh«ng liªn quan g× tíi ý nghÜa tµi liÖu; ®o¹n m· HTML chØ nãi lªn c¸ch hiÓn thÞ néi dung tµi liÖu qua tr×nh duyÖt. XML kh«ng chØ ®Þnh ra h×nh thøc mµ cßn c¶ néi dung tµi liÖu.

H×nh 2: Interleaf ph¸t triÓn c«ng cô ®å ho¹ t¹o XML sö dông XSL

XML ®­îc xem lµ c«ng cô m¹nh h¬n HTML do nã mang l¹i th«ng tin ®Çy ®ñ vÒ d÷ liÖu. XML cung cÊp "siªu d÷ liÖu" (meta-data) hay d÷ liÖu vÒ d÷ liÖu, gióp viÖc t×m kiÕm th«ng tin ®­îc dÔ dµng h¬n. VÝ dô, trong HTML, tõ "apple" cã thÓ ®­îc g¸n thÎ "bold" ®Ó m« t¶ h×nh d¹ng tr¸i t¸o. Tuy nhiªn, XML bao gåm c¸c thÎ m« t¶ vËt thÓ nh­ "fruit" hay "apple" hay "red".

Mét sè tæ chøc chuyªn m«n ®· x©y dùng ng«n ng÷ XML riªng, bao gåm c¸c thÎ nhËn diÖn ®Æc t¶ c«ng nghiÖp. VÝ dô, ngµnh c«ng nghiÖp ho¸ ®· ph¸t triÓn ng«n ng÷ Chemical Markup Language (CML)...

Th¸ng Hai n¨m 1998, h¬n 40 nhµ s¶n xuÊt cïng c¸c c«ng ty ®· th«ng b¸o kÕ ho¹ch hoµn thµnh ng«n ng÷ Commerce Extensible Markup Language (CXML) - tËp con cña XML. CXML ®Þnh ra c¸c tËp d÷ liÖu chuÈn dïng cho th­¬ng m¹i ®iÖn tö trªn Internet. Phiªn b¶n thu nhá, ®¬n gi¶n h¬n cña Electronic Data Interchange (EDI), tËp thÎ d÷ liÖu CXML vµ b¶n thö nghiÖm ®­îc c«ng bè vµo th¸ng Ba. B¶n chÝnh thøc ®­îc hoµn thµnh trong vßng s¸u th¸ng sau.

XML cho phÐp c¸c nhµ ph¸t triÓn vµ qu¶n trÞ c«ng nghÖ th«ng tin m« t¶ th«ng tin cã liªn hÖ tíi c¸c nguån th«ng tin kh¸c. §©y lµ ph­¬ng ph¸p khai th¸c th«ng tin nghiÖp vô lý t­ëng trong m«i tr­êng trao ®æi th«ng tin tõ server ®Õn server, tõ server ®Õn øng dông hay tõ øng dông ®Õn øng dông.

H×nh 3: Kenya cña General Magic sö dông XML

    CÊu tróc m· chÆt chÏ cña XML (néi dung ®­îc ®Æt gi÷a c¸c ký hiÖu m· chuÈn hay cßn gäi lµ thÎ) cho phÐp c¸c øng dông kh¸c dÔ dµng t×m kiÕm vµ sö dông néi dung ®· t¹o. Mçi tµi liÖu XML trë thµnh mét kho d÷ liÖu hái ®¸p (query data repository) t­¬ng tù nh­ c¬ së d÷ liÖu (CSDL).

    HiÖn t¹i, kh«ng cã hÖ thèng quy t¾c qu¶n lý c¸c "gãi" d÷ liÖu Web hay ®Þnh ra ph­¬ng ph¸p vËn hµnh trªn d÷ liÖu nµy. KÕt qu¶ lµ Internet trë thµnh bé s­u tËp khæng lå cña HTML, JavaScript vµ Java trªn m¸y client vµ "mí" ng«n ng÷ kÞch b¶n vµ ng«n ng÷ biªn dÞch trªn server.

    XML gi¶i quyÕt sù lén xén nµy b»ng c¸ch tæ chøc tÊt c¶ c¸c ng«n ng÷ lËp tr×nh theo mét cÊu tróc thèng nhÊt. Tr­íc ®©y, d÷ liÖu ®­îc l­u tr÷ kh«ng theo thø tù trong c¸c trang HTML, nh­ng giê ®©y chóng ®­îc ®Æt trong c¸c trang XML theo cÊu tróc chÆt chÏ. C¶ hai tr×nh duyÖt cña Netscape vµ Microsoft phiªn b¶n 5.x ®Òu th«ng hiÓu XML vµ qu¶n lý hiÖu qu¶ d÷ liÖu nµy.

§éc lËp víi server

    XML gióp b¹n t¹o tµi liÖu sö dông ®éc lËp víi server. Tµi liÖu n»m ngay trªn m¸y khi ng­êi dïng t¶i vÒ vµ tiÕp tôc ®­îc sö dông kh«ng phô thuéc server. VÝ dô, b¹n t¶i tµi liÖu xuèng m¸y tÝnh x¸ch tay, sau ®ã cã thÓ sö dông hiÖu qu¶ tµi liÖu nµy trong khi m¸y tÝnh kh«ng nèi m¹ng. Së dÜ ®¹t ®­îc ®iÒu nµy lµ do tµi liÖu XML ®­îc lËp tr×nh th«ng minh trªn chÝnh nã: tµi liÖu tån t¹i ®éc lËp víi server. ThËm chÝ, tµi liÖu cã thÓ ®­îc göi tíi ng­êi dïng kh¸c dïng øng dông cã hç trî XML. Nh÷ng øng dông nhËn biÕt ®­îc XML (kh«ng ph¶i tr×nh duyÖt) còng cã thÓ qu¶n lý d÷ liÖu g¸n thÎ XML.

    MÆt kh¸c, XML mang tÝnh chÆt chÏ cña SGML, kh«ng ¶nh h­ëng tíi c¬ së cµi ®Æt khæng lå cña c¸c trang HTML ®· tån t¹i trªn Internet, nghÜa lµ chØ cÇn ®iÒu chØnh chót Ýt trang HTML ®Ó t­¬ng thÝch víi XML.

H×nh 4: Lasso 3.5 Web Data Engine cña Blue World hç trî XML

    §©y lµ mét dßng m· HTML ®Þnh ra nguån h×nh ¶nh: <img src = /img/fig1.jpg>, t­¬ng øng trong XML lµ: <img src = "/img/ fig1.jpg/">. Râ rµng, sù kh¸c biÖt gi÷a hai dßng m· lµ kh«ng lín, nh÷ng thay ®æi nh­ ®Æt thuéc tÝnh ("/img/ fig1.jpg/" nhËn biÕt tËp tin fig1.jpg nh­ mét h×nh ¶nh) trong cÆp nh¸y kÐp vµ thªm dÊu g¹ch chÐo kÕt thóc c©u lÖnh ®· chuyÓn c©u lÖnh HTML thµnh c©u lÖnh XML vµ ®­îc biªn dÞch b×nh th­êng. Mét trang XML lµ mét CSDL do c¸c tr­êng ®Òu ®­îc nhËn diÖn hay biªn dÞch, vµ chøa d÷ liÖu ®Æc t¶ ®Ó øng dông kh¸c cã thÓ truy cËp.

C¸c øng dông XML

    NhiÒu nhµ s¶n xuÊt ®· c«ng bè c¸c chuÈn vµ øng dông XML, tiªu biÓu lµ Document Object Model Level 2 cung cÊp tËp chuÈn gåm c¸c ®èi t­îng ®Ó tr×nh bµy tµi liÖu HTML vµ XML, ®ång thêi bæ sung c¸c giao tiÕp kiÓu ®èi t­îng Cascading Style Sheets (CSS), giao tiÕp kiÓu sù kiÖn vµ truy vÊn.

    Còng lµ mét trë ng¹i khi m·i tíi n¨m 1998, c¸c c«ng cô t¹o XML, DTD (Document Type Definition è ®Þnh nghÜa lo¹i tµi liÖu: mét kiÓu tËp tin kÕt hîp víi tµi liÖu ®¸nh dÊu ®Ó ®Þnh ra c¸ch th«ng dÞch tµi liÖu b»ng øng dông th«ng qua thÎ ®¸nh dÊu) míi ®­îc ®­a ra. Tuy nhiªn ®«ng ®¶o c¸c nhµ s¶n xuÊt ®· vµ sÏ hç trî XML trong nh÷ng s¶n phÈm s¾p tíi. Ngoµi ra, XML høa hÑn më réng kh¶ n¨ng ®Þnh d¹ng tµi liÖu Web th«ng qua viÖc bæ sung c¸c DTD.

    Trªn c¬ së sù quan t©m vµ chÊp nhËn XML, trong n¨m nay, c¸c nhµ s¶n xuÊt sÏ ®­a ra thÞ tr­êng nh÷ng s¶n phÈm hç trî XML mang tÝnh chÊt "chµo hµng".

    Interleaf Composer/Styler lµ c«ng cô ®å ho¹ t¹o XML sö dông XSL (Extensible StyleSheet Language) (www.interleaf.com). XSL lµ ®Æc t¶ ph©n biÖt mÉu tµi liÖu th«ng qua néi dung khi t¹o trang HTML hay XML. §Æc t¶ cã t¸c dông t­¬ng tù mÉu ®Þnh d¹ng (template), cho phÐp nhµ thiÕt kÕ ¸p dông cïng mét mÉu cho nhiÒu trang. XSL lµ ®Æc t¶ kiÓu thø hai ®­îc W3C ®­a ra sau CSS (Cascading Style Sheet è hÖ thèng qui ®Þnh "kiÓu d¸ng" trang Web). Interleaf Composer/Styler lµ mét phÇn trong bé s¶n phÈm BladeRunner ®­îc Interleaf c«ng bè vµo th¸ng S¸u. BladeRunner cã thÓ ®Þnh d¹ng cïng d÷ liÖu XML theo nhiÒu kiÓu kh¸c nhau, phô thuéc mÉu trang ®­îc ¸p dông.

    RightDoc (http://www.rightdoc.com) ®­a ra phiªn b¶n RightDoc 2.0, ®©y lµ tr×nh so¹n th¶o v¨n b¶n XML, sö dông XML vµ CSS nh­ c¸c ®Þnh d¹ng tËp tin vµ còng cã thÓ xuÊt ra c¸c ®Þnh d¹ng HTML, PDF (Portable Document Format) vµ Postscript. Tr×nh nµy sö dông Query Designer ®Ó tÝch hîp d÷ liÖu th«ng minh vµo tµi liÖu dïng ODBC (Open Database Connectivity), cho phÐp nhËp trùc tiÕp d÷ liÖu míi vµo tµi liÖu.

    General Magic (http://www. generalmagic.com) sö dông XML trong c«ng nghÖ xö lý tiÕng nãi mang tªn Kenya. Kenya dïng XML ®Ó l­u tham sè ng­êi dïng vµo ch­¬ng tr×nh. Sau ®ã, ch­¬ng tr×nh sÏ sö dông nh÷ng tham sè nµy ®Ó gäi tíi ng­êi dïng vµ th«ng b¸o th«ng tin quan träng trªn Web. VÝ dô, Kenya cã thÓ gäi vµ b¸o cho ng­êi th¾ng cuéc trªn site b¸n ®Êu gi¸.

    Sqribe Technologies (http://www. sqribe.com) c«ng bè sÏ sö dông XML trong s¶n phÈm ReportMart Enterprise Information Portal ®Ó tÝch hîp c¸c øng dông thø ba (third-party applications) vµ c¸c nguån d÷ liÖu trªn qui m« xÝ nghiÖp. S¶n phÈm ®Çu tiªn sö dông ®Þnh d¹ng nµy lµ RM/QuickConnect cña Sqribe cho PeopleSoft. RM/QuickConnect cung cÊp mét ®iÓm truy nhËp duy nhÊt cho c¸c b¸o biÓu PeopleSoft cïng nh÷ng th«ng tin kh¸c.

    IPNet Solution (http://www.ipnetsolution.com) sö dông XML trong c¸c s¶n phÈm th­¬ng m¹i ®iÖn tö xÝ nghiÖp IPNet.Suite 3.0. Bé s¶n phÈm nµy cã kh¶ n¨ng nhËp, xuÊt d÷ liÖu XML, chuyÓn qua l¹i gi÷a ®Þnh d¹ng XML vµ c¸c ®Þnh d¹ng kh¸c, hç trî DTD vµ dÞch tù ®éng XML thµnh HTML.

    Cuèi cïng lµ Blue World Communicarion (http://www. blueworld.com) ®· hç trî XML trong s¶n phÈm Lasso 3.5 Web Data Engine - s¶n phÈm x©y dùng øng dông Web h­íng c¬ së d÷ liÖu. C¸c thÎ Lasso sÏ ®­îc m· ho¸ theo có ph¸p XML trong phiªn b¶n s¾p tíi.

T×m th«ng tin vÒ XML trªn Web

Quèc Hïng

PCW Hång K«ng 08/1999


PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com