DTD - 属性

Trong DTD, thuộc tính được khai báo bằng cách sử dụng khai báo ATTLIST.

Khai báo thuộc tính

Sử dụng ngữ pháp sau để khai báo thuộc tính:

<!ATTLIST tên phần tử tên thuộc tính loại thuộc tính giá trị mặc định>

Mẫu DTD:

<!ATTLIST payment type CDATA "check">

Mẫu XML:

<payment type="check" />

Dưới đây làLoại thuộc tínhCác tùy chọn của:

Loại Mô tả
CDATA Giá trị là dữ liệu văn bản (character data)
(en1|en2|..) Giá trị này là một trong các giá trị của danh sách số liệu
ID Giá trị là id duy nhất
IDREF Giá trị là id của một phần tử khác
IDREFS Danh sách giá trị các id khác
NMTOKEN Giá trị là tên XML hợp lệ
NMTOKENS Giá trị là danh sách các tên XML hợp lệ
ENTITY Giá trị là một thẻ
ENTITIES Giá trị là danh sách các thẻ
NOTATION Giá trị này là tên ký hiệu
xml: Giá trị là một giá trị XML được định nghĩa trước

Tham số giá trị mặc định có thể sử dụng các giá trị sau:

Giá trị Giải thích
Giá trị Giá trị mặc định của thuộc tính
#REQUIRED Giá trị thuộc tính là bắt buộc
#IMPLIED Thuộc tính không bắt buộc
#FIXED value Giá trị thuộc tính là cố định

Định nghĩa giá trị mặc định của thuộc tính

DTD:

<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

XML hợp lệ:

<square width="100" />

Trong ví dụ trên, "square" được định nghĩa là một phần tử trống có thuộc tính "width" với loại CDATA. Nếu độ rộng không được thiết lập, giá trị mặc định là 0.

#IMPLIED

语法

<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>

Ví dụ

DTD:

<!ATTLIST contact fax CDATA #IMPLIED>

XML hợp lệ:

<contact fax="555-667788" />

XML hợp lệ:

<contact />

Nếu bạn không muốn buộc tác giả bao gồm thuộc tính và bạn không có tùy chọn giá trị mặc định, hãy sử dụng từ khóa #IMPLIED.

#REQUIRED

语法

<!ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>

Ví dụ

DTD:

<!ATTLIST person number CDATA #REQUIRED>

XML hợp lệ:

<person number="5677" />

XML không hợp lệ:

<person />

Nếu bạn không có tùy chọn giá trị mặc định nhưng vẫn muốn buộc tác giả gửi thuộc tính, hãy sử dụng từ khóa #REQUIRED.

#FIXED

语法

<!ATTLIST 元素名称 属性名称 属性类型 #FIXED "value">

Ví dụ

DTD:

<!ATTLIST sender company CDATA #FIXED "Microsoft">

XML hợp lệ:

<sender company="Microsoft" />

XML không hợp lệ:

<sender company="W3School" />

Nếu bạn muốn thuộc tính có giá trị cố định và không cho phép tác giả thay đổi giá trị này, hãy sử dụng từ khóa #FIXED. Nếu tác giả sử dụng giá trị khác, bộ phân tích XML sẽ trả về lỗi.

列举属性值

语法:

<!ATTLIST 元素名称 属性名称 (en1|en2|..) 默认值>

Ví dụ DTD:

!ATTLIST payment type (check|cash) "cash">

Ví dụ XML:

<payment type="check" />

hoặc

<payment type="cash" />

Nếu bạn muốn giá trị thuộc tính là một trong số các giá trị hợp lệ cố định, hãy sử dụng giá trị thuộc tính liệt kê.