Thao tác dữ liệu XML với java và api jdom ứng dụng quản lý các tài liệu tham khảo của giáo trình - Pdf 37

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN-TT
BỘ MÔN HỆ THỐNG THÔNG TIN VÀ TOÁN ỨNG DỤNG

------

------

LUẬN VĂN TỐT NGHIỆP
THAO TÁC DỮ LIỆU XML VỚI JAVA VÀ API JDOM
ỨNG DỤNG QUẢN LÝ CÁC TÀI LIỆU THAM KHẢO
CỦA GIÁO TRÌNH

Sinh Viên Thực Hiện:

Giáo Viên Hướng Dẫn:

Họ và tên: Lê Hoàng Minh Nhẫn

Họ và tên: TS.Phạm Thị Xuân Lộc

MSSV: 1063292

MSCB: 514

Lớp: Tin học 2 (DI0656A2)
Khóa: 32

CẦN THƠ, 05/2010



GVHD: TS. Phạm Thị Xuân Lộc - Trang i - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
Cần Thơ, ngày

..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
Cần Thơ, ngày

tháng

năm 2010

Giáo viên phản biện

GVHD: TS. Phạm Thị Xuân Lộc - Trang iii - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

TRƯỜNG ÐẠI HỌC CẦN THƠ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

Ðộc Lập - Tự Do - Hạnh Phúc

Về XML, LV đã tìm hiểu định nghĩa, tầm quan trọng của XML, cấu trúc một tài liệu
XML và các qui tắc trên đó.
Java được chú trọng ở sự kết hợp với XML nên SAX và JDOM được đề cập sau khi
nói qua DOM.
Kết quả nghiên cứu được trình bày với ưu khuyết điểm trên cả hai việc nghiên cứu
lý thuyết và ứng dụng.
Hướng phát triển hợp lý.
GVHD: TS. Phạm Thị Xuân Lộc - Trang iv - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

Về sản phẩm/ chương trình demo
Demo đơn giản trên một hệ thống đơn giản vì chỉ dùng minh họa cho lý thuyết.
Tuy thế, tác giả cũng hoàn thành một HTTT hoàn chỉnh, nghiêm túc với đầy đủ ràng
buộc toàn vẹn, các gợi ý nhắc nhở, thông báo sai và thao tác nhanh gọn, kết quả chính xác.
Về buổi báo cáo và trả lời chất vấn
Slides theo hình thức chuẩn của trường ĐHCT, đôi chỗ ôm đồm nhiều thông tin quá
như khi giới thiệu các package của JDOM. Phong cách báo cáo do đặc thù của LV nên lúc
đấu còn chưa thật sinh động, nhưng về sau lôi cuốn được khán giả ở kiến thức của tác giả.
Phản ứng khi trình bày và chất vấn có linh động, có chính kiến.
Về tinh thần thái độ làm việc
Ham học hỏi, thông minh, có tinh thần vượt khó. Chủ động đề xuất ý kiến với
GVHD. Tuy nhiên, mạnh dạn trong suy nghĩ mà còn rụt rè trong giao tiếp.
Phần chấm điểm: Người đánh giá dựa vào các nhận xét trên để chấm điểm theo thang điểm
sau:
Nội dung đánh giá


Chức năng của sản phẩm đáp ứng yêu cầu đặt ra

2

Sản phẩm có khả năng ứng dụng trong thực tiễn

1

BÁO CÁO VÀ TRẢ LỜI CHẤT VẤN

Điểm thực chấm

2

Báo cáo tốt

0.75

Trả lời chất vấn tốt
TINH THẦN THÁI ĐỘ LÀM VIỆC
TỔNG CỘNG

1
1
9.75 (Xuất sắc)

GVHD: TS. Phạm Thị Xuân Lộc - Trang v - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp


GVHD: TS. Phạm Thị Xuân Lộc - Trang vi - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

