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 cha 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, nhng ®Æ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 cha 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é su 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 lu tr÷ kh«ng theo thø tù trong c¸c trang HTML, nhng 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 ®Ó lu 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