Chương 4. XML
4 - 1/
CHƯƠNG 4
XML
CƠ SỞ DỮ LIỆU WEB & XML
Chương 4. XML
4 - 2/
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
Chương 4. XML
4 - 3/
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
Chương 4. XML
4 - 4/
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
4.1 Tổng quan về XML
Chương 4. XML
4 - 5/
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
4.1 Tổng quan về XML
Chương 4. XML
4 - 6/
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 đồ.
4.1 Tổng quan về XML
Chương 4. XML
4 - 7/
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>
<publisher> Riverhead Hardcover </publisher>
<amazon_price> 14.27 </amazon_price>
</book>
4.1 Tổng quan về XML
Chương 4. XML
4 - 8/
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ẻ
4.1 Tổng quan về XML
Chương 4. XML
4 - 9/
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ụ:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
4.1 Tổng quan về XML
Chương 4. XML
4 - 10/
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).
4.1 Tổng quan về XML
Chương 4. XML
4 - 11/
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>
4.1 Tổng quan về XML
Chương 4. XML
4 - 12/
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
giá trị của thuộc tính phải nằm giữa ngoặc kép hoặc đơn
4.1 Tổng quan về XML
Chương 4. XML
4 - 13/
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
:
<?xml version="1.0"?>
<greeting>
Hello, World!
</greeting>
<greeting>
Hello XML!
</greeting>
<?xml version="1.0"?>
<greetings>
<greeting>
Hello, World!
</greeting>
<greeting>
Hello XML!
</greeting>
</greetings>
4.1 Tổng quan về XML
Chương 4. XML
4 - 14/
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 phần tử
(con) khác.
4.1 Tổng quan về XML
Chương 4. XML
4 - 15/
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ử.
4.1 Tổng quan về XML
Chương 4. XML
4 - 16/
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ụ:
<?xml version="1.0" encoding="UTF-8"?>
<book isbn="978-1594489501">
<title> A Thousand Splendid Suns </title>
<author> Khaled Hosseini </author>
</book>
4.1 Tổng quan về XML
Chương 4. XML
4 - 17/
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.
4.1 Tổng quan về XML
Chương 4. XML
4 - 18/
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 = “UTF-8”?>
<label>
<name TEXT= “Jane Smith” />
<address>
<street> 270 Burlington Road </street>
<city> Bedford </city>
<state> MA 01730 </state>
</address>
</label>
4.1 Tổng quan về XML
Chương 4. XML
4 - 19/
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 XML
4.1 Tổng quan về XML
Chương 4. XML
4 - 20/
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 “>”
4.1 Tổng quan về XML
Chương 4. XML
4 - 21/
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 = “UTF-8”?>
<label>
<name> Jane Smith </name>
<address
street = "270 Burlington Road"
city = "Bedford"
state = "MA 01730" />
</label>
4.1 Tổng quan về XML
Chương 4. XML
4 - 22/
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"?>
4.1 Tổng quan về XML
Chương 4. XML
4 - 23/
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.
4.1 Tổng quan về XML
Chương 4. XML
4 - 24/
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.
4.1 Tổng quan về XML
Chương 4. XML
4 - 25/
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.
4.1 Tổng quan về XML