Doctype trong HTML là gì? Khác nhau giữa HTML và XHTML là gì?

Doctype trong HTML là gì?

Khai báo <! DOCTYPE html > được sử dụng để thông báo cho trình duyệt của khách truy cập trang web rằng tài liệu được hiển thị là tài liệu HTML. Mặc dù bản thân nó không phải là một phần tử HTML, nhưng mọi tài liệu HTML phải được khai báo bằng DOCTYPE để tuân thủ các tiêu chuẩn HTML.

Khai báo <! DOCTYPE> phải là điều đầu tiên trong tài liệu HTML, trước tất cả các thẻ <html>.

Khai báo <! DOCTYPE> không phải là thẻ HTML, nó là một hướng dẫn cho trình duyệt web về phiên bản HTML mà trang được viết.

HTML có nhiều phiên bản khác nhau như HTML5, HTML 4, HTML 3, XHTML… Khai báo <DOCTYPE>được các trình duyệt sử dụng để xác định loại văn bản HTML.

Tất cả HTML cần phải được khai báo DOCTYPE. DOCTYPE không thực sự là một phần tử hoặc thẻ HTML. Nó cho phép trình duyệt biết tài liệu nên được diễn giải như thế nào, bằng cách chỉ ra phiên bản hoặc tiêu chuẩn của HTML (hoặc ngôn ngữ đánh dấu khác) đang được sử dụng.

Hiện tại HTML5 là phiên bản mới nhất và đang được sử dụng phổ biến trên hầu hết các website.

doctype html la gi

Các loại khai báo DOCTYPE

HTML DOCTYPE

HTML 4 DOCTYPE:

HTML 4 gồm có các phiên bản HTML 4.0, HTML 4.01 Strict, HTML 4.01 Transition, HTML 4.01 Frameset) và mặc dù ít được sử dụng tuy nhiên đôi khi bạn vẫn thấy chúng tồn tại ở một số website. Cú pháp <DOCTYPE> của HTML 4 hơi phức tạp hơn so với HTML5.

Trong HTML 4.01, khai báo <! DOCTYPE> đề cập đến một DTD, vì HTML 4.01 được dựa trên SGML. DTD chỉ định các quy tắc cho ngôn ngữ đánh dấu, để các trình duyệt hiển thị nội dung chính xác.

HTML 4.01 Strict:

Với phiên bản HTML 4.01 Strict khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>

HTML 4.01 Transition:

Với phiên bản HTML 4.01 Transition khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>

HTML 4.01 Frameset:

Với phiên bản HTML 4.01 Frameset khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “http://www.w3.org/TR/html4/frameset.dtd”>

doctype html la gi 1

XHTML DOCTYPE

XHTML 1.1:

Khai báo <DOCTYPE> của XHTML 1.1 có dạng như sau:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

XHTML 1.0 Strict:

Khai báo <DOCTYPE> của XHTML 1.0 Strict có dạng như sau:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

XHTML 1.0 Transitional:

Khai báo <DOCTYPE> của XHTML 1.0 Transition có dạng như sau:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

XHTML 1.0 Frameset:

Khai báo <DOCTYPE> của XHTML 1.0 Frameset có dạng như sau:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>

Khác nhau giữa HTML và XHTML là gì?

Cấu trúc tài liệu:

  • DOCTPE XHTML là bắt buộc
  • Thuộc tính xmlns trong <html> là bắt buộc
  • <html>, <head>, <title> và <body> là bắt buộc

Các yếu tố XHTML:

  • Các phần tử XHTML phải được lồng đúng cách
  • Các phần tử XHTML phải luôn được đóng
  • Các phần tử XHTML phải được viết thường
  • Tài liệu XHTML phải có một phần tử gốc

Thuộc tính XHTML

  • Tên thuộc tính phải viết thường
  • Giá trị thuộc tính phải được trích dẫn
  • Giảm thiểu thuộc tính bị cấm

Cách chuyển đổi từ HTML sang XHTML

Để chuyển đổi từ HTML sang XHTML cần làm như sau:

  1. Thêm một XHTML <! DOCTYPE> vào dòng đầu tiên của mỗi trang
  2. Thêm một thuộc tính xmlns cho phần tử html của mỗi trang
  3. Thay đổi tất cả các tên thành phần chữ thường
  4. Đóng tất cả các yếu tố trống
  5. Thay đổi tất cả tên thuộc tính thành chữ thường
  6. Trích dẫn tất cả các giá trị thuộc tính