DTD - Tổng quan

Khai báo kiểu tài liệu XML, thường được gọi là DTD, là một cách để mô tả chính xác ngôn ngữ XML. Các DTD kiểm tra tính hợp lệ của cấu trúc và từ vựng của một tài liệu XML dựa trên các quy tắc ngữ pháp của ngôn ngữ XML thích hợp.

Một tài liệu XML có thể được định nghĩa là -

  • Well-formed- Nếu tuân thủ tài liệu XML cho tất cả các XML chung cai trị như thẻ phải được lồng nhau đúng cách, mở và thẻ đóng phải được cân bằng, và các thẻ trống phải kết thúc với '/>', sau đó nó được gọi là tốt được hình thành .

    HOẶC LÀ

  • Valid- Một tài liệu XML được cho là hợp lệ khi nó không chỉ được định dạng tốt mà còn tuân theo DTD có sẵn để chỉ định những thẻ nào nó sử dụng, những thuộc tính nào mà những thẻ đó có thể chứa và những thẻ nào có thể xuất hiện bên trong các thẻ khác, trong số các thuộc tính khác .

Sơ đồ sau thể hiện rằng một DTD được sử dụng để cấu trúc tài liệu XML:

Các loại

DTD có thể được phân loại trên cơ sở khai báo của nó trong tài liệu XML, chẳng hạn như -

  • DTD nội bộ

  • DTD bên ngoài

Khi một DTD được khai báo trong tệp, nó được gọi là Internal DTD và nếu nó được khai báo trong một tệp riêng biệt, nó được gọi là External DTD.

Chúng ta sẽ tìm hiểu thêm về những điều này trong chương Cú pháp DTD

Đặc trưng

Sau đây là một số điểm quan trọng mà DTD mô tả:

  • các phần tử có thể xuất hiện trong tài liệu XML.

  • thứ tự mà chúng có thể xuất hiện.

  • các yếu tố tùy chọn và bắt buộc.

  • thuộc tính phần tử và liệu chúng là tùy chọn hay bắt buộc.

  • liệu các thuộc tính có thể có giá trị mặc định hay không.

Ưu điểm của việc sử dụng DTD

  • Documentation- Bạn có thể xác định định dạng của riêng mình cho các tệp XML. Nhìn vào tài liệu này, người dùng / nhà phát triển có thể hiểu cấu trúc của dữ liệu.

  • Validation - Nó cung cấp một cách để kiểm tra tính hợp lệ của các tệp XML bằng cách kiểm tra xem các phần tử có xuất hiện theo đúng thứ tự hay không, các phần tử và thuộc tính bắt buộc có đúng vị trí, các phần tử và thuộc tính không được chèn theo cách không chính xác, v.v.

Nhược điểm của việc sử dụng DTD

  • Nó không hỗ trợ các không gian tên. Không gian tên là một cơ chế mà tên phần tử và thuộc tính có thể được gán cho các nhóm. Tuy nhiên, trong một DTD không gian tên phải được xác định trong DTD, điều này vi phạm mục đích của việc sử dụng không gian tên.

  • Nó chỉ hỗ trợ kiểu dữ liệu chuỗi văn bản.

  • Nó không phải là hướng đối tượng. Do đó, khái niệm kế thừa không thể được áp dụng trên các DTD.

  • Khả năng hạn chế để thể hiện bản số cho các phần tử.