-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
159 trang |
Chia sẻ: lylyngoc | Lượt xem: 1792 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Chương 4 XML, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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ụ:
A Thousand Splendid Suns
Khaled Hosseini
Riverhead Hardcover
14.27
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ụ:
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ụ:
Peter@gmail.com
Jhon@gmail.com
Invitation
marry@yahoo.com
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:
Hello, World!
Hello XML!
Hello, World!
Hello XML!
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ụ
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ụ:
A Thousand Splendid Suns
Khaled Hosseini
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
270 Burlington Road
Bedford
MA 01730
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
Jane Smith
<address
street = "270 Burlington Road"
city = "Bedford"
state = "MA 01730" />
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 “”
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ụ:
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ụ:
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
Chương 4. XML 4 - 26/
4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ
- Tài liệu xml hợp lệ khi nó là tài liệu được kết hợp với định
nghĩa kiểu dữ liệu (DTD) và tuân theo các chuẩn của DTD.
- Hầu hết các trình duyệt kiểm tra tính hợp khuôn dạng trước.
Tiếp theo một vài trình duyệt có thể kiểm tra thêm tính hợp lệ
của tài liệu xml.
4.1 Tổng quan về XML
Chương 4. XML 4 - 27/
4.1.4 Kiểu dữ liệu
XML có hai nhóm kiểu dữ liệu là kiểu ghép và kiểu cơ bản
Kiểu ghép là kiểu chứa các phần tử con trong nó hoặc
chứa thêm thuộc tính
Kiểu cơ bản là các kiểu nội tại đã được định nghĩa sẵn
4.1 Tổng quan về XML
Chương 4. XML 4 - 28/
4.1.4 Kiểu dữ liệu
- Kiểu cơ bản
4.1 Tổng quan về XML
Binary Kiểu dữ liệu nhị phân
Boolean Kiểu luận lý.
Byte Kiểu byte.
Decimal Kiểu thập phân.
Double Kiểu số thực 64-bit
String Kiểu chuỗi.
Date Kiểu ngày.
Month Kiểu tháng (ví dụ 4, 6).
Century Kiểu thế kỷ (ví dụ 20).
Chương 4. XML 4 - 29/
4.1.4 Kiểu dữ liệu
- Kiểu cơ bản
4.1 Tổng quan về XML
Int, integer Kiểu số nguyên.
Id Kiểu định danh.
Entity Kiểu thực thể.
Entities Kiểu đa thực thể.
Idref Kiểu tham chiếu định danh.
Notation Kiểu ghi chú.
NMToken Kiểu Token đơn.
NMTokensKiểu đa Token.
Chương 4. XML 4 - 30/
4.1.4 Kiểu dữ liệu
- Kiểu ghép
cấu trúc gồm có hai hay nhiều kiểu dữ liệu đơn giản
lập trình viên có thể tự định nghĩa các kiểu dữ liệu này..
4.1 Tổng quan về XML
Chương 4. XML 4 - 31/
4.2.1 Định nghĩa dữ liệu
định nghĩa kiểu dữ liệu (Data Type Definition – DTD) là định
nghĩa kiểu dữ liệu cho các phần tử
DTD mô tả các quy tắc cấu trúc của tài liệu
Liệt kê các phần tử, thuộc tính và các thực thể có thể được
sử dụng trong tài liệu
Cấu trúc của DTD phân cấp theo dạng hình cây
DTD phải theo cú pháp qui định của W3C
Có hai loại DTD (Nội và ngoại)
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 32/
4.2.1 Định nghĩa dữ liệu
- Khai báo DTD
thường đặt ở phần đầu của tài liệu
<! DOCTYPE Root-name[DTD]
.
.
>
Ví dụ Khai báo DTD lưu trữ toàn bộ thông tin của một Email
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 33/
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE EMAIL [
]>
Smith@gmail.com
John@yahoo.com
peter@hotmail.com
Play a game
We have a game on this Sunday.
Chương 4. XML 4 - 34/
4.2.1 Định nghĩa dữ liệu
Khi khai báo một phần tử có khả năng chứa nhiều phần tử con
chúng ta phải lặp lại khai báo
sử dụng các ký tự đại diện (*)
Ví dụ:
<!DOCTYPE EMAILS [
]>
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 35/
4.2.1 Định nghĩa dữ liệu
Một số nguyên tắc sử dụng ký tự đại diện
Giả sử a, b là hai phần tử con muốn khai báo và định nghĩa
a*: Không có hoặc có nhiều phần tử con giống nhau
a+: Có một hoặc nhiều phần tử con giống nhau
a?: Phần tử a hoặc không có phần tử nào cả
a, b: Phần tử a tiếp đến là phần tử b
a|b: Phần tử a hoặc b nhưng không được cả hai
(expresstion) Tập các phần tử expresstion trong cặp
ngoặc sẽ ảnh hưởng bởi ký tự đại diện *, + hoặc ?.
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 36/
4.2.1 Định nghĩa dữ liệu
một DTD có thể chứa các thành phần sau:
ELEMENT Định nghĩa một phần tử
ATTRIBUTE Định nghĩa một thuộc tính của một ELEMENT
ENTITY Định nghĩa một thực thể
NOTATION Định nghĩa chú thích
#PCDATA Chứa dữ liệu văn bản..
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 37/
4.2.1 Định nghĩa dữ liệu
- Phần tử
phần tử có thể chứa dữ liệu, phần tử con hoặc thuộc tính
name là tên phần tử;
content_mode có thể là EMPTY, ANY hoặc cả hai
ANY: phần tử có thể chứa bất kỳ kiểu nội dung nào kể cả
phần tử khác,
trình phân tích sẽ không kiểm tra cú pháp hay xác định tính
hợp lệ của nội dung phần tử
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 38/
4.2.1 Định nghĩa dữ liệu
- Phần tử
EMPTY: Khai báo phần tử rỗng
phần tử không mang nội dung nhưng có quyền mang giá
trị cho thuộc tính.
Ví dụ:
..
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 39/
4.2.1 Định nghĩa dữ liệu
- Thuộc tính
Thuộc tính chứa thông tin về phần tử hay nội dung của phần tử.
element là tên của phần tử
attribute là tên thuộc tính
type là kiểu dữ liệu
default giá trị mặc định
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 40/
4.2.1 Định nghĩa dữ liệu
- Thuộc tính
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
..
Chương 4. XML 4 - 41/
4.2.1 Định nghĩa dữ liệu
- #PCDATA (Parsed Character Data)
Khai báo phần tử chứa dữ liệu văn bản thô, không định dạng
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
]>
Sam Smith
Chương 4. XML 4 - 42/
4.2.1 Định nghĩa dữ liệu
- #PCDATA (Parsed Character Data)
Ví dụ sau đây là không hợp lệ vì phần #PCDATA chứa phần tử:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
]>
Sam Smith
Lousy
Chương 4. XML 4 - 43/
4.2.1 Định nghĩa dữ liệu
- #PCDATA (Parsed Character Data)
Có thể định nghĩa một DTD vừa có khả năng chứa dữ liệu thuần
text vừa chứa dữ liệu thể hiện phần định dạng (kiểu nội dung
hỗn hợp)
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
..
]> ..
Chương 4. XML 4 - 44/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại
dựa trên các DTD đã được định nghĩa sẵn (tệp tin .dtd)
ứng dụng XML có thể chia sẻ và dùng chung với ứng dụng khác
Có hai cách tham chiếu ngoại: Tham chiếu ngoại riêng (Private
DTDs) và tham chiếu ngoại chung (Public DTDs)..
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 45/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại dùng riêng
tham chiếu ngoại riêng được sử dụng cho một nhóm người
và mang tính cá nhân.
khai báo tham chiếu ngoại riêng bằng cách sử dụng từ
khóa SYSTEM trong chỉ thị khai báo .
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 46/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại dùng riêng
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Sam Smith
15
Tomatoes
Chương 4. XML 4 - 47/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại dùng riêng
Tệp tin order.dtd như sau:
4.2 Định nghĩa kiểu dữ liệu - DTD
..
Chương 4. XML 4 - 48/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại dùng chung
sử dụng từ khóa PUBLIC vào khai báo
cần phải tạo ra một định danh chung hình thức (FPI –
Formal Public Identifier) và tuân theo một số qui tắc cho FPI
- Trường đầu tiên của FPI xác định kết nối DTD đến một chuẩn hình thức
Đối với các DTD do chúng ta tự định nghĩa, trường này sẽ là một ký tự
chấm (.).
Đối với các chuẩn hình thức, trường này sẽ tự tham chiếu đến chuẩn
của nó (ví dụ như ISO/IEC:13449:2000).
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 49/
4.2.1 Định nghĩa dữ liệu
- DTD ngoại dùng chung
- Trường thứ hai phải nắm giữ tên nhóm hoặc của người sẽ chịu trách
nhiệm bảo trì và nâng cấp các định nghĩa DTD.
phải sử dụng tên mang tính duy nhất và có thể dễ dàng định danh ra
nhóm của chúng ta (ví dụ như w3c).
- Trường thứ ba chỉ định kiểu của tài liệu được môt tả, thường thì trường
này kèm theo một số định danh duy nhất nào đó (chẳng hạn như version
1.0).
-Trường thứ tư chỉ định ngôn ngữ mà định nghĩa DTD sử dụng (ví dụ với
tiếng Anh chúng ta dùng là EN).
Các trường trong FPI cách nhau bằng cặp dấu sổ trái (//).
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 50/
4.2.1 Định nghĩa dữ liệu
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT PUBLIC
".//viethanit//Custom XML Version 1.0//EN"
"">
Sam Smith
15
Tomatoes
..
Chương 4. XML 4 - 51/
4.2.1 Định nghĩa dữ liệu
- Sử dụng DTD với URLs
chúng ta có thể chỉ định tệp tin tham chiếu theo địa chỉ
tuyệt đối Internet URLs.
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
Sam Smith
15
Tomatoes
..
Chương 4. XML 4 - 52/
4.2.1 Định nghĩa dữ liệu
- Sử dụng chung tham chiếu nội và tham chiếu ngoại
khai báo:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 53/
4.2.1 Định nghĩa dữ liệu
- Sử dụng chung tham chiếu nội và tham chiếu ngoại
Ví dụ: Nội dung order.dtd đã loại bỏ phần tử
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 54/
4.2.1 Định nghĩa dữ liệu
- Sử dụng chung tham chiếu nội và tham chiếu ngoại
Nội dung của tài liệu
4.2 Định nghĩa kiểu dữ liệu - DTD
[
]>
Sam Smith
15
Tomatoes
..
Chương 4. XML 4 - 55/
4.2.2 Thực thể
thực thể là cách XML tham chiếu đến một mục dữ liệu
khai báo thực thể trong phần định nghĩa DTD
sử dụng bằng cách tham chiếu đến nó trong tài liệu
Có 2 loại thực thể là tổng quát và tham số
Tham chiếu thực thể tổng quát bắt đầu bằng ký tự “&” và
kết thúc bằng ký tự “;”
Tham chiếu thực thể tham số bắt đầu bằng ký tự “%” và
kết thúc bằng ký tự “;”.
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 56/
4.2.2 Thực thể
thực thể nội được định nghĩa hoàn toàn trong tài liệu tham
chiếu đến nó.
Thực thể ngoại là thực thể được định nghĩa từ bên ngoài
và được tham chiếu đến chúng bằng địa chỉ URL hoặc URI
XML có năm thực thể tổng quát được định nghĩa sẵn:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 57/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
Thực thể Đại diện
< <
> >
& &
' ‘
" "
Chương 4. XML 4 - 58/
4.2.2 Thực thể
Khai báo và định nghĩa một thực thể tổng quát
name là tên thực thể
definition là định nghĩa của thực thể
Ví dụ: định nghĩa một thực thể tổng quát tên TODAY biểu
diễn ngày tháng là chuỗi “August 22, 2009”
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 59/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
]>
Chương 4. XML 4 - 60/
4.2.2 Thực thể
Nội dung tài liệu xml:
4.2 Định nghĩa kiểu dữ liệu - DTD
Sam Smith
15
&TODAY;
Tomatoes
…
Chương 4. XML 4 - 61/
4.2.2 Thực thể
Kết quả:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 62/
4.2.2 Thực thể
- Lưu ý: chúng ta có thể tạo các thực thể tổng quát lồng nhau
Ví dụ:
Tuy nhiên ta không thể định nghĩa các thực thể theo kiểu tham
chiếu vòng.
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!ENTITY NAME “Bill Gate”
..
Chương 4. XML 4 - 63/
4.2.2 Thực thể
thực thể tổng quát không thể sử dụng khai báo DTD
chúng ta phải sử dụng thực thể tham số trong DTD..
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 64/
4.2.2 Thực thể
Thực thể tổng quát ngoại
khai báo các thực thể ngoại bằng từ khóa SYSTEM hoặc
PUBLIC
Ví dụ: thực thể mang tên TODAY kết nối với “October 15, 2001”
trong file dữ liệu date.xml
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 65/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
]>
Sam Smith
15
&TODAY;
…
Chương 4. XML 4 - 66/
4.2.2 Thực thể
- Xây dựng tài liệu XML từ các phần nguồn khác nhau
Sử dụng thực thể ngoại để nhúng dữ liệu từ các tài liệu khác
vào tài liệu xml.
ví dụ: thực thể data tham chiếu đến nội dung file data.xml. File
data.xml chứa hầu hết nội dung còn lại của tài liệu xml.
File gốc và file data.xml như sau:
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 67/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
]>
&data;
Chương 4. XML 4 - 68/
4.2.2 Thực thể
Dưới đây là nội dung file data.xml
4.2 Định nghĩa kiểu dữ liệu - DTD
Sam Smith
15
August 22, 2009
Tomatoes
John
16
August 22, 2009
Apple
Chương 4. XML 4 - 69/
4.2.2 Thực thể
- Tham chiếu thực thể tổng quát được định nghĩa trước
Chúng ta có thể tự định nghĩa các thực thể của riêng mình tham
chiếu đến những ký tự do ta qui định.
Phải xác định chính xác mã ký tự chúng ta muốn sử dụng. Ví dụ
trong mã UTF-8 ký tự @ có mã là #64
Ví dụ:
Ví dụ định nghĩa lại 5 thực thể dựng sẵn trong xml
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 70/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE TEXT [
]>
This is about the "_new; S&_new;
O railroad"_new; is the <_new;TEXT>_new;
Element&apos_new;s content.
..
Chương 4. XML 4 - 71/
4.2.2 Thực thể
- Tạo thực thể tham số nội (internal parameter Entities)
không thể dùng thực thể tổng quát trong khai báo DTD
cần sử dụng thực thể tham số trong khai báo DTD.
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 72/
4.2.2 Thực thể
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
<!DOCTYPE DOCUMENT [
">
%BR;
]>..
Chương 4. XML 4 - 73/
4.2.2 Thực thể
- Ví dụ thực thể tham số ngoại
File order.dtd được định nghĩa trước chứa DTD
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 74/
4.2.2 Thực thể
4.2 Định nghĩa kiểu dữ liệu - DTD
Sam Smith
17/8/2009
15
Tomatoes
Jones
17/8/2009
16
Apple
..
Chương 4. XML 4 - 75/
4.2.2 Thực thể
- Sử dụng INCLUDE và IGNORE
INCLUDE và IGNORE thường được sử dụng chung với
các thực thể tham số
include để thêm vào các đoạn định nghĩa DTD
ignore bỏ qua các đoạn định nghĩa DTD
4.2 Định nghĩa kiểu dữ liệu - DTD
Chương 4. XML 4 - 76/
4.2.2 Thực thể
- Sử dụng INCLUDE và IGNORE
Ví dụ:
4.2 Định nghĩa kiểu dữ liệu - DTD
&l