TÓM TẮT, ABSTRACT VÀ TỪ KHÓA
I.TÓM TẮT
JDOM là một API miễn phí (giao diện lập trình ứng dụng – mã nguồn mở) được tạo bởi
Brett MacLaughlin and Jason Hunter. JDOM là một API đặc biệt dành cho Java trái với
SAX (API đơn giản cho Java) và DOM (mô hình đối tượng tài liệu) là những API độc lập
ngôn ngữ.
JDOM thì dễ dàng, là một đại diện Java của một tài liệu XML. JDOM đưa ra cách trình
bày tài liệu sao cho dễ dàng, đọc, thao tác, ghi hiệu quả. Nó có một API không phức tạp,
nhẹ, nhanh và tối ưu hóa cho lập trình viên Java. Nó khác với DOM và SAX mặc dù nó tích
hợp tốt cả DOM và SAX.
Bây giờ, JDOM vẫn còn trẻ và đang nâng cao. Phiên bản mới nhất là JDOM 1.1.1 hỗ trợ
cả ngôn ngữ XPath (thông qua gói phần mềm Jaxen).
Luận văn này sẽ cho chúng ta thấy làm thế nào để đặt Java và XML cùng nhau, xây dựng
những phần mềm thế giới thực trong đó cả hai mã và dữ liệu đều di chuyển đích thực.
II.ABSTRACT
JDOM is a free API (Application Programming Interface – open source) created by Brett
McLaughlin and Jason Hunter. JDOM is a specific API for Java contrary to SAX (Simple
API for XML) and DOM (Document Object Model), APIs are independent languages.
JDOM is, quite simply, a Java representation of an XML document. JDOM provides a
way to represent that document for easy and efficient reading, manipulation, and writing. It
has a straightforward API, is a lightweight and fast, and is optimized for the Java
programmer. It's an alternative to DOM and SAX, although it integrates well with both

GIỚI THIỆU ............................................................................................. 1

I.1.

ĐẶT VẤN ĐỀ....................................................................................................... 1

I.2.

MỤC TIÊU CẦN ĐẠT ĐƯỢC ............................................................................. 2

I.3.

PHẠM VI CỦA ĐỀ TÀI ....................................................................................... 2

I.4.

HƯỚNG GIẢI QUYẾT......................................................................................... 2

I.4.1.

Lý thuyết .................................................................................................... 2

I.4.2.

Chương trình............................................................................................... 2

I.5.

BỐ CỤC CỦA QUYỂN LUẬN VĂN ................................................................... 2


II.1.1.4.5. Dữ liệu tự mô tả ................................................................................... 8

GVHD: TS. Phạm Thị Xuân Lộc - Trang viii - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

II.1.1.4.6. XML cho phép mã hóa thông minh ...................................................... 8
II.1.1.4.7. XML cho phép tìm kiếm thông minh ................................................... 9
II.1.1.5.

Cấu trúc của một tài liệu XML ................................................................ 9

II.1.1.5.1. Khai báo XML (XML declaration)....................................................... 9
II.1.1.5.2. Chú thích (Comments) ....................................................................... 10
II.1.1.5.3. Phần tử gốc (root element) ................................................................. 11
II.1.1.5.4. Thẻ và các phần tử (Elements) ........................................................... 11
II.1.1.5.5. Phần tử rỗng (Empty Element) ........................................................... 12
II.1.1.5.6. Thuộc tính (Attribute) ........................................................................ 12
II.1.1.5.7. PCDATA (Parsed Chacracter DATA)................................................ 13
II.1.1.5.8. CDATA (Character DATA)............................................................... 13
II.1.1.5.9. Chỉ thị tiền xử lý (Processing Instructions)......................................... 14
II.1.1.5.10. Bộ phân tích (Parser)........................................................................ 14
II.1.1.6.
II.1.2.

Các quy tắc tài liệu của XML.................................................................... 17


II.2.2.

Java là gì? ................................................................................................. 28

II.2.3.

Các đặc trưng của Java.............................................................................. 28

II.2.4.

Nguyên lý hoạt động................................................................................. 29

II.2.5.

Cấu trúc của một chương trình Java .......................................................... 30

II.2.6.

Các phần mềm cài đặt ............................................................................... 30

II.2.6.1.

Bộ phần mềm phát triển Java................................................................. 30

II.2.6.2.

IDE ....................................................................................................... 31

II.2.7.


DOM là gì? ........................................................................................... 33

II.3.1.3.

Chức năng của DOM............................................................................. 34

II.3.1.4.

