DTD - Thuộc tính

  • 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ê. Trang trước
  • Trang tiếp theo Thể DTD

Trong DTD, thuộc tính được khai báo thông qua khai báo ATTLIST.

Khai báo thuộc tính

语法 sử dụng để khai báo thuộc tính:

<!ATTLIST 元素名称 属性名称 属性类型 默认值>

Mẫu DTD:

<!ATTLIST payment type CDATA "check">

Mẫu XML:

Ví dụ XML:

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

Loại Mô tả
CDATA Giá trị là dữ liệu字符 (character data)
(en1|en2|..) Giá trị này là một giá trị trong danh sách các giá trị trong danh sách phân kỳ
ID Giá trị là một id duy nhất
IDREF Giá trị là id của một phần tử khác
IDREFS Giá trị là danh sách các id khác
NMTOKEN Giá trị là một 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ực thể
ENTITIES Giá trị là một danh sách các thực thể
NOTATION Giá trị này là tên của ký hiệu
xml: Giá trị là một giá trị XML được định nghĩa trước

Cá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 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 một giá trị mặc định của thuộc tính

Ví dụ

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

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

<square width="100" />

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

#IMPLIED

#FIXED

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

<!ATTLIST tênElement tênThuộcTính loạiThuộcTính #FIXED "giá trị">

Ví dụ

<!ATTLIST contact fax CDATA #IMPLIED>

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

<contact fax="555-667788" />

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

<contact />

Nếu bạn không muốn buộc tác giả phải包含 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

#FIXED

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

<!ATTLIST tênElement tênThuộcTính loạiThuộcTính #FIXED "giá trị">

Ví dụ


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

<!ATTLIST person number CDATA #REQUIRED>

<sender company="Microsoft" />

<person number="5677" />

<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ả phải cung cấp thuộc tính, hãy sử dụng từ khóa #REQUIRED.

#FIXED

Cú pháp

<!ATTLIST tênElement tênThuộcTính loạiThuộcTính #FIXED "giá trị">

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, trình phân tích XML sẽ trả về lỗi.

Liệt kê giá trị thuộc tính

Cú pháp:

<!ATTLIST tên元素 tênThuộcTính (en1|en2|..) giá trịMặc định>

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ê. Trang trước
  • Trang tiếp theo Thể DTD