DTD XML
Một tài liệu XML có cú pháp đúng được gọi là "Được định dạng đúng".
Một tài liệu XML được xác thực theo DTD vừa là "Được định dạng đúng" vừa là "Hợp lệ".
DTD là gì?
DTD là viết tắt của Đị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 liệu XML hợp lệ
Tài liệu XML "Hợp lệ" là "Được định dạng tốt" cũng như tuân thủ 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ũng như các thành phần và thuộc tính pháp lý của một tài liệu XML:
Lưu ý.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ư sau:
- !DOCTYPE note - Xác định rằng phần tử gốc của tài liệu là ghi chú
- !ELEMENT note - Xác định rằng phần tử ghi chú phải chứa các phần tử: "đến, từ, tiêu đề, nội dung"
- !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"
- !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"
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 để khai báo thực thể
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:
Ví 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: bắt đầu bằng ký hiệu (&), sau đó là tên thực thể và kết thúc bằng dấu chấm phẩy (;).
Khi nào nên sử dụng DTD?
Với DTD, các nhóm người độc lập có thể đồng ý sử dụng 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 nên 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 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.