Nội dung chính
Thuộc tính trong XML
Bài này trình bày cho bạn về thuộc tính trong XML. Các thuộc tính là các phần của các phần tử XML. Một phần tử có thể có nhiều thuộc tính duy nhất. Các thuộc tính cung cấp thêm thông tin về các phần tử XML. Một thuộc tính XML luôn luôn là một cặp name-value.
Cú pháp
Một thuộc tính XML có cú pháp như sau:
<element-name attribute1 attribute2 > ....content.. < /element-name>
Ở đây, attribute1 và attribute2 có mẫu như sau:
name = "value"
value phải nằm trong dấu trích dẫn đơn (" ") hoặc trích dẫn kép (' '). Ở đây, attribute1 và attribute2 là nhãn thuộc tính duy nhất.
Các thuộc tính được sử dụng để thêm một nhãn duy nhất cho một phần tử, đặt nhãn trong một Category, thêm một Boolean flag, hoặc liên kết nó với một số chuỗi dữ liệu. Ví dụ sau minh họa sự sử dụng của thuộc tính:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE city [ <!ELEMENT city (building)*> <!ELEMENT building (#PCDATA)> <!ATTLIST building category CDATA #REQUIRED> <city> <building category="office" /> <building category="apartment"> </building> </city>
Các thuộc tính được sử dụng để phân biệt các phần tử có cùng tên. Khi bạn không muốn tạo một phần tử mới trong mọi tình huống, thì sử dụng một thuộc tính có thể bổ sung thêm sự khác nhau giữa hai hoặc nhiều phần tử tương tự.
Trong ví dụ trên, chúng ta đã phân loại các building bằng việc thêm thuộc tính category và gán các giá trị khác nhau cho mỗi phần tử. Vì thế, chúng ta có hai loại building, một là office và loại khác là apartment. Do đó, chúng ta có hai phần tử building với các thuộc tính khác nhau.
Bạn cũng có thể nhận thấy rằng chúng ta đã khai báo thuộc tính này tại phần đầu của XML.
Kiểu thuộc tính trong XML
Bảng dưới liệt kê các kiểu thuộc tính trong XML:
Kiểu thuộc tính | Mô tả |
---|---|
StringType | Nó nhận bất kỳ chuỗi hằng nào như là một giá trị. CDATA là một StringType. CDATA là dữ liệu ký tự. Nghĩa là, bất cứ chuỗi ký tự không đánh dấu nào là một phần hợp lệ của thuộc tính |
TokenizedType | Đây là một kiểu khá phức tạp. Các ràng buộc giá trị ghi chú trong cú pháp được áp dụng sau khi giá trị thuộc tính được tiêu chuẩn hóa. Các thuộc tính kiểu TokenizedType được cung cấp như sau:
|
EnumeratedType | Nó có một danh sách các giá trị được định nghĩa trước trong khai báo của nó. Ở bên ngoài danh sách, nó phải gán một giá trị. Có hai kiểu thuộc tính dạng EnumeratedType:
|
Qui tắc cho thuộc tính phần tử trong XML
Bạn cần theo các qui tắc dưới đây khi sử dụng thuộc tính phần tử trong XML:
Một tên thuộc tính phải không xuất hiện nhiều hơn một lần trong cùng thẻ đóng và thẻ mở.
Một thuộc tính phải được khai báo trong Document Type Definition (DTD) bởi sử dụng một khai báo danh sách thuộc tính.
Các giá trị thuộc tính phải không chứa các tham chiếu thực thể trực tiếp hoặc gián tiếp tới các thực thể bên ngoài.
Phần text thay thế của một thực thể được tham chiếu trực tiếp hoặc gián tiếp trong một giá trị thuộc tính phải không chứa dấu nhỏ hơn <