1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML

114 664 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 114
Dung lượng 3,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Phương pháp băm nhỏ hay phân tách các tài liệu XML thành các bảng CSDL - Cài đặt các thuật toán o Thuật toán Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML o Thuật toán biểu diễn tài liệ

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC

PGS.TS Đỗ Trung Tuấn

Hà Nội - 2011

Trang 3

MỤC LỤCContents

I Lý do chọn đề tài 1

I.1 Cơ sở khoa học và thực tiễn 1

I.2 Các mục tiêu của đề tài 2

I.3 Nội dung nghiên cứu 3

II Đối tượng và phương pháp nghiên cứu 3

II.1 Mục đích nghiên cứu 3

II.2 Đối tượng nghiên cứu 3

II.3 Giả thiết khoa học 3

II.4 Nhiệm vụ nghiên cứu 4

II.5 Phạm vi nghiên cứu 4

II.6 Phương pháp nghiên cứu 4

III Bố cục luận văn 4

CHƯƠNG 1 7

TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 7

1.1 Khái quát sự ra đời và phát triển của XML 7

1.1.1 XML và HTML 8

1.1.2 Mục tiêu sử dụng tài liệu XML 10

1.1.3 Các lợi ích khi sử dụng XML 10

1.2 Tài liệu XML 11

1.2.1 Định nghĩa tài liệu XML 11

1.2.2 Cấu trúc tài liệu XML 11

1.2.3 Các thành phần cơ bản của tài liệu XML 13

1.2.4 Cấu trúc một tài liệu XML hợp khuôn dạng 21

1.2.5 Định nghĩa kiểu tài liệu DTD 22

1.3 Phân tích tài liệu XML theo DOM 29

1.3.1 Mô hình đối tượng tài liệu 29

1.3.2 Phân tích tài liệu XML theo mô hình đối tượng dữ liệu DOM 32

1.4 Cơ sở dữ liệu quan hệ 33

Trang 4

1.4.1 Hệ quản trị cơ sở dữ liệu 34

1.4.2 Mô hình dữ liệu quan hệ 35

1.4.3 Kiến trúc cơ sở dữ liệu quan hệ 36

1.4.4 Ràng buộc toàn vẹn cơ sở dữ liệu quan hệ 38

1.5 Kết luận chương 1 41

CHƯƠNG 2 43

CHUYỂN ĐỔI GIỮA CƠ SỞ DỮ LIỆU QUAN HỆ VÀ XML 43

2.1 Phương pháp luận 45

2.1.1 Mối quan hệ giữa một CSDL quan hệ và một tài liệu XML 45

2.1.2 Kiểu cơ chế, cấu trúc của XML và lược đồ CSDL quan hệ 46

2.1.3 Tên kiểu phần tử 50

2.1.4 Giá trị rỗng và giá trị mặc định 51

2.1.5 So sánh các quan hệ trong CSDL quan hệ và XML 52

2.1.6 Thứ tự kiểu phần tử trong lược dồ XML 54

2.2 Cơ chế chuyển một CSDL quan hệ thành một tài liệu XML 57

2.2.1 Phi chuẩn hoá các lược đồ quan hệ 57

2.2.2 Kết nối các CSDL đã phi chuẩn hoá 63

2.2.3 Ánh xạ một CSDL quan hệ thành một tài liệu XML 65

Ví dụ: Chuyển từ CSDL quan hệ thành XML (Hình 2.15) 68

2.3 Chuyển một tài liệu XML sang một CSDL quan hệ 68

2.3.1 Phương pháp ánh xạ một tài liệu XML thành CSDL quan hệ 70

Ví dụ: Chuyển từ tài liệu XML thành bảng CSDL quan hệ (Hình 2.20) 72

2.3.2 Phương pháp băm nhỏ hay phân tách các tài liệu XML 72

2.4 Thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và XML 77

2.4.1 Biểu diễn tài liệu XML theo mô hình DOM 78

2.4.2 Biểu diễn tài liệu XML theo dạng bảng của CSDL quan hệ 79

2.4.3 Chuyển một CSDL quan hệ sang một tài liệu XML 80

2.5 Cài đặt thuật toán 81

2.5.1 Đọc tài liệu XML dưới dạng DOM 81

Trang 5

2.5.2 Chuyển đổi một tài liệu XML thành CSDL quan hệ 82

2.5.3 Chuyển một CSDL quan hệ thành một tài liệu XML 84

2.6 Kết luận chương 2 89

CHƯƠNG 3 90

CHƯƠNG TRÌNH THỬ NGHIỆM 90

3.1 Yêu cầu hệ thống 90

3.1.1 Phần mềm 90

3.1.2 Phần cứng 90

3.2 Giao diện một số chức năng của chương trình 91

3.2.1 Màn hình chính của hệ thống 91

3.2.3 Chức năng đăng ký học tập 92

3.2.4 Chức năng báo cáo thống kê 94

3.2.5 Chức năng tìm kiếm thông tin 97

3.2.6 Một số kết quả cài đặt thuật toán 99

KẾT LUẬN 102

Các kết quả đạt được của luận văn: 102

Một số hạn chế của luận văn: 102

Hướng nghiên cứu tiếp theo: 102

TÀI LIỆU THAM KHẢO 104

Tiếng Việt 104

Tiếng Anh 105

Nguồn từ các website 105

Trang 6

BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT

Chữ viết

tắt Nghĩa tiếng anh Nghĩa tiếng việt

1NF First Normal Form Dạng chuẩn 1

2NF Second Normal Form Dạng chuẩn 2

3NF Third Normal Form Dạng chuẩn 3

BCNF Boyce Codd Normal Form Dạng chuẩn Boyce Codd

CSDL Database Cơ sở dữ liệu

CSS Cascading Style Sheets Bảng kiểu xếp chồng

DHTML Dynamic HyperText Markup

Language

Ngôn ngữ định dạng siêu văn bản động

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

DTD Document Type Definition Định nghĩa kiểu tài liệu

HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản LAN Local Area Network Mạng cục bộ

SGML Standard Generalized Markup

Language

Siêu ngôn ngữ có khả năng sinh ngôn ngữ khác

SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

URI Uniform Resource Identifier Định danh tài nguyên trên

Internet

URL Universal Resource Locator Địa chỉ định vị tài nguyên toàn

cầu W3C World Wide Web Consortium Tập đoàn mạng toàn cầu

WAN Wide Area Network Mạng diện rộng

XHTML Extensible HyperText Markup

Language

Ngôn ngữ đánh dấu siêu văn bản

mở rộng XML eXtensible Markup Language Ngôn ngữ định dạng mở rộng

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 1 1: Bảng tham chiếu thực thể trong XML 22

Bảng 1 2: Các loại nút trong mô hình XML 30

Bảng 1 3: Các phương thức trong mô hình DOM 32