Cơ chế thực hiện ................................................................................... 34

II.3.1.5.

Cấu trúc DOM tree................................................................................ 35

II.3.1.6.

Các thành phần của DOM ..................................................................... 35

II.3.1.7.

Khuyết điểm của DOM ......................................................................... 35

II.3.1.8.

Cách thức thực hiện............................................................................... 36

II.3.1.9.

Ví dụ về sử dụng Java DOM để phân tích tài liệu XML ........................ 36


Vì sao có JDOM? .................................................................................. 41

II.3.3.2.

JDOM là gì?.......................................................................................... 41

II.3.3.3.

Sứ mệnh của JDOM .............................................................................. 42

II.3.3.4.

Tại sao ta cần JDOM? ........................................................................... 42

II.3.3.5.

API JDOM ............................................................................................ 44

II.3.3.6.

Luồng chương trình tổng quát ............................................................... 53

II.3.3.7.

Tạo một file XML với JDOM................................................................ 54

II.3.3.8.

Download và cài đặt JDOM .................................................................. 54


Giải pháp Java với XPath ...................................................................... 67

II.3.4.3.

Môi trường thích hợp ............................................................................ 67

II.3.4.4.

Nguyên tắc hoạt động............................................................................ 68

II.3.4.5.

Cú pháp XPath ...................................................................................... 68

II.3.4.6.

XPath áp dụng cho Java ........................................................................ 70

II.3.4.7.

Kết luận................................................................................................. 71

Chương III.

CHƯƠNG TRÌNH ỨNG DỤNG............................................................ 72

III.1. QUẢN LÝ CÁC TÀI LIỆU THAM KHẢO CỦA GIÁO TRÌNH........................ 72
III.1.1.

Những thông tin cần quản lý ..................................................................... 72

III.2.3.3.

Xóa ....................................................................................................... 88

III.2.3.4.

Tìm kiếm............................................................................................... 90

III.2.3.5.

Thống kê ............................................................................................... 92

Chương IV.

KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ................................................ 95

IV.1. KẾT QUẢ ĐẠT ĐƯỢC ...................................................................................... 95
IV.2. ƯU VÀ KHUYẾT ĐIỂM .................................................................................... 95
IV.2.1.

Ưu điểm.................................................................................................... 95

IV.2.2.

Khuyết điểm ............................................................................................. 95

IV.3. HƯỚNG PHÁT TRIỂN....................................................................................... 96
TÀI LIỆU THAM KHẢO ............................................................................................... 97

GVHD: TS. Phạm Thị Xuân Lộc - Trang xi - SVTH: Lê Hoàng Minh Nhẫn - 1063292


dùng.
Banking Industry Technology - Ngôn ngữ văn phòng về kỹ thuật

BITS

nghiệp vụ ngân hàng.
CBL – Common

Common Bussiness Library – Thư viện kinh doanh thông dụng.

Bussiness Library
Chemical Markup

Chemical Markup Language - Ngôn ngữ định dạng hóa học.

Language
Cascading Style Sheet – Bảng định kiểu.

CSS

Document Object Model – Mô hình đối tượng tài liệu. DOM cho phép

DOM

xử lý đến từng nút dữ liệu XML theo cấu trúc cây.

DTD

Document Type Definition – định nghĩa kiểu tài liệu.

Java Development Kit – Bộ công cụ phát triển Java.

JDOM

Java Document Object Model – Mô hình đối tượng tài liệu Java.

GVHD: TS. Phạm Thị Xuân Lộc - Trang xii - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

JVM

Java Virtual Machine – Máy ảo Java.

Multi-platform

Đa nền.

OOP

Oriented Object Programming – Lập trình hướng đối tượng.

RPC

Remote Procedure Call – Phương thức gọi hàm từ xa.
Simple API for XML – Giao diện lập trình ứng dụng đơn giản xử lý tài


VML

trong trình duyệt.
World Wide Web Consortium – Tổ chức định nghĩa các chuẩn ứng

W3C

dụng cho mạng Internet.

Well-formed
XML

Tài liệu XML đúng cú pháp.
Wireless Markup Language – Ngôn ngữ định dạng mạng không dây.

WML

