LI G II THI U
B ng 3: Cú pháp ca XML
Tr c XML, có r t ít ngôn ng mô t d li u v i các ,c i m a n ng, thân thi n v i giao th c Internet, d h c và d t o. a s! các nh d ng trao i d li u tr c ây u chuy n d ng, có tính c quy n, và có nh d ng nh phân khó dùng chung gi a các ng d ng ph#n m m khác nhau hay gi a các h n n (platform) khác nhau.
<?xml version="1.0" encoding="UTF-8"?>
<recipe name="bread" prep_time="5 mins" cook_time="3 hours"> <title>Basic bread</title>
<ingredient amount="3" unit="cups">Flour</ingredient> <ingredient amount="0.25" unit="ounce">Yeast</ingredient>
<ingredient amount="1.5" unit="cups" state="warm">Water</ingredient> <ingredient amount="1" unit="teaspoon">Salt</ingredient>
<instructions>
<step>Mix all ingredients together, and knead thoroughly.</step> <step>Cover with a cloth, and leave for one hour in warm room.</step> <step>Knead again, place in a tin, and then bake in the oven.</step> </instructions>
IV.1.3. T o và so n th o tài li u XML
Các ph#n m m h( tr vi c so n th o và b o trì tài li u XML m t cách thu n tiên ã nhanh chóng xu t hi n. M t thu n l i c a XML là cho phép xem d li u mà không c#n ph i có ch ng trình ã t o ra d li u ó.
XML cho phép b n t o ra m t khuôn d ng v n b n m i b"ng cách k t h p hay s$
d ng l i các kh!i có s*n. Do hai khuôn d ng c phát tri n c l p nên có th xu t hi n nh ng ,c tính và thu c tính có tên trùng nhau. tránh nh#m l+n tên khi k t h p các khuôn d ng v i nhau, XML cung c p c ch namespace. XSL và RDF là nh ng ví d i n hình c a nh d ng XML có s$ d ng namespace.
IV.1.4. XML và c u trúc d li u
D li u bao g m b ng công tác, s a ch , các tham s! c u hình, giao d ch tài chính, b n v% k) thu t, v n b n, hình nh… Nh h th!ng các lu t mô t c u trúc, XML có th c dùng cho vi c thi t k các khuôn d ng c u trúc cho d li u. D a
vào các th2 c a XML, máy tính d dàng t o d li u, c d li u và làm cho c u trúc d li u tr nên rõ ràng d hi u. XML còn giúp m r ng c u trúc d li u khi c#n thi t, có platform hoàn toàn c l p và h( tr tính qu!c t hoá và n i a hoá. Các c u trúc có ch a ti ng Vi t hoàn toàn c h( tr b i XML do XML h( tr Unicode, b ng mã có ch a phông ch thông d ng cho ti ng Vi t.
Trong xây d ng các ng d ng x$ lý d li u, XML th hi n s m m d2o nh các l c linh ho t, b n ch t phân c p và có th a ra các mô hình d li u t!t h n so v i d li u quan h vì có th x$ lý c d li u bán c u trúc và không c u trúc (ví
d nh các b n ghi v tình hình s c kh-e, d li u sinh h c, các h p ng kinh t , các tuyên b! b o hi m), tính phân c p hay d li u ph c t p l ng nhau (ví d nh
h ng d+n s$ d ng, catalog, hóa n,…), các d li u có s thay i nhi u hay th m
chí có l c thay i (các khung khai báo, các tài li u chu n công nghi p ang trong quá trình phát tri n, các s n ph m m i,…), d li u v i giá tr Null hay a giá
34
IV.1.5. XML và các !nh d ng d a trên XML
B"ng cách cho phép ,t tên d li u, xác nh c u trúc th b c và ý ngh a c a các ph#n t$ và thu c tính c a các ph#n t$ ó theo m t cách m và có th c nh
ngh a b i m t l c (schema), XML cung c p m t cú pháp cho vi c t o l p các ngôn ng ánh d u d a trên XML (XML-based) theo yêu c#u.
Cú pháp chung c a các ngôn ng ó là c! nh, t c là các tài li u ph i tuân theo các quy t c chung c a XML, b o m t t c các ph#n m m hi u XML c&ng ph i có kh
n ng c (phân tích cú pháp - parse) và hi u b! c c c a thông tin trong các tài li u ó. Gi n ch b sung m t t p các ràng bu c cho các quy t c cú pháp. Các gi n th ng h n ch tên c a ph#n t$ và thu c tính và các c u trúc th b c c phép. T' nh ngh a c b n là d ng text c a XML, các ng d ng v i ch c n ng tr'u t ng hóa XML thành các nh d ng khác giàu thông tin h n, c th c hi n ch y u qua vi c s$ d ng các l c nh h ng ki u d li u (datatype-oriented
schema) và khuôn m+u l p trình h ng !i t ng trong ó, m(i tài li u XML coi nh là m t !i t ng, ã nhanh chóng xu t hi n. Trong các ph#n m m nh v y, XML c tu#n t hóa ch khi c#n truy n d li u qua m ng.
IV.1.6. XML và HTML
T ng t HTML, XML c&ng s$ d ng các tags (các t' c ,t trong ngo,c v i '<'
và '>') và dùng thu c tính (v i m+u ). Trong khi trong HTML, tag và thu c tính có ý ngh a !i v i s hi n th c a ph#n v n b n gi a các tag ó trong trình duy t thì trong m t v n b n XML, các tag ch phân nh ranh gi i gi a các m u d li u và th hi n ý ngh a c a n i dung ó. i m khác bi t gi a XML và HTML là HTML có m t b các tag và thu c tính không m m d2o, ch có m t tác d ng và nói chung là không th dùng cho m c ích khác.
S k t h p gi a XML và HTML t o ra m t ng d ng r t quan tr ng ó là khuôn d ng v n b n XHTML c a W3C. XHTML có nhi u i m chung v i HTML. Tuy nhiên, trong cú pháp c&ng có m t s! thay i phù h p v i các lu t trong XML, mang c u trúc c a XML và b h n ch m t s! ph ng di n. (Ví d , XHTML qui
nh "<p>" là " o n v n (paragraph)", ch không ph i "giá (price)", "ng i (person)", hay b t c m t cái gì khác.
IV.1.7. XML phù h p v i vi c ng d ng r ng rãi
Có nhi u công c phát tri n và công ngh trong l nh v c XML c ã xây d ng, th m chsi có s*n, và ng i s$ d ng XML có th d dàng nh n c s giúp 3 c a c ng ng. Do XML không có b n quy n, XML là gi i pháp luôn c xem xét khi ti n hành các d án IT liên quan n x$ lý d li u.
Nh ng tính n ng chính c a XML d+n n s ch p nh n r ng rãi trong t t c các l nh v c ng d ng CNTT là:
XML n gi n n m c có th phân tích cú pháp m t cách nhanh chóng và ph#n m m phân tích cú pháp th ng là mi n phí hay ph#n m m ngu n m . Quy t nh s$ d ng XML nhi u t ch c c a ra không c#n xem xét lâu.
XML tránh c nh ng v n v vi c mã hóa ký t m c th p b"ng vi c ch p nh n Unicode cho phép tri n khai trên toàn c u.
XML uy n chuy n th hi n d li u d ng v n b n phù h p v i kh n ng c c a con ng i và c các c u trúc d li u tr'u t ng có m c
ích x$ lý c b i các ng d ng.
Ng pháp c a XML d hi u v i ng i c, cho phép các tài li u n gi n có th c t o và c b i các editor chu n.
XMl tránh c s tranh giành th ng có trong ngành công nghi p IT: c ngành công nghi p IT ch p nh n và các s n ph m c cung cáp b i các hang khác nhau có tính t ng tác cao.
Nh ng y u t! trên làm XML c ch p nh n r ng rãi không ch trong qu n lý n i dung web mà còn trong các ng d ng khác m c toàn c#u. G#n nh m i công ty hi n nay u dùng XML m t d ng nào ó. Kh!i l ng d li u XML mà các t ch c c#n x$ lý t ng lên v i t!c nhanh g p hai d li u truy n th!ng trong các CSDL quan h . Nh ng y u t! trong vi c t ng tr ng này bao g m:
- Ngành công nghi p và các chu n d a trên XML (xem IV.4)
- Các ki n trúc h ng !i t ng (SOA) và d ch v web, công ngh web 2.0 nh XML feed, d ch v ng b (xem IV.1.8)
36
IV.1.8. XML là c s c a Web th h m i
Khung miêu t tài nguyên c a W3C (RDF) là m t khuôn d ng v n b n XML h( tr mô t tài nguyên và các ng d ng siêu d li u, ví d nh danh sách b n nh c, b s u t#m nh, s u t#m th m c.
Các máy tính c#n có c ch th!ng nh t v ý ngh a các thu t ng truy n t thông tin m t cách hi u qu . nh ngh a chính th c các thu t ng trong m t vài l nh v c
g i là b n th h c r t c#n thi t trong Web th h m i. RDF, b n th h c, và vi c th hi n ý ngh a các máy tính có th giúp ng i ta ti n hành công vi c c a mình là
n i dung quan tr ng c a Semantic Web.
Các khuôn kh và s tri n khai d a trên d ch v ang t ng lên m t cách ph bi n nh kh n ng tích h p các h th!ng, cho phép s$ d ng l i ngu n tài nguyên, ph n ng nhanh chóng v i s thay i c a th tr ng, cho phép ti t ki m và t ng kh n ng c nh tranh. Trong ki n trúc d a trên d ch v (SOA), ng i tiêu th và nhà cung c p d ch v trao i thông tin d a trên các tin nh n c bao gói th!ng nh t nh XML. XML cung c p ph ng ti n trao i thông tin trong môi tr ng SOA nh c ch ra trong Hình 2. nh h ng t i thông tin nh là m t d ch v và s ch p nh n nhanh chóng môi tr ng SOA c&ng làm t ng s ch p nh n XML.
XML là tâm i m c a công ngh Web 2,0 , th h ti p theo c a Internet, trong ó
s ng b hóa c coi là quan tr ng nh t. Các c ch ng b (Rich Site Summary) cho phép ng ký và c c p nh t #y v m i s thay i trong n i
dung web. N i dung c a các feed c trình bày nh các t p d ng XML và có th ch a các link, t ng k t, bài vi t, và các t p g n li n. S ng b và web feed ang thay i cách th c trình bày web. Các mô hình kinh doanh m i ang xu t hi n xung quanh công ngh này. H qu n tr CSDL XML t n t i không ch các công ty ch p nh n chu n XML hay các công ty tri n khai SOA mà còn m(i h th!ng có n!i n web.
IV.1.9. Giá tr! và thách th c c a d li u XML
Công ngh XML ã tr thành có m,t kh p các ngành công nghi p và các l nh v c kinh t nh có tính a n ng và trung l p cho vi c trao i d li u gi a các thi t b , ng d ng, và h th!ng khác nhau c a các nhà cung c p khác nhau. Khi chu n công nghi p XML tr nên r ng rãi, v i ng l c t i môi tr ng SOA và s ch p nh n công ngh ng b web,…ngày càng nhi u d li u XML c t o ra. D li u và tài li u XML tr nên là tài s n có giá tr và ch a các thông tin quan tr ng. S t ng tr ng và s ph bi n c a các tài s n XML ra s thách th c và c h i cho các công ty. Khi d li u XML và n i dung thông tin c s$ d ng t!t, ó s% là c h i cho các t ch c thúc y các ho t ng và hi u bi t kinh doanh. M,t khác, khi XML tr thành quan tr ng cho các ho t ng c a m t t ch c, m t th$ thách là d li u XML c#n c an toàn, b o trì, tìm ki m c và chia s2 c th o cách th c tin c y, s*n sàng, và kh m nh v i các tài nguyên d li u d ng quan h . i u ó có ngh a c#n phát tri n các công c qu n tr d li u XML ti n l i nh các CSDL quan h ang c th ng m i trên th tr ng.
Khi XML c ch p nh n a vào s$ d ng s% n y sinh yêu c#u c#n l u tr và truy c p n d li u XML. Có ba ph ng phap l u tr d li u XML:
1. L u d li u XML nh m t t p: khi ó XML c th hi n d ng v n
b n thô, thu ng c l u trong BLOB hay CLOB c a CSDL quan h .
2. Tách d li u: Tài li u XML c phân tích ng pháp và thông tin c
tách ra, th ng c l u d ng CSDL quan h . Khi c#n, các thành ph#n c a m t tài li u XML c t p h p l i tái t o l i tài li u XML ó.
3. S d ng các CSDL d ng XML chuyên d ng: CSDL này hi u c c u
trúc c a c a tài li u XML và th c hi n các câu truy v n c&ng nh c d li u c a XML v i thông tin v c u trúc c a t p XML ã c bi t tr c.
IV.1.10. XML và th! tr ng khuôn d ng t p CSDL
Hi n nay, c 3 hãng l n cung c p CSDL là IBM, Oracle, và Microsoft u s$ d ng XML làm CSDL c a h nhanh h n và h( tr d ch v web. Microsoft a ra phiên b n SQL Server có tên Yukon chuyên x$ lý d li u XML làm lõi cho các d ch v .Net Web c a Microsoft. ây là m t CSDL l u XML d ng nguyên th y
38
và làm XML nh m t d ng c t nh ngh a c. Microsoft h( tr các chu n c a XMLm ví d nh a SQLXML vào h( tr XML Schema Definition, m t ,c t c cho tích h p d li u c h( tr b i W3C. Oracle và IBM c&ng ang tri n khai m nh XML trong các s n ph m c a mình. Oracle ang hoàn thi n XDB (XML database support). IBM thông báo h ã có các s n ph m XML k t h p trong DB2.9 v i công ngh pureXML. Ngoài ba hãng l n trên, nhà cung c p CSDL quan h nh Sybase c&ng ang tham gia vào l nh v c XML c&ng nh Software AG và Ixiasoft.
IV.2. XML và các công ngh x* lý d li u liên quan
D a trên XML, "the XML family" là m t b các công c h u d ng qu n lý và x$
lý các câu truy v n. D i ây là mô t m t s! công ngh này.
IV.2.1. !nh ngh'a ki u c a tài li u
Document Type Definition (DTD), là m t trong các ngôn ng c a XML c dùng th hi n m t l c b"ng các khai báo tuân th m t ng ngh a ánh d u
c th (particular markup syntax) và mô t các l p, các ki u c a các tài li u XML d a trên các ràng bu c v c u trúc c a các tài li u ó. DTD còn c s$
d ng mô t các c u trúc không b t bu c t o lên c u trúc c a tài li u nh ng có th nh h ng n s di n gi c a m t s! tài li u.
Trong m t DTD, c u trúc c a m t l p các tài li u c mô t quan các khai báo nguyên t! và tính ch t (attribute-list declarations). Các khai báo nguyên t! ,t tên cho m t t p h p các nguyên t! trong m t tài li u và ch ra các nguyên t! c&ng nh các chu(i ký t c ch a trong m t nguyên t! nh th nào. Các khai báo thu c tính ch ra danh sách các thu c tính, ki u, và giá tr n u có c a các thu c tính ó .