Bảng 1 4: Bảng dữ liệu về học viên 36

Bảng 2 1: Các kiểu phần tử 46

Bảng 2 2: Minh họa định nghĩa kiểu phần tử hợp thành Học viên 47

Bảng 2 3: So sánh các yếu tố trong một tập hợp 52

Bảng 2 4: Nội dung so sánh các quan hệ 53

Bảng 2 5: Những kiểu phần tử hợp thành không có thứ tự 56

Bảng 2 6: Dữ liệu bảng liên kết 65

Bảng 2 7 Khi việc băm nhỏ là hay không là một lựa chọn thích hợp 74

Bảng 2 8 Phương pháp XMLTABLE 75

Trang 8

DANH MỤC CÁC HÌNH

Hình 1 1 Cấu trúc tài liệu XML 13

Hình 1 2: Tài liệu XML được biểu diễn theo cấu trúc cây 32

Hình 1 3: Mô hình hệ quản trị cơ sở dữ liệu 35

Hình 2.1: Chuyển đổi giữa CSDL quan hệ và XML 45

Hình 2 2: Các mức so sánh giữa mô hình quan hệ và XML 46

Hình 2 3: Sơ đồ thực thể liên kết 58

Hình 2 4: Chuẩn hóa các quan hệ 59

Hình 2 5: Phi chuẩn quan hệ 59

Hình 2 6: Sơ đồ thực thể liên kết 60

Hình 2 7: Chuẩn hóa quan hệ 61

Hình 2 8: Phi chuẩn quan hệ 61

Hình 2 9: Sơ đồ thực thể liên kết 62

Hình 2 10: Chuẩn hóa quan hệ 62

Hình 2 11: Phi chuẩn quan hệ 63

Hình 2 12: Những ánh xạ cơ bản từ CSDL quan hệ thành tài liệu XML 65

Hình 2 13: Ánh xạ một CSDL sang một tài liệu XML 67

Hình 2 14: Sơ đồ chuyển CSDL quan hệ thành tài liệu XML 67

Hình 2 15: Chuyển từ bảng CSDL quan hệ thành tài liệu XML 68

Hình 2 16: Tài liệu XML được thể hiện theo mô hình DOM 68

Hình 2 17: Sơ đồ chuyển tài liệu XML thành CSDL quan hệ 69

Hình 2 18: Những ánh xạ cơ bản từ tài liệu XML thành CSDL quan hệ 70

Hình 2 19: Ánh xạ một tài liệu XML thành một CSDL quan hệ 71

Hình 2 20: Chuyển từ một tài liệu XML thành một CSDL quan hệ 72

Hình 2 21: Việc băm nhỏ một tài liệu XML 73

Trang 9

Hình 2 22: Chèn thành phần XML và các giá trị của thuộc tính vào các cột quan

hệ 77

Hình 2 23: Mô hình XML ở dạng bảng và dạng cây 78

Hình 2 24: Biểu diễn tài liệu XML theo mô hình DOM 79

Hình 3.1: Giao diện tổng quan của hệ thống 91

Hình 3.2: Màn hình đăng nhập vào quản lý hệ thống 91

Hình 3.3: Màn hình đăng ký 92

Hình 3.4: Danh sách học sinh – sinh viên đăng ký học tập tại trung tâm 95

Hình 3.5: Kết quả tra cứu thông tin học viên 98

Hình 3.6: Kết quả biểu diễn tài liệu XML theo DOM 99

Hình 3.7: Kết quả biểu diễn tài liệu XML theo dạng bảng 100

Hình 3.8: Kết quả chuyển đổi từ CSDL sang tài liệu XML 100

Hình 3.9: Kết quả chuyển đổi từ XML sang CSDL quan hệ 101

Trang 10

LỜI MỞ ĐẦU

I Lý do chọn đề tài

I.1 Cơ sở khoa học và thực tiễn

Trong những năm gần đây, cuộc cách mạng khoa học và kỹ thuật đang diễn ra vô cùng nhanh chóng làm biến đổi sâu sắc toàn bộ đời sống của xã hội loài người Bước đột phá trung tâm của cuộc cách mạng khoa học kỹ thuật và công nghệ này chính là sự phát triển của ngành công nghệ thông tin

Ngày nay công nghệ thông tin đã được ứng dụng rộng rãi trong mọi lĩnh vực kinh tế, chính trị, xã hội, y tế và giáo dục, … đóng vai trò rất quan trọng trong quá trình chuyển dịch nền kinh tế, xã hội, làm thay đổi đáng kể về lối sống, phong cách làm việc và nhận thức trong công việc

Với sự phát triển vượt bậc trong lĩnh vực công nghệ mạng đã cho ra đời nhiều dịch vụ từ xa, đặc biệt là sự ra đời của dịch vụ “application as a service” Các giao dịch, tương tác, giao tiếp với nhau đều thông qua môi trường Internet Điều này đã biến công nghệ thông tin trở thành một công cụ không thể thiếu được trong sự phát triển của mọi lĩnh vực, mọi ngành nghề Cùng với sự phát triển đó thì có hàng loạt các ngôn ngữ và các giao thức giao tiếp, thiết kế trang web cũng ra đời để phục vụ cho những mục đích, dịch

vụ nhất định Có thể kể đến nhiều ngôn ngữ đã phát triển phổ biến như HTML, DHTML, Java, PHP, ASP, … mỗi loại ngôn ngữ cũng đều có ưu và nhược điểm riêng [4]

Việc lưu trữ, truy xuất dữ liệu rất đa dạng với nhiều kiểu định dạng khác nhau, chẳng hạn như MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix,… đều có sự khác nhau về định dạng, lưu trữ và truy xuất dữ liệu Do

đó, việc trao đổi dữ liệu giữa các hệ thống như vậy trên Internet sẽ ảnh hưởng đến: tiêu tốn rất nhiều thời gian của các nhà phát triển, hạn chế đến tốc độ xử

lý của ứng dụng,…

Trang 11

Với ngôn ngữ XML [8] mới phát triển trong những năm gần đây nhưng

đã được phổ biến rộng rãi trong các ngôn ngữ lập trình, chẳng hạn như ở các ngôn ngữ NET, Java, Một số đặc trưng cơ bản của ngôn ngữ XML là:

- XML được dùng để lưu trữ dữ liệu từ các tập tin hoặc cơ sở dữ liệu

- XML có thể được trao đổi dữ liệu dễ dàng giữa các hệ thống không tương thích với nhau

- XML có thể được dùng để chia sẻ dữ liệu dễ dàng hơn giữa các ứng dụng, dễ dàng mở rộng hoặc nâng cấp sang hệ thống máy chủ, ứng dụng, trình duyệt khác