Extension HyperText Markup Language – Ngôn ngữ mở rộng của

XHTML

HTML dựa trên XML.

XLink

Tạo liên kết trong tài liệu XML.

XML

Extensible Markup Language – Ngôn ngữ đánh dấu mở rộng.

Thao tác dữ liệu XML với Java và API JDOM

DANH MỤC HÌNH
Hình 1. XML là gì? ............................................................................................................ 3
Hình 2. Cấu trúc một tài liệu XML................................................................................... 9
Hình 3. Các thành phần mà ngôn ngữ Java hỗ trợ ........................................................ 28
Hình 4 . IDE NetBeans..................................................................................................... 31
Hình 5 . Các gói trong Swing........................................................................................... 32
Hình 6. Vai trò của DOM. ............................................................................................... 34
Hình 7. Cơ chế thực hiện của DOM ................................................................................ 34
Hình 8. Cấu trúc DOM tree............................................................................................. 35
Hình 9. Cơ chế của SAX .................................................................................................. 39
Hình 10. Mô tả các thành phần của API JDOM. ........................................................... 43
Hình 11. Các gói trong API JDOM ................................................................................. 44
Hình 12. Cấu trúc gói API JDOM................................................................................... 45
Hình 13. Các thành phần của gói org.jdom .................................................................... 45
Hình 14. Các thành phần trong gói org.jdom.adapters ................................................. 47
Hình 15. Các thành phần của gói org.jdom.filter ........................................................... 49
Hình 16. Các thành phần trong gói org.jdom.input ....................................................... 50
Hình 17. Các thành phần trong gói org.jdom.output ..................................................... 51
Hình 18. Các thành phần trong gói org.jdom.transform ............................................... 52
Hình 19. Các thành phần trong gói org.jdom.xpath ...................................................... 53
Hình 20. Luồng chương trình tổng quát của JDOM. ..................................................... 54
Bảng 8. Các thành phần của một phần tử được hỗ trợ trong JDOM............................ 61
Hình 21. Những phương thức của Java hỗ trợ XPath trong gói org.jdom.xpath ......... 67
Hình 22. Giải thích cú pháp của XPath .......................................................................... 70
Hình 23. Mô hình MCD ................................................................................................... 72
Hình 24. Giao diện chính của chương trình ứng dụng................................................... 74
Hình 25. Giao diện cây của tài liệu Book.xml ................................................................. 75
Hình 26. Giao diện thao tác thêm giáo trình................................................................... 86

I.1. ĐẶT VẤN ĐỀ:
Trong thời đại công nghệ thông tin hiện nay XML (Extensible Markup Language) chiếm
vị trí số một và rất quan trọng trong việc chuyển tải, trao đổi dữ liệu và liên lạc giữa các ứng
dụng. Điều này càng được khẳng định khi trong các hệ điều hành từ WindowsXP trở đi, bên
trong nó chứa đầy XML. Hơn nữa, khi bộ .NET ra đời thì càng làm cho XML trở nên thịnh
hành. Sử dụng kỹ thuật XML không chỉ có tập đoàn Microsoft mà ngay cả Sun, IBM,
Oracle đều hỗ trợ XML và dùng nó trong các ứng dụng.
Bên cạnh đó, Java đã cách mạng hóa thế giới lập trình bởi việc cung cấp một nền tảng
ngôn ngữ lập trình độc lập. Java là một ngôn ngữ lập trình hướng đối tượng, Java là ngôn
ngữ đa nền (multi-platform) , nổi tiếng với slogan (khẩu hiệu) “write once, run anywhere” –
“viết một lần, chạy mọi nơi” và biểu tượng tách cà phê bóc khói! Nó có thể thực thi trên
các hệ điều hành khác nhau (MS Windows, Linux, Unix,…) mà không phải biên dịch lại
chương trình. Java là một ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong
sáng. Với những ưu điểm vượt trội ấy, Java đã phát triển rất nhanh chóng và trở nên phổ
dụng ở mọi lĩnh vực. Vì thế, ngày nay mọi ứng dụng đa nền đều hướng về Java.
XML đã trở thành từ thông dụng nhất trên Internet trong những gần đây. Nếu Java đã
cách mạng hóa thế giới lập trình bởi việc cung cấp một ngôn ngữ lập trình độc lập nền tảng,
thì XML đưa cuộc cách mạng tiến xa thêm một bước bằng việc cung cấp một nền tảng ngôn
ngữ độc lập cho việc trao đổi dữ liệu. Java và XML chia sẻ nhiều đặc tính lý tưởng để xây
dựng những ứng dụng xí nghiệp trên nền Web, như sự độc lập nền tảng, tính mở rộng, khả
năng sử dụng lại, hỗ trợ của ngôn ngữ toàn cầu (Unicode), và cả hai đều dựa vào tiêu chuẩn
công nghiệp. Cùng nhau, Java và XML cho phép những xí nghiệp đơn giản hóa và giảm giá
thành của việc chia sẽ thông tin và trao đổi dữ liệu.
Từ lâu, chúng ta đã nghe nói đến mã Java là “portable code” (mã di động), thì nay dữ
liệu XML là “portable data” (dữ liệu di động). Một sự kết hợp tự nhiên của hai ngôn ngữ để
tạo nên những ứng dụng “portable code, portable data”. Một cặp bài trùng vô cùng xứng
đôi! Nhận thấy mối quan hệ đặc biệt đó cho nên Jason Hunter và Brett McLaughlin đã đưa
ra một biểu thức: JAVA + XML = JDOM. Tại sao hai ông lại đưa ra biểu thức ấy? JDOM
là gì? JDOM có phải là một kết quả hoàn hảo cho mối “lương duyên” giữa Java và XML?
Vậy, làm thế nào để đặt Java và XML cùng nhau, xây dựng những ứng dụng thế giới

