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. GIỚI THIỆU TỔNG QUAN.................................................................................. 3
II.1.1. Giới thiệu về XML...................................................................................... 3
II.1.1.1. XML là gì?.............................................................................................. 3
II.1.1.2. Cách hiển thị tài liệu XML ...................................................................... 6
II.1.1.3. XML được dùng ở đâu? .......................................................................... 6
II.1.1.4. Tại sao XML quan trọng?........................................................................ 7
II.1.1.4.2. Dữ liệu có cấu trúc và tích hợp............................................................. 7
II.1.1.4.3. XML đơn giản hóa việc trao đổi dữ liệu............................................... 7
II.1.1.4.4. Tùy biến ngôn ngữ định dạng............................................................... 8
II.1.1.4.5. Dữ liệu tự mô tả ................................................................................... 8
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. Không gian tên (Namespace)................................................................. 14
II.1.2. Các quy tắc tài liệu của XML.................................................................... 17
II.1.2.1. Tạo tài liệu XML đúng cú pháp (well-formed) ...................................... 17
II.1.2.2. Tài liệu XML hợp lệ (valid) .................................................................. 20
II.1.3. Lược đồ XML (XML Schema) ................................................................. 24
II.1.3.1. Vì sao có XML Schema ........................................................................ 24
II.1.3.2. XML schema là gì? ............................................................................... 24
II.2.1. Giới thiệu.................................................................................................. 28
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. Thiết kế giao diện với Swing .................................................................... 31
II.2.7.1. Swing là gì? .......................................................................................... 31
II.2.7.2. Các thành phần của Swing..................................................................... 32
II.3.1. DOM (Document Object Model) .............................................................. 33
II.3.1.1. Vì sao có DOM?.................................................................................... 33
II.3.1.2. 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
II.3.2.1. Vì sao có SAX?..................................................................................... 37
II.3.2.2. SAX là gì?............................................................................................. 38
II.3.2.3. Chức năng chính của SAX .................................................................... 39
II.3.2.4. Ưu – nhược điểm của SAX.................................................................... 39
II.3.2.5. Một ví dụ về Java SAX phân tích tài liệu XML ..................................... 40
II.3.3.1. 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
II.3.3.9. Tạo một cây đơn giản ............................................................................ 55
II.3.3.10. Hiển thị và lưu tập tin............................................................................ 56
II.3.3.11. Duyệt một file XML.............................................................................. 57
II.3.3.11.1. Phân tích một file XML.................................................................... 57
II.3.3.11.2. Duyệt cây ......................................................................................... 59
II.3.3.11.3. Lọc những phần tử ........................................................................... 59
II.3.3.12. Sửa đổi một cây JDOM ......................................................................... 61
II.3.3.12.1. Sửa đổi những phần tử ..................................................................... 61
II.3.3.12.2. Phân tích DOM thành JDOM và ngược lại ....................................... 65
II.3.3.13. Kết Luận ............................................................................................... 66
II.3.4. Duyệt tập tin XML với XPath ................................................................... 66
II.3.4.1. XPath là gì?........................................................................................... 66
II.3.4.2. 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
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.1.2. Mô hình MCD (Modèle conceptuel des données)...................................... 72
III.1.3. Mô hình tổ chức file XML ........................................................................ 73
III.2. MÔ TẢ CHỨC NĂNG CÁC MODULE CHÍNH ................................................ 74
III.2.1. Giao diện chính......................................................................................... 74
III.2.2. Menu File ................................................................................................. 75
III.2.3. Những thao tác cơ bản giữa Java và JDOM với file XML (Book.xml) ...... 75
III.2.3.1. Thêm..................................................................................................... 75
III.2.3.2. Sửa........................................................................................................ 86
III.2.3.3. Xóa ....................................................................................................... 88
III.2.3.4. Tìm kiếm............................................................................................... 90
III.2.3.5. Thống kê ............................................................................................... 92
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