Video: [PCTV] [XML CĂN BẢN P1] - DTD NỘI - DTD NGOẠI 2025
Một tài liệu XML có thể có DTD, có thể hiểu chính xác những yếu tố nào có thể xuất hiện trong một tài liệu XML và thứ tự các phần tử có thể xuất hiện. DTD là viết tắt của Định nghĩa Loại tài liệu, nhưng nó sẽ không được kiểm tra.
Một DTD cho một tài liệu XML về phim, ví dụ: có thể chỉ định rằng mỗi phần tử
Phim
phải có các phần phụ
Tiêu đề
và
Giá
và một thuộc tính có tên < năm
. Nó cũng có thể xác định rằng phần tử gốc phải được đặt tên
Phim
và bao gồm bất kỳ số lượng các phần tử
Phim
.
Phim
tài liệu XML có hai tiêu đề cho một bộ phim, ví dụ, bạn có thể sử dụng DTD để phát hiện lỗi.
Bạn có thể lưu trữ DTD cho một tài liệu XML trong cùng một tệp với dữ liệu XML, nhưng thường xuyên hơn, bạn lưu trữ DTD trong một tệp riêng biệt. Bằng cách đó, bạn có thể sử dụng một DTD để điều chỉnh định dạng của một số tài liệu XML cùng loại. Để chỉ ra tên của tệp có chứa DTD, bạn thêm một tuyên bố
vào tài liệu XML. Dưới đây là ví dụ:
Phim
tài liệu, có DTD mà bạn có thể tìm thấy trong phim
phim. dtd
. Thêm thẻ này vào đầu phim
. xml
, ngay sau thẻ
.
Mã này hiển thị một tập tin DTD cho
phim. tệp xml
.
là:
phần tử
(nội dung)> Sử dụng các quy tắc được liệt kê ở đây để thể hiện nội dung. Chỉ định Nội dung Nội dung
Nội dung
phần tử * | Thành phần được chỉ định có thể xảy ra 0 lần trở lên. |
element +
|
Thành phần được chỉ định có thể xảy ra 1 lần trở lên. |
nguyên tố?
|
Thành phần được chỉ định có thể xảy ra 0 hoặc 1 lần. |
element1 | element2
|
Hoặc |
element1
|
hoặc
element2
có thể xuất hiện.
element1, element2
element1 |
xuất hiện, tiếp theo là
|
element2
.
# PCDATA
Dữ liệu văn bản được phép. |
Bất kỳ
|
Bất kỳ phần tử con nào được phép. |
EMPTY
|
Không cho phép các phần tử con của bất kỳ loại nào. |
Thẻ
|
ELEMENT |
đầu tiên trong DTD được trình bày ở trên cho biết rằng một phần tử
Phim
bao gồm các yếu tố
Phim
không hoặc nhiều hơn.Thẻ
ELEMENT
thứ hai nói rằng một phần tử
Phim
bao gồm phần tử
Tiêu đề
theo sau là phần tử
Giá
. Thẻ thứ 3 và thứ tư
ELEMENT
nói rằng các phần tử
Tiêu đề
và
Giá
bao gồm dữ liệu văn bản.
Nếu chú thích này có vẻ quen thuộc, đó là vì nó có nguồn gốc từ các biểu thức thông thường.
Thẻ
ATTLIST
cung cấp tên của mỗi thuộc tính. Hình thức chung của nó là:
thuộc tính phần tử default-value >>
Đây là một phân tích của thẻ này: phần tử đặt tên phần tử có thẻ thuộc tính có thể xuất hiện
thuộc tính
-
Tên của thuộc tính.
gõ -
xác định những gì có thể xuất hiện dưới dạng giá trị của thuộc tính. Loại
-
có thể là bất kỳ mục nào được liệt kê trong bảng này.
mặc địnhcung cấp giá trị mặc định và cho biết thuộc tính đó là bắt buộc hay tùy chọn.
mặc định -
có thể là bất kỳ mục nào được liệt kê trong bảng sau.
Các thuộc tính Các loạiElement
Giá trị thuộc tính
Có thể là bất kỳ chuỗi ký tự nào. | (string1 | string2 …) |
Có thể là một trong những dây liệt kê.
|
NMTOKEN |
Phải là
|
tên token |
, là một chuỗi gồm các chữ cái và số.
|
NMTOKENS Phải là một hoặc nhiều thẻ tên được phân cách bằng khoảng trắng. ID |
Là một mã thông báo tên phải là duy nhất. Nói cách khác, không có phần tử nào khác trong tài liệu có thể có cùng giá trị cho thuộc tính này.
|
IDREF |
Phải giống với giá trị
|
ID |
được sử dụng ở nơi khác trong tài liệu.
|
IDREFS
Là một danh sách các giá trị
IDREF |
được phân cách bằng khoảng trắng.
|
Kiểm tra mặc định thuộc tính ở đây.
Mặc định thuộc tính |
Tùy chọn hoặc Bắt buộc?
Bắt buộc. | #IMPLIED |
Tùy chọn.
|
giá trị |
Tùy chọn. Giá trị này được sử dụng nếu thuộc tính bị bỏ qua.
|
Giá trị #FIXED |
Tùy chọn. Nếu được bao gồm, tuy nhiên, nó phải là giá trị này, và nếu bỏ qua, giá trị này được sử dụng theo mặc định.
|
|
Dưới đây là tuyên bố thẻ
|
ATTLIST |
phim. dtd
:
Tuyên bố này chỉ ra rằng thuộc tính đi kèm với phần tử
Movie
, có tên là
năm
, có thể là bất kỳ loại dữ liệu nào và được yêu cầu.
Đây là thẻ
ATTLIST
chỉ định danh sách các giá trị có thể có cùng với mặc định:
Biểu mẫu của thẻ
ATTLIST
này cho phép bạn tạo ra một thuộc tính tương tự với một bảng liệt kê, với một danh sách các giá trị chấp nhận được.