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