Validation trong XML




Validation là một tiến trình mà một tài liệu được xác nhận. Một tài liệu XML được xem như là hợp lệ nếu nội dung của nó kết nối với các phần tử, các thuộc tính và được liên kết với Document Type Declaration (DTD), và nếu tài liệu tuân theo các ràng buộc được trình bày trong nó. Validation được xử lý theo hai cách bởi XML Parser. Đó là:

  • Tài liệu XML là Well-formed

  • Tài liệu XML là hợp lệ

Tài liệu XML là Well-formed

Một tài liệu XML được xem như là Well-formed nếu nó tuân theo các qui tắc sau:

  • Không DTD. XML file phải sử dụng các thực thể ký tự được định nghĩa trước cho: amp(&), apos(trích dẫn đơn), gt(>), lt(<), quot(trích dẫn kép).

  • Nó phải đi theo thứ thự của các thẻ, ví dụ: thẻ bên trong phải được đóng trước khi đóng thẻ bên ngoài.

  • Mỗi thẻ mở phải có một thẻ đóng hoặc nó phải có một thẻ tự đóng (<title>....</title> hoặc <title/>).

  • Nó phải chỉ có một thuộc tính trong một thẻ mở, mà cần được trích dẫn.

  • Các thực thể khác các thực thể nàyamp(&), apos(trích dẫn đơn), gt(>), lt(<), quot(trích dẫn kép) phải được khai báo.

Quảng cáo

Ví dụ

Ví dụ sau minh họa một tài liệu XML dạng Well-formed:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address
[
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>
<address>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</address>

Tài liệu XML trên là Well-formed vì:

  • Nó định nghĩa kiểu của tài liệu. Ở đây, kiểu tài liệu là element.

  • Nó bao gồm một phần tử gốc có tên là address.

  • Mỗi phần tử con name, company, và phone được bao trong các thẻ mở, đóng của chính chúng.

  • Thứ tự các thẻ được duy trì.

Tài liệu XML hợp lệ

Nếu một tài liệu XML là Well-formed và có một Document Type Declaration (DTD) liên kết với, thì nó được xem như là một tài liệu XML hợp lệ. Chúng ta sẽ hiểu chi tiết hơn về phần này trong chương sau DTDs trong XML.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.