Hướng dẫn DTD
DTD là gì?
DTD là Định nghĩa loại tài liệu.
DTD xác định cấu trúc, các thành phần và thuộc tính pháp lý của một tài liệu XML.
Tại sao nên sử dụng DTD?
Với DTD, các nhóm người độc lập có thể đồng ý về một DTD tiêu chuẩn để trao đổi dữ liệu.
Một ứng dụng có thể sử dụng DTD để xác minh rằng dữ liệu XML là hợp lệ.
Tuyên bố DTD nội bộ
Nếu DTD được khai báo bên trong tệp XML thì nó phải được gói bên trong định nghĩa <!DOCTYPE>:
Tài liệu XML có DTD nội bộ
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Xem tệp XML »Trong tệp XML, chọn "xem nguồn" để xem DTD.
DTD ở trên được hiểu như sau:
- !DOCTYPE note xác định rằng phần tử gốc của tài liệu này là note
- !ELEMENT note xác định rằng phần tử ghi chú phải chứa bốn phần tử: "to,from,heading,body"
- !ELEMENT để xác định phần tử to thuộc loại "#PCDATA"
- !ELEMENT từ xác định phần tử from thuộc loại "#PCDATA"
- !ELEMENT tiêu đề xác định thành phần tiêu đề thuộc loại "#PCDATA"
- !ELEMENT body xác định phần tử body thuộc loại "#PCDATA"
Tuyên bố DTD bên ngoài
Nếu DTD được khai báo trong một tệp bên ngoài, định nghĩa <!DOCTYPE> phải chứa tham chiếu đến tệp DTD:
Tài liệu XML có tham chiếu đến DTD bên ngoài
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Xem tệp XML »Và đây là tập tin "note.dtd", chứa DTD:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>