- XML độc lập với ứng dụng, phần cứng và phần mềm vì thế đã làm cho dữ liệu được sử dụng hiệu quả hơn

- XML có thể được dùng để tạo ra một ngôn ngữ đánh dấu mới tùy theo mục đích sử dụng chẳng hạn như là ngôn ngữ đánh dấu cho thiết bị không dây

Chính vì thế, XML ngày càng trở nên phổ biến, điểm quan trọng nhất là XML cho phép dễ dàng xử lý, chuyển tải và trao đổi dữ liệu giữa nhiều ứng

và tài liệu người dùng với các định dạng khác nhau

Trước những thực trạng đó và những kiến thức đã hiểu biết về XML, em

đã thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên hướng

dẫn, em đã chọn đề tài “Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML”

làm đề tài cho luận văn thạc sỹ của mình

I.2 Các mục tiêu của đề tài

- Tìm hiểu về XML và cách định dạng các tài liệu XML

- Nghiên cứu XML để đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet

- Nghiên cứu các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ thành một cơ sở dữ liệu dạng XML và ngược lại chuyển một cơ sở dữ liệu dạng

Trang 12

XML về một cơ sở dữ liệu quan hệ Phục vụ cho việc tích hợp dữ liệu từ các CSDL khác nhau

I.3 Nội dung nghiên cứu

- Nghiên cứu về cơ sở dữ liệu XML và cách định dạng các tài liệu XML

- Nghiên cứu về DOM

- Nghiên cứu lý thuyết cơ sở dữ liệu quan hệ

- Nghiên cứu các thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ thành

cơ sở dữ liệu dạng XML và ngược lại

- Nghiên cứu về quy trình, chuyên môn nghiêp vụ trong việc “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định

- Nghiên cứu ngôn ngữ lập trình C# trong môi trường ASP.NET để triển khai xây dựng chương trình ứng dụng

II Đối tượng và phương pháp nghiên cứu

II.1 Mục đích nghiên cứu

Luận văn tập trung nghiên cứu, tìm hiểu về XML(tài liệu XML và định dạng tài liệu XML), DOM và phương pháp sử dụng DOM để chuyển đổi một

cơ sở dữ liệu quan hệ thành một cơ sở dữ liệu dạng XML và ngược lại

II.2 Đối tượng nghiên cứu

 Tìm hiểu về công nghệ XML

 Tìm hiểu về cơ sở dữ liệu quan hệ

 Cách chuyển đổi một cơ sở dữ liệu dạng XML sang một cơ sở dữ liệu quan hệ

 Cách chuyển cơ sở dữ liệu quan hệ sang cơ sở dữ liệu dạng XML

II.3 Giả thiết khoa học

Trang 13

Nếu chúng ta sử dụng công nghệ XML thì chúng ta không những có thể phát triển một cơ sở dữ liệu dạng XML mới trong khi vẫn sử dụng các cơ sở

dữ liệu đang tồn tại mà còn có thể rút trích các dữ liệu từ các cơ sở dữ liệu dạng XML

II.4 Nhiệm vụ nghiên cứu

 Nghiên cứu về XML

 Nghiên cứu giải pháp thực hiện chuyển đổi qua lại giữa XML và cơ sở

dữ liệu quan hệ

 Xây dựng một ứng dụng cụ thể dựa trên các kết quả nghiên cứu

 Đồng thời luận văn cũng mong muốn nêu ra được một số hướng nghiên cứu tiếp theo căn cứ vào các kết quả đã đạt được

II.5 Phạm vi nghiên cứu

Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lý thuyết, chẳng hạn như: tài liệu XML, định dạng tài liệu XML, DOM, lý thuyết cơ sở dữ liệu, thuật toán chuyển đổi giữa cơ sở dữ liệu quan hệ và cơ

sở dữ liệu dạng XML

II.6 Phương pháp nghiên cứu

 Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên các website và các tài liệu liên quan

 Phân tích, tổng hợp lý thuyết và xây dựng các thuật toán chuyển đổi một cơ sở dữ liệu quan hệ sang dạng tài liệu XML và ngược lại

Ứng dụng ngôn ngữ lập trình C# trong môi trường ASP.NET để triển khai xây dựng một chương trình ứng dụng demo về việc “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định

III Bố cục luận văn

Luận văn được trình bày gồm ba chương:

Chương 1: Tổng quan về XML và cơ sở dữ liệu quan hệ

Trang 14

- Trình bày tổng quan về cấu trúc một tài liệu XML, tạo tài liệu XML hợp khuôn dạng

- Định nghĩa kiểu tài liệu (DTD), lược đồ (Schema), mô hình đối tượng tài liệu (DOM)

- Phân tích tài liệu XML theo DOM

- Định dạng tài liệu XML dùng bảng định kiểu (CSS)

- Các khái niệm cơ sở về cơ sở dữ liệu (CSDL) quan hệ

Chương 2: Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML

- Phi chuẩn các lược đồ quan hệ

- Kết nối các lược đồ quan hệ đã phi chuẩn

- Ánh xạ một CSDL sang một tài liệu XML

- Ánh xạ một CSDL quan hệ đã kết nối thành một DOM chính và chuyển thành một tài liệu XML

- Chuyển một CSDL quan hệ sang một tài liệu XML

- Chuyển một tài liệu XML sang một cơ sở dữ liệu quan hệ

- Phương pháp băm nhỏ hay phân tách các tài liệu XML thành các bảng CSDL

- Cài đặt các thuật toán

o Thuật toán Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML

o Thuật toán biểu diễn tài liệu XML theo DOM

o Thuật toán hiển thị tài liệu XML dưới dạng bảng

Chương 3: Chương trình thử nghiệm

- Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C# trong môi trường ASP.NET

Xây dựng chương trình ứng dụng demo việc “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định

Trang 15

- Cài đặt thuật toán để chuyển đổi và tích hợp XML với CSDL của hệ thống thông tin “Quản lý học viên” tại Trung tâm tin học ngoại ngữ Trường Cao đẳng Công nghiệp Nam Định

Kết luận: Tóm tắt các nội dung chính, các kết quả đạt được và hướng

nghiên cứu tiếp theo của luận văn

Trang 16

CHƯƠNG 1 TỔNG QUAN VỀ XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ

1.1 Khái quát sự ra đời và phát triển của XML

XML (eXtensible Markup Language)[18]: là ngôn ngữ tạo cấu trúc dữ liệu văn bản được phát triển từ đầu năm 1996 dựa theo và tận dụng những điểm mạnh của chuẩn SGML (Standard Generalized Markup Language: được coi như là siêu ngôn ngữ có khả năng sinh ngôn ngữ khác), cùng những kinh nghiệm có được từ ngôn ngữ HTML (HyperText Markup Language) SGML 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 Standardization) chuẩn hóa năm 1986

