Xây dựng từ điển Anh – Việt sử dụng xml nội dung
ĐỀ TÀI: XÂY DỰNG TỪ ĐIỂN ANH – VIỆT SỬ DỤNG XML NỘI DUNG
MINH HỌA MỘT TỪ ĐƯỢC LƯU TRONG FILE Tu.xml
<dictionary dictionary-type ="English - Vietnamese">
<word-group group-name="a">
<detail-word word="a">
<type-means>
<type-mean>
<word-type> article </word-type>
<word-mean mean="mạo từ">
<idioms>
<idiom phrase="to get an A in biology">
<phrase-mean> lây nhiễm A </phrase-mean>
</idiom>
</idioms>
<examples>
<example sentence="an A 4 folder">
<sentence-mean> giấy A4 </sentence-mean>
</example>
</examples>
</word-mean>
</type-mean>
</type-means>
<phonetic> ei </phonetic>
<synonyms>
<synonym> an </synonym>
</synonyms>
<sound> data/a.wav </sound>
</detail-word>
</word-group>
</dictionary>
28 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2930 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Xây dựng từ điển Anh – Việt sử dụng xml nội dung, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
XAÂY DÖÏNG TÖØ ÑIEÅNANH – VIEÄT SÖÛ DUÏNG XML GVHD : Ts. Nguyeãn Ngoïc Bình SVTH : Phaïm Leâ Kieàu Lieân Lôùp : TH40 NOÄI DUNG 1. Giôùi thieäu töø ñieån ANH-VIEÄT 2. Thieát keá chöông trình 3. Caøi ñaët chöông trình 4. Keát luaän Hieän nay, coâng ngheä phaàn meàm laø moät lónh vöïc ñang phaùt trieån maïnh meõ cuûa ngaønh coâng ngheä thoâng tin, caøng ngaøy caøng coù raát nhieàu nhöõng phaàn meàm hay, ña daïng vaø gaàn guõi vôùi ngöôøi söû duïng ñöôïc ñöa ra thò tröôøng. Ñeà taøi veà xaây döïng töø ñieån Anh – Vieät laø moät ví duï minh hoïa cho söï phoå bieán naøy. Töø ñieån laø moät phöông tieän giuùp cho ngöôøi söû duïng coù theå tra cöùu nhöõng töø caàn thieát ñeå bieát ngöõ nghóa, loaïi töø, phieân aâm, … phuïc vuï cho nhöõng coâng vieäc khaùc nhau cuûa hoï. Coù raát nhieàu loaïi töø ñieån nhö: töø ñieån veà Computer, töø ñieån veà ngoân ngöõ, töø ñieån veà danh lam thaéng caûnh, töø ñieån veà ñòa lyù, veà lòch söû, … Tröôùc kia töø ñieån laø nhöõng quyeån saùch chöùa soá löôïng töø khaùc nhau, caáu taïo cuûa 1 quyeån töø ñieån ñöôïc chia theo thöù töï chöõ caùi cuûa ngoân ngöõ, ví duï tieáng Anh coù 26 chöõ caùi, vaäy vôùi töø ñieån tieáng Anh caùc töø seõ ñöôïc saép theo thöù töï töø A – Z. Ñeå tra moät töø ta phaûi xem töø caàn tra coù vaàn ñaàu laø gì, laät trong töø ñieån ñeå tìm ñuùng trang coù vaàn ñoù vaø theo thöù töï caùc chöõ caùi ta tìm ñeán chính xaùc töø caàn tra . Ñoù laø quaù trình tìm thoâng thöôøng, ngaøy nay ta coù theå tra töø moät caùch nhanh choùng, chính xaùc vaø ñaày ñuû baèng caùch duïng phaàn meàm töø ñieån, moät phaàn meàm ñöôïc caøi ñaët vaø thöôøng truù treân maùy tính. Chæ caàn goõ töø caàn tra cöùu vaøo textbox vaø nhaán phím Enter laø ta coù ngay taát caû caùc thoâng tin veà töø aáy. Ngoaøi ra phaàn meàm naøy coøn giuùp ngöôøi duøng coù theå deã daøng theâm töø môùi vaøo danh saùch töø cuûa mình, söûa laïi töø neáu töø nhaäp vaøo bò thieáu xoùt hoaëc xoùa baát kyø moät töø khi ngöôøi söû duïng caûm thaáy töø aáy khoâng coøn caàn thieát chæ baèng nhöõng thao taùc ñôn giaûn nhö nhaáp chuoät vaø goõ töø baøn phím. Thieát keá toång theå Kieán truùc chöông trình Tính naêng chöông trình Toå chöùc döõ lieäu THIEÁT KEÁ TOÅNG THEÅ Ngöôøi söû duïng nhaäp vaøo töø caàn tra cöùu, boä phaän xöû lyù cuûa chöông trình nhaän yeâu caàu cuûa hoï vaø thoâng tin traû veà laø keát quaû maø hoï caàn. KIEÁN TRUÙC CHÖÔNG TRÌNH Chöông trình ñöôïc xaây döïng döïa treân cô sôû döõ lieäu laø file XML, vì vaäy khi caäp nhaät döõ lieäu, taát caû seõ ñöôïc xöû lyù treân file naøy. Giöõa chöông trình vaø cô sôû döõ lieäu XML laø boä Parser, boä Parser naøy coù chöùc naêng duyeät file XML khi chöông trình yeâu caàu. Do ñoù khi nhaän ñöôïc Request, laø nhöõng thao taùc ñöôïc nhaäp vaøo töø beân ngoaøi bôûi ngöôøi söû duïng, chöông trình seõ gôûi ñeán boä Parser ñeå duyeät, neáu khoâng hôïp leä thì nhöõng Request naøy bò huyû boû coøn ngöôïc laïi chuùng ñöôïc löu laïi trong taøi lieäu XML. Sau khi löu vaøo file XML, boä Parser phaûn hoài laïi cho chöông trình vaø chöông trình hoài ñaùp cho ngöôøi söû duïng. Quaù trình cöù dieãn ra nhö theá. TÍNH NAÊNG CUÛA CHÖÔNG TRÌNH Chöông trình chaïy treân neàn windows, duøng ñeå thöïc hieän thao taùc treân döõ lieäu cuûa noù. Khi ngöôøi söû duïng caàn tra töø caàn phaûi coù giao dieän ñeå laøm vieäc, do ñoù ta caàn phaûi taïo ra giao dieän cho ngöôøi söû duïng, caùc giao dieän daønh cho ngöôøi söû duïng goàm : + Giao dieän tra töø. + Giao dieän theâm töø. + Giao dieän söûa töø. Ngoaøi ra , chöông trình coøn moät soá tính naêng nhö : xoùa töø, back vaø history. Nhöõng phaàn naøy cung caáp theâm tính naêng cho ngöôøi söû duïng, giuùp hoï xoùa töø khoâng caàn thieát hoaëc xem laïi nhöõng töø maø hoï ñaõ tra luùc ban ñaàu. TOÅ CHÖÙC CÔ SÔÛ DÖÕ LIEÄU CUÛA TÖØ ÑIEÅN Caáu truùc caây töø ñieån Toå chöùc töø trong töø ñieån Caäp nhaät vaø söûa töø Caùc töø trong töø ñieån ñöôïc löu tröõ trong file xml.Vaøi ñaëc ñieåm veà ngoân ngöõ XML XML (eXtensible Markup Language) laø ngoân ngöõ ñaùnh daáu vaên baûn ñöôïc ñöa ra bôûi W3C duøng ñeå moâ taû nhöõng taøi lieäu ñöôïc phaân phaùt thoâng qua World Wide Web. Maëc duø noù khoâng gioáng moät chuaån quoác teá ñaày ñuû ñöôïc ñöa ra bôûi ISO nhöng töø khi XML xuaát hieän ñeán nay, noù ñaõ ñöôïc öùng duïng roäng raõi. Caùc theû ñònh daïng trong XML khoâng ñöôïc ñònh nghóa saün nhö trong HTML maø ngöôøi laäp trình phaûi töï ñònh nghóa. Khaùc vôùi HTML, ñöôïc thieát keá ñeå hieån thò döõ lieäu vaø taäp trung vaøo caùch hieån thò döõ lieäu nhö theá naøo, XML ñöôïc thieát keá ñeå moâ taû döõ lieäu vaø taäp trung vaøo yù nghóa cuûa döõ lieäu. XML laø ngoân ngöõ töï moâ taû, noù duøng DTD (Document Type Definiton) ñeå moâ taû döõ lieäu. Muïc ñích cuûa XML laø laøm giaøu theâm nhöõng chöùc naêng cho Web, ñieàu maø HTML khoâng laøm ñöôïc. XML – Öu ñieåm vaø nhöôïc ñieåm * Öu ñieåm · XML laø ngoân ngöõ free-form, ngöôøi laäp trình coù theå taïo neân caùc theû moâ taû rieâng. · XML laø coâng cuï ñeå taïo neân döõ lieäu coù caáu truùc trong taäp tin daïng vaên baûn. · XML ñôn giaûn vaø deã ñoïc. · Maëc duø XML ñôn giaûn nhöng coù theå söû duïng XML ñeå taïo, hieån thò vaø xöû lyù treân caùc caáu truùc döõ lieäu phöùc taïp nhö caáu truùc caây, caáu truùc baûng, ñoà thò. · XML ñoäc laäp vôùi heä thoáng, coù theå trao ñoåi döõ lieäu daïng XML baèng caùc phöông tieän khaùc nhau giöõa caùc öùng duïng cuûa caùc heä thoáng maùy tính khaùc nhau. · XML roõ raøng, coù caáu truùc heä thoáng raát thuaän lôïi trong coâng vieäc tìm kieám thoâng tin döïa treân caùc theû trong taøi lieäu XML. · Cho pheùp keát noái nhieàu taøi lieäu XML laïi thaønh moät taøi lieäu XML môùi. · XML ñöôïc söû duïng ñeå taïo neân caáu truùc vaø moâ taû döõ lieäu, thích hôïp cho caùc öùng duïng coù nhieàu ngöôøi duøng cuøng duøng chung döõ lieäu. · XML ñònh daïng döõ lieäu ñeå trao ñoåi treân maïng thoâng qua caùc phöông tieän trao ñoåi khaùc nhau giöõa caùc chöông trình öùng duïng. · Xöû lyù ñöôïc taát caû caùc kyù töï daáu ôû caùc ngoân ngöõ khaùc nhau do XML maõ hoùa theo chuaån ISO-10646. * Nhöôïc ñieåm · Do XML laø ngoân ngöõ vaên baûn neân raát "daøi doøng", khi caàn xöû lyù kieåu döõ lieäu soá thì XML khoâng söû duïng ñöôïc kieåu nhò phaân maø phaûi duøng moät chuoãi kyù töï ñeå moâ taû cho soá naøy. · XML laø ngoân ngöõ ñeå taïo neân caáu truùc vaø moâ taû döõ lieäu maø khoâng laø ngoân ngöõ xöû lyù döõ lieäu. Neáu chæ söû duïng XML thì khoâng theå xaây döïng ñöôïc öùng duïng. Caäp nhaät vaø söûa töø Vaán ñeà caäp nhaät töø, söûa töø hay theâm môùi töø trong chöông trình ñeàu coù moät cô cheá gioáng nhau, ñöôïc theå hieän trong moâ hình treân. Khi chöông trình nhaän ñöôïc caùc Request töø ngöôøi söû duïng (bao goàm caùc vaán ñeà veà caäp nhaät, theâm, söûa, xoaù, … ). Ví duï khi caäp nhaät töø , thì töø ñöôïc caäp nhaät chính laø Data, Data ñöôïc load vaøo trong DOM Tree vaø taïi ñaây caùc thao taùc ñöôïc thöïc hieän laàn löôït treân caùc node, sau ñoù löu laïi treân file xml. Nhö vaäy töø ñaõ ñöôïc caäp nhaät . Töông töï, khi theâm töø môùi cuõng vaäy, töø ñöôïc toå chöùc nhö moät caây DOM neân khi theâm ta chæ vieäc laàn löôït gaùn caùc giaù trò cuûa töø vaøo caùc node cuûa caây, baét ñaàu töø node root, sau ñoù löu laïi treân file xml. Rieâng khi tìm kieám töø, ta laïi söû duïng boä SAX Parser ñeå duyeät file xml ñaõ ñöôïc toå chöùc ôû treân. Boä Parser naøy coù taùc duïng so saùnh vaø tìm kieám treân file xml sau ñoù traû veà giaù trò hoaëc laø roãng hoaëc laø töø ñöôïc tìm thaáy vaø hieån thò noù trong chöông trình. MOÂ HÌNH SAX VAØ DOM Moâ hình SAX, DOM laø nhöõng boä phaân tích xöû lyù caùc taøi lieäu XML, chuùng ra ñôøi döïa treân hai höôùng tieáp caän laø höôùng söï kieän vaø höôùng ñoái töôïng. * DOM laø moâ hình tieáp caän höôùng ñoái töôïng truyeàn ñaït thoâng tin vôùi trình öùng duïng bôûi moät caây nhöõng ñoái töôïng trong boä nhôù, caây trong boä nhôù laø moät baûn ñoà chính xaùc cuûa nhöõng phaàn töû trong file XML. DOM ñaõ ñöôïc ñònh nghóa caùc lôùp, ñoái töôïng ñeå trình baøy moãi phaàn töû trong file XML. Coù nhieàu ñoái töôïng nhö phaàn töû, thuoäc tính, thöïc theå, text, .. * Thay cho DOM, moâ hình SAX laø moâ hình xöû lyù döõ lieäu XML theo höôùng söï kieän. SAX vaø DOM ngaøy caøng ñöôïc söû duïng nhieàu trong caùc ngoân ngöõ laäp trình. Taát caû nhöõng chöùc naêng maø moâ hình DOM laøm ñöôïc ta ñeàu coù theå thöïc hieän baèng moâ hình SAX. NGOÂN NGÖÕ JAVA Chöông trình ñöôïc caøi ñaët baèng ngoân ngöõ Java vôùi coâng cuï hoã trôï laäp trình laø JBuilder 6.0. Söùc maïnh cuûa Java khoâng bò giôùi haïn ôû chöông trình öùng duïng Web. Java thaät söï laø ngoân ngöõ laäp trình ña naêng. Noù coù ñaày ñuû ñaëc tính laäp trình vaø coù theå duøng vaøo vieäc thieát keá chöông trình öùng duïng ñoäc laäp. Baûn chaát cuûa Java laø ngoân ngöõ höôùng ñoái töôïng. Maëc duø coù nhieàu ngoân ngöõ höôùng ñoái töôïng xuaát thaân töø ngoân ngöõ thuû tuïc nhöng Java ñaõ ñöôïc thieát keá ôû ôû daïng ngoân ngöõ höôùng ñoái töôïng ngay töø ñaàu. Laäp trình höôùng ñoái töôïng (OOP) hieän laø phöông phaùp laäp trình phoå bieán, thay theá vò trí cuûa caùc kyõ thuaät laäp trình thuû tuïc truyeàn thoáng, cung caáp söï linh ñoäng tuyeät vôøi, khaû naêng taùi söû duïng thoâng qua kyõ thuaät phaân chia phöông thöùc, phaân chia lôùp vaø thöøa keá lôùp. Java coù caùc ñaëc ñieåm laø ñôn giaûn, hieäu suaát thi haønh thoûa ñaùng, coù tính khaû chuyeån, an toaøn, ñaùng tin caäy, … - Thöû nghieäm thöïc teá vaø ñaùnh giaù - Höôùng phaùt trieån ñeà taøi Keát luaän Chöông trình töø ñieån ñöôïc xaây döïng döïa treân coâng ngheä XML, chöông trình minh hoaï ôû ñaây ñaõ vaøo 600 töø. Cô sôû döõ lieäu ñöôïc toå chöùc treân file.xml, noù coù theå chaïy treân moïi heä ñieàu haønh vaø khaû naêng tra cöùu raát nhanh. Söû duïng coâng cuï ñoùng goùi trong laäp trình Java baèng JBulider ñeå ñoùng goùi chöông trình, sau ñoù coù theå copy chöông trình ñöôïc ñoùng goùi naøy vaøo baát cöù maùy PC naøo ñeå chaïy vaø chaïy tröïc tieáp treân file.exe. Hoaëc ta coù theå copy toaøn boä chöông trình vaøo maùy coù caøi ñaët JBuilder thì coù theå chaïy chöông trình moät caùch deã daøng. Chöông trình giaûi quyeát ñöôïc caùc yeâu caàu cuûa ñeà taøi tuy nhieân ñeå chöông trình hoaøn thieän hôn, em xin ñöa ra moät soá höôùng phaùt trieån sau: · Xöû lyù aâm thanh: ví duï khi click vaøo moät töø caàn tra cöùu, ngoaøi bieát ñöôïc ngöõ nghóa, phieân aâm, loaïi töø, ví duï, thaønh ngöõ, … ta coøn coù theå bieât ñöôïc phaùt aâm cuûa töø ñoù laø theá naøo. · Ta coù theå theâm vaøo caùc loaïi töø ñieån khaùc nhö Anh – Anh, Vieät – Anh, töø ñieån Computer, … ñeå chöông trình trôû thaønh moät phaàn meàm töø ñieån ñaày ñuû vaø phong phuù . KEÁT LUAÄN Nhìn chung chöông trình ñaõ giaûi quyeát hoaøn taát caùc yeâu caàu cuûa ñeà taøi ñaët ra ñoù laø: · Xaây döïng moät phaàn meàm töø ñieån hoaøn chænh chaïy ñöôïc treân Windows. · Chöông trình ñöôïc xaây döïng theo moâ hình SAX, DOM trong ñoù vieäc truy xuaát Database thöïc hieän treân file.xml neân toác ñoä öùng duïng khaù toát. · Giao dieän cuûa chöông trình gaàn guõi vaø thaân thieän ñoái vôùi ngöôøi söû duïng. Tuy nhieân trong quaù trình thöïc hieän ñeà taøi cuõng coøn gaëp nhieàu khoù khaên : Do thôøi gian laøm luaän vaên ngaén, vôùi nhöõng noå löïc cuûa baûn thaân em vöøa phaûi tieáp caän coâng ngheä môùi vöøa phaûi hoïc ngoân ngöõ laäp trình neân gaëp nhieàu khoù khaên nhaát laø trong khai thaùc chieàu saâu vaán ñeà vaø kinh nghieäm xöû lyù trong laäp trình. Ñieàu kieän thöïc taäp toát nghieäp gaëp nhieàu khoù khaên, haïn cheá veà taøi lieäu vaø nhaát laø thaày höôùng daãn ôû quaù xa neân em khoâng coù cô hoäi ñöôïc tröïc tieáp trao ñoåi coâng vieäc cuøng thaày (chæ coù theå trao ñoåi qua email vaø ñieän thoaïi). Ñoái vôùi em, laàn thöïc taäp naøy ñaõ giuùp em tröôûng thaønh hôn vaø môû roäng theâm kieán thöùc. Tuy nhieân trong baøi laøm khoâng traùnh khoûi nhöõng thieáu soùt, kính mong ñöôïc söï thoâng caûm vaø goùp yù cuûa quyù thaày coâ ñeå em ruùt ra ñöôïc nhöõng baøi hoïc kinh nghieäm quyù baùu cho mình vaø ñoù cuõng laø haønh trang ñeå em böôùc ñi tieáp trong töông lai. Cuoái cuøng, em xin gôûi lôøi caùm ôn chaân thaønh ñeán quyù thaày coâ vaø traân troïng caùm ôn thaày Nguyeãn Ngoïc Bình, ngöôøi ñaõ quan taâm, taän tình chæ daãn em hoaøn thaønh ñeà taøi naøy. Moâ hình DOM xem taøi lieäu caàn xöû lyù nhö moät caáu truùc caây. DOM cung caáp thuoäc tính vaø phöông thöùc ñeå duyeät ñeán töøng nuùt cuûa caây nhaèm trích ruùt döõ lieäu caàn laáy. Noùi chung vôùi DOM ta phaûi chuû ñoäng tìm ñeán döõ lieäu. Moâ hình SAX ñôn giaûn hôn DOM, SAX vieát taét Simple API for XML. Theo ñuùng teân goïi cuûa noù, SAX chöùa caùc taäp giao tieáp API cho pheùp xöû lyù döõ lieäu XML theo moâ hình höôùng söï kieän. Coù nghóa laø döõ lieäu maø ta mong muoán seõ töï ñoäng gôûi ñeán khi moät söï kieän phaùt sinh thay vì ta phaûi töï laáy ra döõ lieäu baèng caùch laàn ñeán töøng nuùt (ñi töø nuùt goác).Ñoái vôùi moâ hình xöû lyù SAX, muoán xöû lyù moät kieåu nuùt naøo ta chæ caàn caøi ñaët phöông thöùc cuï theå tieáp nhaän kieåu nuùt caàn xöû lyù. Trình phaân tích SAX seõ ñoïc vaø dieãn dòch toaøn boä noäi dung taøi lieäu. Khi phaùt hieän moät kieåu nuùt naøo ñoù, söï kieän töông öùng seõ phaùt sinh vaø haøm xöû lyù söï kieän daønh cho nuùt seõ ñöôïc goïi. Baèng caùch naøy SAX ñaõ gôûi noäi dung taøi lieäu ñeán cho ta thay vì ta phaûi ñi tìm kieám noù nhö trong DOM. KEÁT LUAÄN Trong thôøi gian thöïc taäp vöøa qua, ñeå hoaøn thaønh ñeà taøi ñöôïc giao baûn thaân em noùi rieâng vaø taát caû caùc baïn trong lôùp noùi chung ñeàu coá gaéng, noå löïc heát söùc ñeå laøm troøn traùch nhieäm cuûa mình. Thôøi gian thöïc taäp khoâng phaûi laø quaù ngaén nhöng cuõng khoâng phaûi laø quaù daøi, vì kieán thöùc laø voâ cuøng roäng lôùn neân khoâng ai daùm khaúng ñònh mình ñaõ khai thaùc trieät ñeå moïi vaán ñeà hoaëc khoâng heà maéc sai phaïm. Ñoái vôùi em, laàn thöïc taäp naøy ñaõ giuùp em tröôûng thaønh hôn vaø môû roäng theâm kieán thöùc. Tuy nhieân trong baøi laøm khoâng traùnh khoûi nhöõng thieáu soùt, kính mong ñöôïc söï thoâng caûm vaø goùp yù cuûa quyù thaày coâ ñeå em ruùt ra ñöôïc nhöõng baøi hoïc kinh nghieäm quyù baùu cho mình vaø ñoù cuõng laø haønh trang ñeå em böôùc ñi tieáp trong töông lai. Cuoái cuøng, em xin gôûi lôøi caùm ôn chaân thaønh ñeán quyù thaày coâ vaø caùm ôn thaày Nguyeãn Ngoïc Bình, ngöôøi ñaõ quan taâm, taän tình chæ daãn em hoaøn thaønh ñeà taøi naøy.