Ngôn ngữ lập trình: dĩ nhiên là Java và XML.
Công cụ hỗ trợ biên dịch Java: NetBean 6.8, JDK 1.6.
Các gói thư viện hỗ trợ XML và Java: xml4j.jar, xerces.jar, jdom.jar, jaxen.jar.
I.5. BỐ CỤC CỦA QUYỂN LUẬN VĂN
Bố cục chính của quyển luận văn gồm 4 chương sau:
Chương I: Giới thiệu tổng quan về đề tài, phương hướng giải quyết vấn đề.
Chương II: Tìm hiểu về cơ sở lý thuyết liên quan đến đề tài.
Chương III: Giới thiệu demo để minh họa cho vấn đề tìm hiểu.
Chương IV: Nhận xét về kết quả đạt được và hướng phát triển của đề tài.
Trên đây, giới thiệu một cách tổng quan nhất về đề tài. Chúng ta sẽ đi sâu vào tìm hiểu
những cơ sở lý thuyết ở chương kế tiếp.
GVHD: TS. Phạm Thị Xuân Lộc - Trang 2 - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

Chương II.CƠ SỞ LÝ THUYẾT
Như đã giới thiệu ở chương I, ở chương này chúng ta sẽ đi sâu vào nghiên cứu những cơ
sở lý thuyết có liên quan để giải quyết vấn đề gồm …
II.1. GIỚI THIỆU TỔNG QUAN
II.1.1. Giới thiệu về XML
Nếu phải tiên đoán kỹ thuật tin học nào sẽ thịnh hành trong tương lai, nhất là tương lai
gần chúng ta không cần phải học chiêm tinh cũng đoán được là XML. Vì ngay cả
Mircrosoft lẫn Sun, Oracle, IBM đều nhất quyết dấn thân vào con đường này với mọi ứng
dụng của mình.
II.1.1.1. XML là gì?

Hình 1. XML là gì?



Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

