DTD XML
Một tài liệu XML với cú pháp đúng được gọi là "Dạng tốt".
Một tài liệu XML được xác thực dựa trên DTD là cả "Dạng chuẩn" và "Hợp lệ".
DTD là gì?
DTD là viết tắt của Định nghĩa loại tài liệu.
Một DTD xác định cấu trúc và các yếu tố pháp lý và thuộc tính của một tài liệu XML.
Tài liệu XML hợp lệ
Tài liệu XML "Hợp lệ" là "Được định dạng tốt", cũng như nó tuân theo các quy tắc của DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Khai báo DOCTYPE ở trên chứa tham chiếu đến tệp DTD. Nội dung của tệp DTD được hiển thị và giải thích bên dưới.
DTD XML
Mục đích của DTD là xác định cấu trúc, các yếu tố pháp lý và thuộc tính của một tài liệu XML:
Note.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
DTD ở trên được hiểu như thế này:
- ! Ghi chú DOCTYPE - Xác định rằng phần tử gốc của tài liệu là ghi chú
- ! Ghi chú ELEMENT - Xác định rằng thành phần ghi chú phải chứa các thành phần: "to, from, header, body"
- ! ELEMENT to - Xác định phần tử to thuộc loại "#PCDATA"
- ! ELEMENT from - Xác định phần tử from thuộc loại "#PCDATA"
- ! Tiêu đề ELEMENT - Xác định phần tử tiêu đề thuộc loại "#PCDATA"
- ! Phần thân ELEMENT - Xác định phần tử nội dung thuộc loại "#PCDATA"
Mẹo: #PCDATA có nghĩa là dữ liệu ký tự có thể phân tích cú pháp.
Sử dụng DTD cho khai báo đối tượng
Khai báo DOCTYPE cũng có thể được sử dụng để xác định các ký tự hoặc chuỗi đặc biệt, được sử dụng trong tài liệu:
Thí dụ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Hãy tự mình thử »
Mẹo: Một thực thể có ba phần: nó bắt đầu bằng dấu và (&), sau đó đến tên thực thể và kết thúc bằng dấu chấm phẩy (;).
Khi nào thì sử dụng DTD?
Với một DTD, các nhóm người độc lập có thể đồng ý sử dụng một DTD tiêu chuẩn để trao đổi dữ liệu.
Với DTD, bạn có thể xác minh rằng dữ liệu bạn nhận được từ thế giới bên ngoài là hợp lệ.
Bạn cũng có thể sử dụng DTD để xác minh dữ liệu của riêng mình.
Nếu bạn muốn học DTD, vui lòng đọc Hướng dẫn DTD của chúng tôi .
Khi nào KHÔNG sử dụng DTD?
XML không yêu cầu DTD.
Khi bạn đang thử nghiệm với XML, hoặc khi bạn đang làm việc với các tệp XML nhỏ, việc tạo DTD có thể lãng phí thời gian.
Nếu bạn phát triển ứng dụng, hãy đợi cho đến khi thông số kỹ thuật ổn định trước khi bạn thêm DTD. Nếu không, phần mềm của bạn có thể ngừng hoạt động do lỗi xác thực.