Categories HTML

HTML và XHTML giống và khác nhau những gì?

XHTML là HTML viết dưới dạng XML.


XHTML là gì?

  • XHTML là viết tắt của EXtensible HyperText Markup Language (Ngôn ngữ HTML mở rộng);
  • XHTML gần giống hệt HTML;
  • XHTML chặt chẽ hơn HTML;
  • XHTML là HTML được viết dưới dạng ứng dụng của XML;
  • XHTML được hỗ trợ bởi tất cả trình duyệt lớn;

Tại sao là XHTML?

Rất nhiều trang web trên internet bao gồm các trang HTML “tệ”.

Dưới đây là đoạn code HTML được hiển thị ổn trên hầu hết các trình duyệt (thậm chí nếu nó không tuân thủ theo các quy tắc của HTML):

<html>
<head>
<title>Đây là đoạn HTML tệ</title>

<body>
<h1>HTML tệ
<p>Đây là văn bản
</body>

Ngày nay thị trường bao gồm rất nhiều trình duyệt với công nghệ khác nhau. Một số trình duyệt chạy trên máy tính, và một số trình duyệt chạy trên điện thoại di động hoặc các thiết bị nhỏ nhắn khác. Thiết bị nhỏ hơn thường thiếu khả năng để giải nghĩa các đoạn mã tệ.

XML là ngôn ngữ đánh dấu nơi tài liệu phải được viết (đánh dấu) chuẩn xác.

Nếu bạn muốn học về XML, hãy đọc các tài liệu hướng dẫn về XML của chúng tôi.

Bằng cách kết hợp những thế mạnh của HTML và XML, XHTML được phát triển. XHTML là HTML được thiết kế lại như XML.


Các khác biệt quan trọng nhất từ HTML

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

  • XHTML DOCTYPE là bắt buộc;
  • Thuộc tính xmlns trong <html> là bắt buộc;
  • Các thẻ <html>, <head>, <title>, và <body> là bắt buộc;

Các thành phần XHTML

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

Các thuộc tính của XHTML

  • Tên thuộc tính phải viết dưới dạng chữ in thường;
  • Các giá trị của thuộc tính phải được cho vào dấu ngoặc kép;
  • Giảm thiểu, rút gọn thuộc tính bị cấm;

<!DOCTYPE ….> là bắt buộc

Một tài liệu XHTML bắt buộc phải có khai báo XHTML DOCTYPE.

Một danh sách đầy đủ của tất cả XHTML Doctypes được trình bày trong phần thư mục các thẻ HTML của chúng tôi.

Các thẻ <html>, <head>, <title>, và <body> phải có và thuộc tính xmlns trong <html> phải được chỉ định cụ thể không gian xml cho tài liệu.

Ví dụ dưới trình bày tài liệu XHTML chuẩn với tối thiểu các thẻ cần thiết:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>Title of document</title>
</head>
<body>
some content
</body>

</html>

Các thẻ XHTML bắt buộc phải được lồng vào nhau đúng cách

Trong HTML, một số thẻ có thể lồng vào nhau không đúng cách, giống như thế này:

<b><i>Đây là đoạn văn bản được bôi đậm và in nghiêng</b></i>

Trong XHTML, tất cả các phần tử phải được lồng vào nhau đúng cách, đoạn code trên cần sửa lại như sau mới đúng trong XHTML:

<b><i>Đây là đoạn văn bản được bôi đậm và in nghiêng</i></b>

Các thẻ XHTML phải luôn luôn được đóng

Viết như dưới đây là sai:

<p>Đây là văn bản
<p>Đây là văn bản khác

Viết như này mới đúng:

<p>Đây là văn bản</p>
<p>Đây là đoạn văn bản khác</p>

Các phần tử rỗng cũng phải đóng lại

Viết như thế này là sai:

Xuống dòng: <br>
Một đường kẻ ngang: <hr>
Một hình ảnh: <img src="happy.gif" alt="Happy face">

Viết như thế này mới đúng:

A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />

Các phần tử XHTML phải được viết dưới dạng chữ in thường

Viết như thế này là sai:

<BODY>
<P>Đây là văn bản</P>
</BODY>

Viết như thế này mới đúng:

<body>
<p>Đây là văn bản</p>
</body>

Tên của thuộc tính XHTML phải được viết dưới dạng chữ in thường

Viết như thế này là sai:

<table WIDTH="100%">

Viết như này mới đúng:

<table width="100%">

Giá trị của thuộc tính phải được cho vào dấu nháy kép

Viết như thế này là sai:

<table width=100%>

Viết như thế này mới đúng:

<table width="100%">

Giảm thiểu, rút gọn thuộc tính bị cấm

Viết như thế này đi sai:

<input type="checkbox" name="vehicle" value="car" checked />

Viết như này mới đúng:

<input type="checkbox" name="vehicle" value="car" checked="checked" />

Viết như thế này là sai:

<input type="text" name="lastname" disabled />

Viết như thế này mới đúng:

<input type="text" name="lastname" disabled="disabled" />

Làm thế nào để chuyển đổi từ HTML thành XHTML

  1. Thêm XHTML <!DOCTYPE> vào dòng đầu tiên của mỗi trang;
  2. Thêm thuộc tính xmlns vào phần tử html của tất cả các trang;
  3. Thay đổi tên tất cả các phần tử về ký tự thường;
  4. Đóng tất cả các thẻ rỗng;
  5. Thay đổi tất cả tên của thuộc tính thành ký tự thường;
  6. Cho tất cả các giá trị của thuộc tính vào dấu nháy kép;

Comments are closed.

Back to Top