Các giá trị thuộc tính liệt kê
• Sử dụng các thuộc tính liệt kê khi các giá trị thuộc tính là một trong tập các trị cố định các giá trị hợp lệ
• Cú pháp:
<!ATTLIST element-name attribute-name (en1| en2|..) default-value>
DTD example:
<!ATTLIST payment type (check|cash) "cash"> XML example:
<payment type="check" /> or
NMTOKEN
NMTOKEN
• Thuộc tính có kiểu dữ liệu này chỉ được gán các giá trị hợp với qui tắc đặt tên của XML và không có khoảng trắng.
• Sử dụng NMTOKEN cũng có nghĩa thuộc tính chỉ có thể mang giá trị là một từ đơn.
DTD:
<!ATTLIST CUSTOMER SHIP_STATE NMTOKEN #REQUIRED> XML đúng:
<CUSTOMER SHIP_STATE=“Thua_Thien_Hue”> XML sai:
NMTOKENS
NMTOKENS
• Thuộc tính có kiểu NMTOKENS cho phép giá trị thuộc tính là một chuỗi bao gồm nhiều
TOKEN có tên theo qui tắt của XML và phân cách nhau bằng khoảng trắng
DTD:
<!ATTLIST CUSTOMER CONTACT_NAME NMTOKENS #REQUIRED>
XML đúng:
<CUSTOMER CONTACT_NAME=“Nguyen Van A”> XML sai:
ID
ID
• Giá trị phải là duy nhất khi các thuộc tính có kiểu ID bên trong tài liệu XML
• Giá trị của thuộc tính ID là một tên XML:
– Tuân theo nguyên tắc đặt tên của XML
• Giá trị mặc định là #REQUIRED
DTD:
<!ATTLIST CUSTOMER CUTOMER_ID ID #REQUIRED >
XML:
<CUSTOMER CUTOMER_ID=“C1232231”> ...
IDREF
IDREF
• Cho phép xác định thông tin liên quan đến cấu trúc của tài liệu- thông tin về quan hệ giữa các phần tử trong tài liệu
• Thuộc tính có kiểu IDREF nắm giữ giá trị ID của các phần tử khác trong cùng một tài liệu
• Nhiều phần tử có thể dùng chung các giá trị IDREF giống nhau <!ELEMENT resources (specialized_website | general_website)*>
<!ELEMENT specialized_website (title, url)> <!ELEMENT title (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!-- The specialized_website element will have to have an attribute called "animal_focus" that contains a single value from an ID type attribute found elsewhere in the XML document. -->
<!ATTLIST specialized_website animal_focus IDREF #REQUIRED> <!ELEMENT general_website (title, url)>
<!-- The general_website element will have to have an attribute called "contents" that will contain the values of one or more ID type attributes from elsewhere in the XML document. -->
ENTITY
ENTITY