Language (SGML) – Ngôn ngữ đánh dấu tổng quát chuẩn. SGML được phát minh bởi Ed
Mosher, Ray Lorie và Charles F. Goldfarb của nhóm IBM Research vào năm 1969, khi con
người đặt chân lên mặt trăng. Lúc đầu nó có tên là Generalized Markup Language
(GML), và được thiết kế để dùng làm meta-language, một ngôn ngữ được dùng để diễn tả
các ngôn ngữ khác - văn phạm, ngữ vựng của chúng ,... SGML là một tiêu chuẩn quốc tế
cho việc định nghĩa những sự mô tả cấu trúc và nội dung trong những tài liệu văn bản. Nó
độc lập thiết bị và độc lập hệ thống. Nó sử dụng DTD (Document Type Definiton – định
nghĩa kiểu tài liệu) để kiểm tra cấu trúc của tài liệu. Những thẻ trong SGML không được
định nghĩa trước. Nó lớn, mạnh và rất phức tạp. Nó được sử dụng một cách nặng nề trong
công nhiệp và thương mại hơn một thập kỷ.
SGML là một ngôn ngữ đánh dấu tiêu chuẩn mở rộng dùng để thêm đuôi vào văn bản
nhằm báo hiệu rằng văn bản đã được định dạng. Thuật ngữ “markup” mang tính chất lịch sử
dựa vào những đánh dấu của người biên soạn lên các trang để chỉ ra cách định dạng chúng.
Trong giai đoạn đầu của việc đánh máy bằng máy vi tính, có rất nhiều hệ thống đánh máy
khác nhau, mỗi hệ thống dùng một ngôn ngữ đánh dấu riêng. Những ngôn ngữ này bao gồm
những ký tự kiểm soát đặc biệt để chỉ ra điểm bắt đầu và điểm cuối của một định dạng.
Những dấu hiệu đánh dấu này khó hiểu và không thống nhất cho nên người sử dụng nhanh
chóng nhận ra việc cần một ngôn ngữ đánh dấu chuẩn để tránh nhầm lẫn.
Có hai tổ chức - Graphics Communication Association và ANSI (American National
Standards Institute) - thực hiện vấn đề này từ những năm 1980. Cuối cùng, họ kết hợp lại
với nhau và trong năm 1986, ISO (International Standard Organisation - Tổ chức quốc tế về
tiêu chuẩn hóa) giới thiệu SGML. Phần quan trọng nhất của SGML là các file chứa các ký
tự tiêu chuẩn ASCII có nghĩa là chúng có thể được mang từ hệ thống này sang hệ thống
khác. SGML đã tạo ra những cách định dạng văn bản rất đơn giản bằng cách định nghĩa cấu

thiết kể để SGML có thể được phân phát qua Web.
Điểm quan trọng của kỹ thuật XML là nó không thuộc riêng về một công ty nào, nó là
một sản phẩm mà trí tuệ của nó thuộc về cả thế giới, nó là một tiêu chuẩn được mọi người
công nhận vì được soạn ra bởi W3C (một ban soạn thảo với sự hiện diện của tất cả các
chuyên gia tin học) và những ý kiến đóng góp bằng cách trao đổi qua email.
Bản thân của XML rất đơn giản, nhưng các công cụ chuẩn được định ra để làm việc với
XML như Document Object Model - DOM, XPath, Extension Style Language - XSL,... thì
rất hữu hiệu, và chính các chuẩn này được phát triển không ngừng.
XML cũng giống như HTML đều là ngôn ngữ đánh dấu, nhưng điều cần nói ở đây là sự
ra đời của XML để khắc phục cho một số yếu kém của HTML. HTML và XML đều sử
dụng các thẻ (tag) nhưng các tag của HTML là một bộ dữ liệu tag được xây dựng và định
nghĩa trước, tức là người lập trình phải tuân thủ theo các thẻ đã định nghĩa của HTML, hiện
HTML có khoản hơn 400 tag, để nhớ hết 400 tag này cũng không có gì khó khăn đối với
người lập trình web chuyên nghiệp nhưng thật khó đối với những người không chuyên. Hơn
nữa các tag của HTML không nói lên được mô tả dữ liệu trong đó. Nhưng đối với XML thì
hoàn toàn khác bởi vì tag trong XML là do người lập trình định nghĩa và mỗi tag là một mô
tả dữ liệu mà người lập trình muốn truyền đạt. Nói chung, nó mềm dẻo và thích ứng hơn
HTML. Một ứng dụng quan trọng của XML với HTML là XHTML (Extension HyperText
Markup Language). XHTML dùng mở rộng và định nghĩa lại HTML một cách có trật tự và
GVHD: TS. Phạm Thị Xuân Lộc - Trang 5 - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