SGML là do IBM đưa ra nhưng được phát triển bởi W3C (World Wide Web Consortium: tổ chức độc lập định ra tiêu chuẩn cho định dạng Web, máy chủ và ngôn ngữ), nhưng đặc tả XML lại do Netscape, Microsoft và các thành viên dự án Text Encoding Intiative (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 W3C chính thức thông qua chuẩn XML vào tháng 2/1998

XML là một hệ thống có luật dùng cho việc thiết kế các khổ mẫu (format) cho văn bản giúp tạo cấu trúc cho dữ liệu Trong thực tế XML không phải là một ngôn ngữ lập trình, XML giúp máy tính dễ dàng tạo dữ liệu, đọc

dữ liệu, trao đổi dữ liệu và làm cho cấu trúc dữ liệu trở nên rõ ràng và dễ hiểu hơn, ngoài ra XML còn có thể mở rộng, có nền tảng hoàn toàn độc lập và hỗ trợ tính quốc tế hóa, nội địa hóa XML hỗ trợ hoàn toàn unicode

Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các

hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet Các ngôn ngữ dựa trên XML (chẳng hạn như: RDF, RSS, MathML, XHTML, SVG, GML và cXML) được định nghĩa theo cách thông thường, cho phép các

Trang 17

chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không cần

có hiểu biết trước về hình thức của chúng

XML là một tài liệu văn bản có cấu trúc, cho phép biểu diễn thông tin

về các đối tượng trong thực tế, dễ dàng chuyển tải và trao đổi dữ liệu giữa nhiều ứng dụng khác nhau

1.1.1 XML và HTML

Trong thực tế bản thân ngôn ngữ XML có nguồn gốc giống như ngôn ngữ định dạng siêu văn bản HTML (HyperText Markup Language) từ chuẩn ngôn ngữ định dạng văn bản tổng quát có cấu trúc SGML Mỗi văn bản XML cũng sử các thẻ (tags), các từ được đặt trong ngoặc với „<‟ và „>‟ (mở và đóng) và dùng thuộc tính tên gọi của các phần tử (element) với mẫu name=

“value”

Trong khi HTML đặc biệt chú ý tới từng thẻ (tag) và thuộc tính (attribute) có ý nghĩa gì và phần văn bản giữa các thẻ đó hiển thị như thế nào trên trình duyệt thì XML sử dụng các thẻ chỉ để phân định ranh giới giữa các đoạn dữ liệu và coi việc đọc và xử lý dữ liệu hoàn toàn là nhiệm vụ của các ứng dụng Nhưng khác với ngôn ngữ HTML, số lượng và tên gọi các phần tử trong XML là không hạn chế

XML là một văn bản nhưng không giống với những loại văn bản thông thường mà ta có thể đọc được Các chương trình dùng để tạo các dữ liệu được cấu trúc hóa thông thường được lưu dữ liệu trên đĩa cứng, sử dụng khuôn dạng text hay nhị phân Một thuận lợi của khuôn dạng văn bản là cho phép người đọc có thể đọc nó với bất kỳ bộ soạn thảo văn bản nào tùy thích Các khuôn dạng văn bản cũng cho phép tìm lỗi dễ dàng hơn trong các ứng dụng Giống như HTML các file XML là những file văn bản được tạo ra không phải với mục đích đề đọc, nhưng vẫn có thể đọc nếu thấy cần thiết Tuy nhiên XML có điểm không bằng HTML, các luật dùng trong XML rất hạn chế, chỉ

Trang 18

cần quên một thẻ, hay một thuộc tính không đi kèm với nội dung sẽ làm cho toàn bộ file XML đó ngừng hoạt động, trong khi đó lỗi này ở file HTML có thể được bỏ qua

XML được xem như là ngôn ngữ 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” metadata hay còn được gọi là “dữ liệu về dữ liệu” (data about data) 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 quan tới các nguồn thông tin khác Đây là phương pháp khai thác thông tin lý tưởng trong môi trường trao đổi thông tin từ các máy chủ ứng dụng cũng như từ các ứng dụng với nhau Cấu trúc chặt chẽ của XML (nội dung được đặt giữa các thẻ metadata) cho phép các ứng dụng dễ dàng tìm kiếm và sử dụng nội dung đã tạo Môi trường 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 Ngôn ngữ XML là giải pháp tích hợp cho vấn đề trao đổi dữ liệu tự động giữa các kho thông tin trên mạng Internet

Một biểu ghi XML đơn giản có dạng như sau:

<?xml version= "1.0"?> encoding="utf-8" standalone="yes"?>

<!DOCTYPE book SYSTEM="book.dtd">

Trang 19

1.1.2 Mục tiêu sử dụng tài liệu XML

Ngày nay, việc lưu trữ dữ liệu rất đa dạng với nhiều kiểu định dạng khác nhau, chẳng hạn như Microsoft SQL Server và Oracle là đã có sự khác nhau

về định dạng gây nên một số hạn chế như: tiêu tốn rất nhiều thời gian của các nhà phát triển, hạn chế đến tốc độ xử lý của ứng dụng, … Với khả năng của XML cho phép người dùng có thể tự định nghĩa các thẻ (tag) nhằm mục đích làm cho tài liệu XML trở nên thông dụng hơn những ngôn ngữ thông thường như HTML và còn khắc phục được các hạn chế trên Do đó, XML ngày càng trở nên thông dụng và phổ biến rộng rãi cho những ứng dụng thực thi trên môi trường Internet [4]

Mục tiêu ra đời của XML là phải tương thích với SGML, dễ dàng viết những chương trình để xử lý cho những tài liệu XML Tiếp theo, là những tài liệu viết bởi XML phải rõ ràng, dễ đọc và dễ tạo lập Và điều quan trong nhất

là nó được hỗ trợ trong nhiều ứng dụng Nói tóm lại, XML dễ dàng chia sẻ dữ liệu với những định dạng khác nhau

1.1.3 Các lợi ích khi sử dụng XML

Từ khi ra đời và phát triển, XML phải trải qua nhiều thử thách trong việc thuyết phục các nhà lập trình sử dụng XML là sự lựa chọn hàng đầu vì nó dễ đọc, dễ hiểu và dễ thực hiện bằng cách đưa ra một số lợi ích sau:

 XML được dùng để chia sẻ dữ liệu với những tập tin văn bản đơn giản dễ hiểu

 XML có thể tách rời dữ liệu, có nghĩa là dữ liệu được chứa trong các tập tin XML riêng biệt

 XML có thể được dùng để chuyển đổi dữ liệu giữa các hệ thống không tương thích với nhau

 XML dùng để mô tả rất tường minh thông tin của các đối tượng phức tạp mà cơ sở dữ liệu không làm được

Trang 20

 XML được dùng để lưu trữ dữ liệu nhằm làm cho dữ liệu của chúng

ta linh động và hữu ích hơn

1.2 Tài liệu XML

1.2.1 Định nghĩa tài liệu XML

Một tài liệu HTML có thể tồn tại một số thẻ không đúng quy định thì trình biên dịch sẽ bỏ qua những thẻ này Tuy nhiên với một tài liệu XML thì điều này không thể xảy ra Khi xây dựng một tài liệu XML, nó phải tuân thủ theo một số quy luật nhất định Những tài liệu XML tuân thủ đúng những quy luật này được gọi là định dạng đúng Với một tài liệu không phải là định dạng đúng, Internet Explorer sẽ thông báo lỗi khi nạp tài liệu này [8]

Một tài liệu XML định dạng đúng [11] chưa chắc là một tài liệu hợp lệ Một tài liệu XML được xem là hợp lệ nếu nó đảm bảo những quy tắc đặc tả trong tài liệu DTD hay giản đồ Một DTD hay schema sẽ định nghĩa mọi thứ

từ cấu trúc dữ liệu tới kiểu dữ liệu, những thuộc tính được yêu cầu, và những ràng buộc về thành phần và thuộc tính được kết hợp trong tài liệu Phương thức kiểm tra tài liệu này thường được sử dụng trong giao tiếp giữa ứng dụng – ứng dụng, đảm bảo dữ liệu trao đổi hợp lệ tránh dẫn tới những ảnh hưởng của dữ liệu không hợp lệ trên toàn hệ thống

Tài liệu XML có thể được soạn thảo bởi các phần mềm thông thường như: Notepad, EditPlus, hay các trình soạn thảo chuyên dụng của XML như: XML Notepad, XMLWriter, XML Spy, [8]

1.2.2 Cấu trúc tài liệu XML

Tài liệu XML chỉ chứa đựng dữ liệu và cách lưu trữ dữ liệu mà không đề cập tới cách thức trình bày dữ liệu Một tài liệu XML chứa những đặc tả về cấu trúc dữ liệu Mỗi cấu trúc gồm nhiều phần tử, mỗi thành phần được bắt đầu với một thẻ bắt đầu và kết thúc với một thẻ kết thúc Nội dung của phần

Trang 21

tử nằm giữa thẻ bắt đầu và thẻ kết thúc Nội dung có thể chứa dữ liệu văn bản hay có thể là một phần tử khác

Một tài liệu XML có thể được chia thành 2 thành phần chính, mỗi thành phần có các quy định khác nhau [8]:

1- Phần khởi đầu bao gồm các khai báo như: phiên bản sử dụng của XML, cách thức mã hóa dữ liệu, chỉ thị xử lý, định nghĩa kiểu tư liệu cho tài liệu DTD, các chú thích, các khoảng trắng,… XML không bắt buộc phải khai báo phần mở đầu của tài liệu XML Tuy nhiên W3C khuyến khích chúng ta nên sử dụng phần khai báo này, ít nhất cũng phải có phần khai báo phiên bản

sử dụng của XML

2- Phần thân của tài liệu chứa nội dung của dữ liệu bao gồm một hay nhiều thành phần, tối thiểu phải có ít nhất một thành phần, những thành phần này bao gồm các phần tử Mỗi phần tử bao gồm một cặp thẻ gồm thẻ bắt đầu (thẻ mở) và thẻ kết thúc (thẻ đóng) Phần tử đầu tiên của tài liệu được coi là phần tử gốc Tất cả các tài liệu XML được gọi là hợp khuôn dạng nếu có chứa duy nhất một phần tử gốc Phần tử gốc chứa tất cả các phần tử và các cặp thẻ khác nhau

Giữa thẻ đóng và thẻ mở của một phần tử có thể đặt nội dung của phần tử nếu có Nội dung của phần tử có thể bao gồm văn bản thuần hoặc các phần tử khác và các cặp thẻ khác Các cặp thẻ bên trong nội dung bao gồm các thẻ sau :

- Thẻ khai báo tham số

Trang 22

Hình 1 1 Cấu trúc tài liệu XML

1.2.3 Các thành phần cơ bản của tài liệu XML

1.2.3.1 Định dạng và dữ liệu kí tự

Tài liệu XML được cấu thành từ phần định dạng và phần dữ liệu kí tự Trong tài liệu XML, định dạng giúp phân biệt các thành phần khác nhau trong tài liệu XML hay các nút khác nhau trong cây XML Định dạng bao gồm các thẻ bắt đầu, thẻ kết thúc, các phần tử thẻ rỗng, các tham chiếu thực thể, tham chiếu kí tự, các chú thích, phân đoạn CDATA, khai báo kiểu tài liệu và chỉ thị

xử lý Tất cả các dữ liệu còn lại trong tài liệu XML không phải là định dạng đều được xem là dữ liệu kí tự [8]

1.2.3.2 Các khai báo trong thẻ XML (Thẻ khai báo tham số)

Một tài liệu XML có thể bắt đầu bởi khai báo cho biết tài liệu được viết theo định dạng và đặc tả XML Khai báo thẻ XML là không bắt buộc trong tài liệu XML, nếu sử dụng khai báo thẻ XML thì khai báo này bắt buộc phải được đặt ở dòng đầu tiên của tài liệu XML Khai báo thẻ XML trong tài liệu được định nghĩa theo cú pháp sau [8]:

Trang 23

<?xml Ten_1=”Gia_tri_1” Ten_2=”Gia_tri_2” … ?>

Trong đó : Ten_1, Ten_2, … là các tên của các tham số

Gia_tri_1, Gia_tri_2, … là các giá trị tương ứng

Hiện nay có 3 tham số đuợc dùng là version, encoding, và standalone Tham số version bắt buộc phải có nếu các tham số khác đuợc sử dụng

- Khai báo phiên bản: khai báo này cho biết phiên bản đặc tả XML mà

tài liệu sử dụng (khai báo này là tùy chọn nhưng W3C khuyến cáo

nên sử dụng khai báo này)

Ví dụ : < ?xml version=”1.0” ? >

(Cho biết tài liệu dùng phiên bản XML 1.0)

- Khai báo mã hóa: bộ mã được sử dụng trong tài liệu XML phổ biến

nhất là UTF-8 Ngoài ra có thể sử dụng các bộ mã khác như Unicode, UCS-2, USC-4, (khai báo này là tùy chọn)

Ví dụ : Tài liệu XML sử dụng cách mã hóa Unicode ký hiệu utf-8

< ?xml version=”1.0” encoding=”utf-8” ? >

- Khai báo thực thể độc lập: được đặt thuộc tính là „yes‟ nếu tài liệu

không tham chiếu đến các thực thể khác bên ngoài, ngược lại được đặt là „no‟ (khai báo này là tùy chọn)

Ví dụ : Tài liệu XML dùng phiên bản XML 1.0, sử dụng cách mã hóa Unicode ký hiệu utf-8 và không có tham chiếu với các tài liệu khác :

< ?xml version=”1.0” encoding=”utf-8” standalone=”yes” ? >

1.2.3.3 Chỉ thị xử lý

- Các chỉ thị xử lý được dùng để chỉ dẫn cho bộ phân tích cách xử lý tài liệu XML trong qua trình phân tích Những chỉ thị này thường bắt đầu bằng dấu <? kết thúc cũng bằng dấu ?> Chẳng hạn, khi chỉ thị yêu cầu bộ phân tích kết hợp dữ liệu của XML với bảng định kiểu CSS thì ta phải khai báo như sau

<?xml-stylesheet?>

- Chỉ thị xử lý có dạng khai báo chung như sau :

Trang 24

<? Bo_xu_ly Du_lieu ?>

Trong đó :

Bo_xu_ly : là ký hiệu của bộ xử lý sẽ tiến hành một số xử lý nào đó

trên tài liệu XML

Du_lieu : là thông tin được gởi đến Bo_xu_ly

Ví dụ: Chỉ thị sau kết nối bảng định kiểu Vidu.css vào tài liệu XML

< ?xml-stylesheet type =”text/css” href=”vidu.css”? >

- Thẻ này sẽ có ý nghĩa với một số trình duyệt Web như ỊE ( phiên bản

50 về sau ), Netscape ( phiên bản 6.0 về sau)

1.2.3.4 Phần chú thích (ghi chú tài liệu)

Chú thích trong tài liệu XML tương tự như chú thích trong tài liệu HTML [8] Khi diễn dịch nội dung tài liệu, trình biên dịch sẽ bỏ qua những dòng chú thích Chú thích trong tài liệu XML được đặt trong cặp kí tự <! Nội dung chú thích trong XML >

- Chú thích không được đặt trước các khai báo

- Không được đặt chú thích vào bên trong phần định dạng

Ví dụ : cách dùng chú thích sau là không hợp lệ

< ! phan khai bao >

<?xml version=‖1.0‖ encoding=‖utf-8‖ ?>

<document>

Trang 25

</document>

1.2.3.5 Thẻ và các phần tử

Cấu trúc tài liệu XML dựa trên các thành phần định dạng, các thành

phần này bao gồm nhiều phần tử Mỗi phần tử thường bao gồm một cặp thẻ

bắt đầu và thẻ kết thúc Ngoại trừ các phần tử rỗng sẽ được định nghĩa bằng

một thẻ Thẻ bắt đầu (thẻ mở) bắt đầu bằng kí tự < và kết thúc bằng kí tự >

Thẻ kết thúc (thẻ đóng) bắt đầu bằng cặp kí tự </ và kết thúc bằng kí tự >

Tên thẻ có thể bắt đầu bằng kí tự chữ hoặc dấu gạch dưới (_) hoặc dấu

hai chấm (:) Các kí tự kế tiếp có thể là kí tự số, chữ, gạch dưới, dấu chấm,

dấu hai chấm nhưng không được là khoảng trắng [8]

Mỗi phần tử trong cùng một tài liệu XML là duy nhất Bộ phân tích tài

liệu XML phân biệt chữ hoa và chữ thường nên khi đặt tên cho các thẻ và

thuộc tính thì cần phải phân biệt chữ hoa và chữ thường Do đó

<DOCUMENT> khác với <document>

Phần tử rỗng: là phần tử mà chỉ có một thẻ duy nhất và được đặt trong

Trang 26

1.2.3.4.6 Thuộc tính

Thuộc tính của các thẻ trong tài liệu XML tương tự như thuộc tính của các thẻ HTML[8] Thuộc tính được kết hợp theo từng cặp tên và giá trị Thuộc tính cho phép xác định thêm thông tin của thẻ Thuộc tính được đặt trong thẻ mở và thẻ rỗng Sử dụng dấu bằng (=) để gán giá trị cho thuộc tính Thuộc tính luôn được gán giá trị là kiểu text, giá trị của thuộc tính phải đặt trong cặp dấu nháy kép “” Tuy nhiên, nếu giá trị chuỗi truyền cho thuộc tính có dấu nháy kép ta có thể sử dụng nháy đơn để thay thế

Ví dụ :<poem title=‗Bai tho ‖Biển‖ của Xuân Diệu‗ >

Trang 27

1.2.3.7 Phân đoạn CDATA

Phân đoạn CDATA cũng là một phần tử trong tài liệu XML nhưng chỉ gồm một thẻ Thẻ này bắt đầu bằng <![CDATA và kết thúc bằng ]> Toàn bộ nội dung được đặt trong phân đoạn CDATA sẽ không được trình phân tích coi như cấu trúc XML mà chúng chỉ được xem như là dữ liệu thuần túy[8]

1.2.3.8 Không gian tên gọi

XML cho phép tự định nghĩa và đặt tên cho các thẻ[8] Nếu tài liệu XML chỉ sử dụng cho một mục đích nào đó và không cần phải kết hợp với các tài liệu XML khác thì điều này không cần thiết Nhưng một khi các ứng dụng phát triển, tập định nghĩa các thẻ XML cần chia sẻ và kết hợp với nhau thì đó là một vấn đề cần phải quan tâm

Để định nghĩa không gian tên gọi cho các thẻ, ta đưa vào thuộc tính

xmlns:prefix="yournamespace" vào gốc phần tử Trong đó prefix là tên miền hay tiền tố mà ta muốn dùng cho không gian tên, yournamespace là không

gian tên gọi mà ta muốn chỉ định, mỗi không gian tên gọi có một định danh duy nhất (có thể là định danh URL hoặc URI) Sau đó sử dụng không gian tên gọi này cho tất cả các thẻ trong tài liệu XML mà ta muốn chúng thuộc không

gian tên gọi đã định nghĩa theo cú pháp: <prefix:TagName> đối với thẻ mở

và </prefix:TagName> đối với thẻ đóng

Ví dụ 1.1: Cho tài liệu XML chưa định nghĩa không gian tên gọi sau:

Trang 28

</Hocvien>

</DanhSach_HV>

Giả sử nếu ta sử dụng không gian tên gọi "http://www.danhsach.com.vn/ds"

với tiền tố là ds cho ví dụ trên, ta sẽ sử dụng như sau:

Trang 29

<ds:NamSinh>

1984

Trang 30

</ds:Hocvien>

</ds:DanhSach_HV>

1.2.4 Cấu trúc một tài liệu XML hợp khuôn dạng

Một tài liệu XML được coi là một tài liệu hợp khuôn dạng nếu tuân theo các quy tắc sau[8]:

- Các khai báo XML phải được đặt ở dòng đầu tiên của tài liệu Khai báo chỉ thị xử lý XML đầu tiên không bắt buộc, tuy nhiên nếu sử dụng thì phải đặt chúng ở ngay dòng đầu tiên của tài liệu Nếu không theo yêu cầu này thì tài liệu XML được xem là không hợp lệ

- Một tài liệu XML chỉ có duy nhất một phần tử gốc, các phần tử khác nếu có phải là con của phần tử gốc

- Mọi phần tử XML khác rỗng phải bao gồm đầy đủ thẻ đóng và thẻ

mở Trong tài liệu XML hợp khuôn dạng, mọi thẻ mở (ngoại trừ thẻ rỗng) phải có thẻ đóng tương ứng Nếu bộ phân tích XML phát hiện một phần tử bị thiếu thẻ đóng hay thẻ mở thì quá trình phân tích, biên dịch tài liệu sẽ bị kết thúc

- Đóng phần tử rỗng với chuỗi /> Phần tử rỗng là phần tử chỉ có một thẻ Dấu kết của phần tử rỗng phải là /> nếu không tài liệu sẽ được coi là không hợp khuôn dạng

- Mọi phần tử trong tài liệu XML khác phần tử gốc đều phải nằm giữa cặp thẻ gốc

Trang 31

- Các phần tử lồng nhau phải có thẻ đóng, mở tương ứng đúng vị trí

- Chỉ nên sử dụng 5 tham chiếu thực thể được định nghĩa trước trong XML Trong ngôn ngữ định dạng XML, một số kí tự nhận dạng đặc biệt như

<, >, „, “, và & không thể sử dụng trong tài liệu theo cách thể hiện dữ liệu thông thường Muốn sử những kí hiệu này phải dùng tham chiếu thực thể đã được XML định nghĩa trước như sau:

Bảng 1 1: Bảng tham chiếu thực thể trong XML

Tham chiếu thực thể Ý nghĩa tương ứng

Ví dụ : Tài liệu sau vi phạm ràng buộc này

<message text = "Hi there" text = "Hello" >

- Tất cả các giá trị của thuộc tính đều phải nằm trong cặp dấu nháy kép (“) hoặc nháy đơn („)

- Chỉ nên sử dụng kí tự < và & đối với thẻ mở và các thực thể

1.2.5 Định nghĩa kiểu tài liệu DTD

Khi định nghĩa thẻ XML, ta tùy ý quyết định cách sử dụng chúng Ta có thể quyết định thẻ chỉ chứa nội dung là dữ liệu văn bản thuần túy hoặc có thể

Trang 32

chứa các phần tử con khác Tuy nhiên, để tài liệu rõ ràng ta nên định nghĩa kiểu tài liệu mà mỗi phần tử sẽ biểu diễn

Một tài liệu XML được coi là hợp lệ và có giá trị khi toàn bộ các phần tử trong tài liệu được định nghĩa kiểu mà nó sẽ chứa

Định nghĩa kiểu tài liệu DTD phải theo cú pháp quy định của tổ chức XML W3C Sử dụng thẻ khai báo <!DOCTYPE> để bắt đầu định nghĩa cho các phần tử XML Mẫu khai báo như sau:

<!DOCTYPE rootname [DTD]>

Trong đó:

- DOCTYPE : là một phần của phần mở đầu tài liệu

- DTD : là định nghĩa cho các phần tử trong tài liệu

- rootname : Tên phần tử gốc

Mỗi phần tử được định nghĩa theo cú pháp sau:

<!ELEMENT NAME CONTENT_MODEL>

Trong đó:

- NAME : là tên của phần tử muốn định nghĩa

- CONTENT_MODEL : có thể được đặt là EMPTY hay ANY hoặc trộn lẫn cả hai nội dung (bao gồm dữ liệu có thể dùng phân tích hoặc các phần tử con khác)

Ví dụ 1.2: khai báo và định nghĩa DTD trong tài liệu XML:

<?xml version="1.0" standalone="yes" encoding="UTF-8" ?>

< !ELEMENT DanhSach_HV(HocVien)* >

< !ELEMENT HocVien(HocvienID, LopID, TenHocVien,

GioiTinh, NamSinh, DiaChi, DienThoai) >

< ! ELEMENT HocVienID(#PCDATA) >

< ! ELEMENT LopID(#PCDATA) >

< ! ELEMENT TenHocVien(#PCDATA) >

Trang 34

tiếp theo dùng tiếp đầu ngữ xsd: để khai báo không gian tên gọi XML Schema Cấu trúc chung ( thông dụng ) của các tài liệu trong XML Shema như sau:

Với giản đồ XML, thông tin về một thẻ được mô tả tập trung qua một ý niệm duy nhất là kiểu[8] Mỗi thẻ sẽ có tương ứng một kiểu Đặc tả kiểu mô

tả kiểu của thẻ cùng với một số tính chất khác Đặc tả kiểu mô tả các thông tin

về các thẻ thuộc kiểu ( có thể có nhiều thẻ cùng thuộc một kiểu ) bao hàm cả các thông tin về cách sắp xếp các thành phần bên trong của thẻ và hệ thống các thuộc tính của thẻ

Ví dụ:

<?xml version="1.0" encoding="utf-8" ?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >

<xs:element name="DA_THUC" type="K_DA_THUC"/>

Bộ môn Công Nghệ XML Công nghệ XML và ứng dụng Nguyễn Tiến Huy

admincnttvn@gmail.com http://www.ebook.edu.vn Trang 60

<xs:complexType name="K_DA_THUC">

<xs:sequence>

<xs:element name="DON_THUC"

type="K_DON_THUC"

Trang 35

minOccurs="1"/>

</xs:sequence>

<xs:attribute name="Ten" type="xs:string" />

<xs:attribute name="Bien_so" type="xs:string"/>

</xs:complexType>

<xs:complexType name="K_DON_THUC">

<xs:attribute name="He_so" type="xs:float"/>

<xs:attribute name="So_mu" type="SO_TU_NHIEN"/>

ưu điểm sau:

Trang 36

- Dễ học và dễ dùng hơn DTD

- Định nghĩa chính xác được các kiểu dữ liệu

- Có hệ thống không gian tên gọi tốt hơn

- Dùng lại được các phần tử bằng cách thừa kế

1.2.7 Bảng định kiểu CSS

CSS là mô hình định nghĩa kiểu định dạng dùng cho việc hiển thị tài liệu[8] Ta có thể dùng CSS để hiển thị tài liệu XML tương tự như các tài liệu HTML CSS cho phép tách rời định dạng với nội dung dữ liệu

CSS được hiểu như một tập mẫu quy định các kiểu định dạng cho các phần tử trong XML như định dạng về font chữ, màu chữ, màu nền,…

Bảng định kiểu CSS được sử dụng trong tài liệu HTML, tuy nhiên điểm khác biệt chủ yếu giữa việc sử dụng CSS vào HTML với việc sử dụng CSS vào XML là các thẻ trong HTML thì có sẵn thông tin định dạng còn các thẻ trong XML thì không có

Bản chất của CSS là tạo ra một tập mẫu quy định các kiểu định dạng cho các phần tử của XML trong một file tách biệt với tài liệu Sau đó tập mẫu này được sử dụng vào trong tài liệu thông qua việc xử lý với cú pháp như sau:

<?xml-stylesheet type=‖text/css‖ href=‖filename.css‖ ?>

Trong đó filename.css là tên file chứa tệp mẫu quy định các định dạng

cho các phần tử trong tài liệu, tập tin này có phần mở rộng là css và nội dung

là các định dạng cho các phần tử trong tài liệu Nội dung định dạng của mỗi phần tử được định nghĩa theo cú pháp:

elementName{display:block;attName1:attValue1;….;attNameN

:attValueN}

Trong đó elementName là tên phần tử cần định dạng, display:block

hiển thị thành phần theo khối (bắt đầu ở đầu dòng và các thành phần theo sau

nó sẽ bắt đầu ở dòng tiếp theo), hoặc display:line sẽ hiển thị thành phần theo

nội dung, attName là tên thuộc tính và attValue là giá trị của thuộc tính

Trang 37

Nếu muốn gom giá trị các thuộc tính định kiểu lại một nhóm (gọi là lớp) thay vì định kiểu cho từng phần tử, tạo lớp bằng cách đặt một dấu chấm trước tên lớp theo cú pháp sau:

.className{attName1:attValue1; ….; attNameN:attValueN}

Trong đó className là tên lớp và lớp này được sử dụng bên trong phần

tử cần định dạng thông qua thuộc tính theo cú pháp:

<elementName CLASS=―className‖>

Ví dụ 1.3: Có tệp định dạng Hocvien.css như sau:

DanhSach_HV {background-color: #ffffff; width: 100%}

HocVien {background-color: Green; width: 100%} HocvienID {display:block; margin-Bottom:30pt;

margin-left:0}

LopID {display:block; margin-bottom:30pt; size:30pt margin-left:0}

font-TenHocVien {color:Maroon; font-size:20pt}

GioiTinh {color:Maroon; font-size:20pt}

NamSinh {color:Maroon;font-size:20pt }

DiaChi {color:Maroon; font-size:20pt}

DienThoai {color:Maroon; font-size:20pt}

Và một tài liệu XML có nội dung như sau:

Trang 38

Lê Thị Thu Trang

1.3 Phân tích tài liệu XML theo DOM

1.3.1 Mô hình đối tƣợng tài liệu

Để xử lý tài liệu XML, W3C định nghĩa tài liệu theo mô hình hướng đối tượng DOM Theo mô hình này tài liệu XML được tổ chức theo cấu trúc hình cây bao gồm các nút đối tượng, nội dung của mỗi nút (node), trên cây có thể chứa phần tử, dữ liệu, thuộc tính,… và các nút con khác Cụ thể, trong mô hình XML có các loại nút:

Trang 39

Bảng 1 2: Các loại nút trong mô hình XML

Element Phần tử XML Attribute Thuộc tính XML Text Dữ liệu text CDATA section Phân đoạn CDATA Entity reference Tham chiếu thực thể

Processing Instruction Chỉ thị xử lý

Comment Chú thích Document Tài liệu Document Type Kiểu tư liệu Document fragment Đoạn tài liệu

Mô hình DOM được W3C định nghĩa theo nhiều mức khác nhau, cụ thể

là các mức sau:

Mức 0: đặc tả XML không chính thức và được áp dụng cho các trình

duyệt trước đây như Nestcape Navigator 3.0 và IE 3.0

Mức 1: Tập trung vào kết hợp giữa tài liệu XML và HTML

Mức 2: Hỗ trợ không gian tên gọi XML, khung nhìn có lọc và các sự

kiện DOM

Mức 3: Nâng cao các khả năng của DOM với việc cho phép nạp, xử lý,

lưu lại mô hình cho nội dung tài liệu

Ví dụ 1.4: Cho một tài liệu XML sau:

<Hocvien>

Ngày đăng: 24/10/2015, 15:28

HÌNH ẢNH LIÊN QUAN

Hình 1. 2: Tài liệu XML được biểu diễn theo cấu trúc cây - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 1. 2: Tài liệu XML được biểu diễn theo cấu trúc cây (Trang 41)
Hình 1. 3: Mô hình hệ quản trị cơ sở dữ liệu - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 1. 3: Mô hình hệ quản trị cơ sở dữ liệu (Trang 44)
Hình 2.1: Chuyển đổi giữa CSDL quan hệ và XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2.1 Chuyển đổi giữa CSDL quan hệ và XML (Trang 54)
Hình 2. 2: Các mức so sánh giữa mô hình quan hệ và XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 2: Các mức so sánh giữa mô hình quan hệ và XML (Trang 55)
Hình 2. 6:  Sơ đồ thực thể liên kết - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 6: Sơ đồ thực thể liên kết (Trang 69)
Hình 2. 7: Chuẩn hóa quan hệ - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 7: Chuẩn hóa quan hệ (Trang 70)
Hình 2. 12: Những ánh xạ cơ bản từ CSDL quan hệ thành tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 12: Những ánh xạ cơ bản từ CSDL quan hệ thành tài liệu XML (Trang 74)
Hình 2. 14: Sơ đồ chuyển CSDL quan hệ thành tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 14: Sơ đồ chuyển CSDL quan hệ thành tài liệu XML (Trang 76)
Hình 2. 13: Ánh xạ một CSDL sang một tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 13: Ánh xạ một CSDL sang một tài liệu XML (Trang 76)
Hình 2. 15: Chuyển từ bảng CSDL quan hệ thành tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 15: Chuyển từ bảng CSDL quan hệ thành tài liệu XML (Trang 77)
Hình 2. 17: Sơ đồ chuyển tài liệu XML thành CSDL quan hệ - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 17: Sơ đồ chuyển tài liệu XML thành CSDL quan hệ (Trang 78)
Hình 2. 21: Việc băm nhỏ một tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 21: Việc băm nhỏ một tài liệu XML (Trang 82)
Hình 2. 24: Biểu diễn tài liệu XML theo mô hình DOM - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2. 24: Biểu diễn tài liệu XML theo mô hình DOM (Trang 88)
Hình 2.25: Biểu diễn tài liệu XML theo dạng bảng - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2.25 Biểu diễn tài liệu XML theo dạng bảng (Trang 89)
Hình 2.27: Chuyển một CSDL sang tài liệu XML - Chuyển đổi giữa cơ sở dữ liệu quan hệ và XML
Hình 2.27 Chuyển một CSDL sang tài liệu XML (Trang 98)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w