CƠ SỞ DỮ LIỆU WEB & XML
CHƯƠNG 4
XML
Chương 4. XML
4 - 1/43
Chương 4: XML
4.1 Tổng quan về XML
4.2 Định nghĩa kiểu dữ liệu - DTD
4.3 Ngôn ngữ định dạng
4.4 Liên kết
Chương 4. XML
4 - 2/43
Chương 4: XML
MỤC TIÊU
- Trình bày được:
+ Các khái niệm trong XML
+ Định nghĩa kiểu tư liệu - DTD
+ Ngôn ngữ định dạng dữ liệu
+ Ngôn ngữ tạo liên kết
- Tạo được tài liệu XML hợp lệ, hợp khuôn dạng
- Áp dụng để tạo cấu trúc tài liệu
Chương 4. XML
4 - 3/43
4.1 Tổng quan về XML
4.1.1 Giới thiệu
XML - eXtensible Markup Language
là ngôn ngữ xây dựng cấu trúc tài liệu văn bản
dựa theo chuẩn SGML (Standard Generalized
Markup Language)
W3C phát triển
tương tự như cơ sở dữ liệu
dùng văn bản (text) để mô tả thông tin
Chương 4. XML
4 - 4/43
4.1 Tổng quan về XML
4.1.1 Giới thiệu
Đơn vị cơ sở của XML là các ký tự
Tài liệu xml gồm một hoặc nhiều thực thể (mỗi
thực thể thường là một phần)
XML có thể dùng cho nhiều loại dữ liệu
Chương 4. XML
4 - 5/43
4.1 Tổng quan về XML
4.1.1 Giới thiệu
Có ba loại văn bản XML:
Văn bản không hợp lệ: không theo nguyên tắc cú
pháp được quy định bởi đặc tính kỹ thuật XML
Văn bản hợp lệ: tuân theo nguyên tắc cú pháp XML
và quy định trong DTD hoặc lược đồ.
Văn bản chuẩn tuân: theo quy tắc cú pháp XML
nhưng không có DTD hoặc lược đồ.
Chương 4. XML
4 - 6/43
4.1 Tổng quan về XML
4.1.1 Giới thiệu
ví dụ:
<?xml version="1.0" encoding="UTF-8"?>
<book isbn="978-1594489501">
<title> A Thousand Splendid Suns </title>
<author> Khaled Hosseini </author>
Riverhead Hardcover
</publisher>
<amazon_price> 14.27 </amazon_price>
</book>
Chương 4. XML
4 - 7/43
4.1 Tổng quan về XML
4.1.1 Giới thiệu
Các đặc điểm của XML:
Dễ dàng viết được các chương trình xử lý dữ liệu
Tài liệu XML dễ đọc và có tính hợp lý cao
XML dễ dàng được sử dụng trên Internet
XML hỗ trợ nhiều ứng dụng
Không đặt nặng tính hình thức trong nội dung thẻ
Chương 4. XML
4 - 8/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
Một tài liệu XML được chia thành hai phần chính:
- Phần khai báo: khai báo cho tài liệu XML
khai báo phiên bản, bảng mã ký tự sử dụng trong
tài liệu
định nghĩa kiểu cho tài liệu
Khai báo có thể có hoặc không. Nếu có, nó phải là ở
dòng đầu tiên trong văn bản.
Ví dụ:
standalone="no"?>
Chương 4. XML
4 - 9/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
Một tài liệu XML được chia thành hai phần chính:
- Phần thân: chứa nội dung dữ liệu
gồm một hay nhiều phần tử,
mỗi phần tử được chứa trong một cặp thẻ
phần tử đầu tiên là phần tử gốc (root element).
Chương 4. XML
4 - 10/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
Ví dụ:
<EMAIL>
<FROM> </FROM>
<TO> </TO>
<SUBJECT> Invitation </SUBJECT>
<CC> </CC>
</EMAIL>
Chương 4. XML
4 - 11/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
Một tài liệu XML được coi là hợp khuôn dạng (well-form)
nếu:
các khai báo đặt tại dòng đầu tiên của tài liệu
chỉ có một thành phần gốc (root)
mỗi phần tử của tài liệu phải được nằm trong một
cặp thẻ
Các thành phần đều nằm giữa cặp thẻ gốc và phải
lồng nhau một cách hợp lý
các cặp thẻ phải được viết chính xác như nhau
4 - 12/43
4. XML
giá trị của thuộc tính phải Chương
nằm giữa
ngoặc kép
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử gốc
chứa tất cả các phần tử trong văn bản:
version="1.0"?>
<greetings>
<greeting>
Hello, World!
</greeting>
<greeting>
Hello XML!
</greeting>
</greetings>
version="1.0"?>
<greeting>
Hello, World!
</greeting>
<greeting>
Hello XML!
</greeting>
Chương 4. XML
4 - 13/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử
là mẩu thông tin được đánh dấu bằng một cặp thẻ, thẻ
mở và thẻ đóng
thẻ mở của phần tử đánh dấu nơi bắt đầu
thẻ đóng đánh dấu nơi kết thúc
phần tử chỉ có một thẻ gọi là phần tử đóng hay còn
gọi là phần tử rỗng; dấu kết thúc thẻ là “/>”. ví dụ
<cc/>
nội dung của phần tử bao gồm văn bản và các
4 - 14/43
phần tử (con) khác.
Chương 4. XML
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử
Thuộc tính cho phép xác định thêm thông tin và ý nghĩa
của thẻ
một phần tử có thể chứa các thuộc tính được đặt
trong thẻ bắt đầu, ngay sau tên phần tử
Giá trị của thuộc tính phải được đặt trong cặp nháy
đơn hoặc nháy kép
mỗi tên thuộc tính chỉ được xuất hiện một lần trong
mỗi phần tử.
Chương 4. XML
4 - 15/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử
Để gán giá trị cho thuộc tính, thường dùng dấu
“=”. Ví dụ city = "Bedford".
Ví dụ:
encoding="UTF-8"?>
<book isbn="978-1594489501">
<title> A Thousand Splendid Suns
</title>
<author> Khaled Hosseini
</author>
Chương 4. XML
4 - 16/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử rỗng
là phần tử không kèm theo dữ liệu
chỉ có duy nhất một thẻ.
chỉ cần thẻ bắt đầu, không cần thẻ kết thúc.
Ký hiệu thẻ <…/>
tất cả thông tin được lưu trữ trong các thuộc tính.
Chương 4. XML
4 - 17/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Phần tử rỗng
Ví dụ: đặc tả thông tin về Jane
<?xml version = “1.0” encoding = “UTF8”?>
<label>
<name TEXT= “Jane Smith” />
<address>
<street> 270 Burlington Road
</street>
<city> Bedford </city>
<state> MA 01730 </state>
</address>
4 - 18/43
Chương 4. XML
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Một số quy tắc cho phần tử
Mỗi thẻ bắt đầu phải có thẻ kết thúc, hoặc thẻ
đóng
Các thẻ không được chồng gối lên nhau
Mỗi tài liệu XML có duy nhất một phần tử gốc
Tên của phần tử phải tuân theo quy ước đặt tên
của XML
Phân biệt chữ hoa, chữ thường
Các phần tử lồng nhau là cấu trúc quan trọng trong
Chương 4. XML
4 - 19/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Quy tắc đặt tên phần tử
bắt đầu bằng các ký tự hay dấu ”_”, không được
bắt đầu bằng số hay dấu câu
sau ký tự đầu tiên, có thể dùng số, “-“ và “.”
không được chứa khoảng trống, dấu hai chấm “:”
không được bắt đầu bởi nhóm ký tự “xml”
không được chứa ký tự trống ngay sau dấu mở “<”,
nhưng có thể chứa ký tự trống ngay trước dấu đóng
“>”
Chương 4. XML
4 - 20/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
Ví dụ: đặc tả thông tin về Jane
<?xml version = “1.0” encoding = “UTF8”?>
<label>
<name> Jane Smith </name>
street = "270 Burlington Road"
city = "Bedford"
state = "MA 01730" />
</label>
Chương 4. XML
4 - 21/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Chú thích:
có thể xuất hiện bất cứ đâu trong văn bản
bắt đầu bằng “<!--” và kết thúc bằng “-->”
không thể chứa một dấu nối kép “—”
chú thích có thể chứa bất cứ nội dung gì
Ví dụ:
<!-- Đây là một PI cho Cocoon: -->
<?cocoon-process type="sql"?>
Chương 4. XML
4 - 22/43
4.1 Tổng quan về XML
4.1.2 Cấu trúc một tài liệu XML
- Hướng dẫn xử lý:
đánh dấu cho một đoạn mã riêng biệt
Ví dụ:
<!-- Đây là một PI cho Cocoon: -->
<?cocoon-process type="sql"?>
Trong ví dụ này, thuộc tính type="sql" chỉ cho
Cocoon biết văn bản XML chứa một lệnh SQL.
Chương 4. XML
4 - 23/43
4.1 Tổng quan về XML
4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ
- Một tài liệu XML được xem là hợp khuôn dạng nếu:
đảm bảo những quy tắc cú pháp thiết lập cho XML
bởi tổ chức W3C (XML 1.0 - các luật về thẻ, phần tử,
thuộc tính, giá trị,…)
nói cách khác tài liệu XML hợp khuôn dạng là tài
liệu XML có cấu trúc đúng.
Chương 4. XML
4 - 24/43
4.1 Tổng quan về XML
4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ
- Để hợp khuôn dạng, tài liệu XML phải đúng các luật
sau đây:
Có một phần tử gốc duy nhất, chứa tất cả phần tử
khác
Mỗi thẻ mở phải có một thẻ đóng giống như nó
Mỗi phần tử con nằm trọn bên trong phần tử cha
của nó
Giá trị thuộc tính trong XML phải được đặt giữa một
cặp ngoặc kép hay một cặp ngoặc đơn.
Chương 4. XML
4 - 25/43