cấu trúc hơn. Nói chung, XHTML hoàn toàn sử dụng lại các thẻ định dạng của HTML (và
do đó, các trình duyệt đều có khả năng hiểu được XHTML như là trang HTML thông
thường) nhưng theo một định nghĩa và khuôn dạng thống nhất. Điểm đặc biệt đó là tất cả
các thẻ trong XHTML phải chữ thường. Các phần thẻ phải tuân theo cú pháp và nguyên tắc



Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

Thương mại điện tử - eCommerce (electronic Commerce): B2B (Business To
Business), B2C (Business To Costomer),…
II.1.1.4. Tại sao XML quan trọng?
II.1.1.4.1. Khả năng liên kết (Linkability) thông qua XLink và XPointer:
XLink hỗ trợ các liên kết tài liệu XML một cách rất tổng quát. Trong HTML chúng ta
phải sử dụng phần tử như <A>, <MG> để tạo liên kết. XLink không qui định phần tử nào
cả, thay vào đó liên kết được chỉ ra bởi thuộc tính của phần tử. Vì lý do này mà chúng ta có
thể tự định nghĩa mọi phần tử XML có thuộc tính liên kết tạo nên XLink.
XPointer dùng để trỏ đến mục thông tin dữ liệu trong tài liệu XML. XPointer được xây
dựng trên cơ sở XPath. Khi học XPath chúng ta sẽ biết cách tạo đường dẫn đến từng nút cụ
thể trong cây tài liệu XML. Tuy XPath có khả năng định vị nhưng nó không có khả năng chỉ
ra chính xác dữ liệu cần lấy. Để làm được điều này chúng ta cần nhờ vào Xpointer.
Sử dụng XLink và XPointer XML có thể tạo nên:
Những siêu liên kết đơn giản theo một hướng duy nhất.
Những mối liên kết 2 chiều.
Những liên kết đa đích đến.
Những liên kết mở rộng.
II.1.1.4.2. Dữ liệu có cấu trúc và tích hợp
Một khía cạnh mạnh mẽ của XML là không chỉ cho phép chúng ta lưu trữ vào file XML
dựa trên thẻ mà còn tổ chức dữ liệu theo cấu trúc. XML cho phép các phần tử thẻ tích hợp
với nhau tạo nên một cấu trúc dữ liệu phân cấp (hierarchical) hoàn chỉnh.
Dữ liệu XML phân cấp theo cấu trúc cây và vì thế ta có thể:
Truy cập nhanh hơn.
Sắp xếp lại dễ dàng hơn.

Ngôn ngữ định dạng dùng vẽ ảnh véc tơ trong trình duyệt (VML – Vector Markup
Language).
II.1.1.4.5. Dữ liệu tự mô tả
Dữ liệu trong tài liệu XML tự mô tả ý nghĩa của nó.
Ví dụ:
</?xml version = “1.0” encoding = “UTF-8”?>
<People>
<Student>
<FullName>Lê Hoàng Thắng</FullName>
<Code>1063392</Code>
<Class>TH2-K32<Class>
</Student>
</People>
Chỉ dựa vào các tên thẻ được ta đặt cho các phần tử XML, chúng ta có thể hình dung ra
nội dung và cách dữ liệu muốn thể hiện. Tài liệu này chứa thông tin về một sinh viên. Cho
dù mấy năm sau mở lại tài liệu này chúng ta vẫn có thể hiểu nội dung của nó.
II.1.1.4.6. XML cho phép mã hóa thông minh
Bởi vì, những văn bản XML được tổ chức để nhận dạng từng thông tin quan trọng (cũng
như mối quan hệ giữa các thông tin), có thể viết mã để xử lí văn bản XML mà không cần
GVHD: TS. Phạm Thị Xuân Lộc - Trang 8 - SVTH: Lê Hoàng Minh Nhẫn - 1063292


Luận văn tốt nghiệp

Thao tác dữ liệu XML với Java và API JDOM

con người tác động. Những nhà cung cấp phần mềm đã dành rất nhiều thời gian và tiền bạc
để xây dựng các công cụ phát triển XML, làm cho việc viết ngôn ngữ này thành một quá
trình tương đối đơn giản.
II.1.1.4.7. XML cho phép tìm kiếm thông minh


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status