HTML và XHTML

XHTML là HTML được viết bằng ngôn ngữ XML. XHTML là gì? XHTML là viết tắt của Extensible HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản mở rộng) XHTML gần giống với HTML XHTML có quy định nghiêm khắc hơn HTML XHTML là HTML được định ...

XHTML là HTML được viết bằng ngôn ngữ XML.

XHTML là gì?

  • XHTML là viết tắt của Extensible HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản mở rộng)
  • XHTML gần giống với HTML
  • XHTML có quy định nghiêm khắc hơn HTML
  • XHTML là HTML được định nghĩa như một ứng dụng XML
  • XHTML được hỗ trợ bởi hầu hết các trình duyệt phổ biến

Tại sao lại dùng XHTML?

Nhiều trang trên Internet chứa HTML “rất tệ”, dù không tuân theo quy định của HTML nhưng vẫn chạy được trên nhiều trình duyệt. Dưới đây là ví dụ về đoạn HTML không hợp quy định nhưng vẫn chạy được.

<html>
<head>
 <title>HTML không đúng quy định</title>

<body>
 <h1>HTML “xấu”
 <p>Quản trị mạng.
</body>

Ngày nay có nhiều công nghệ trình duyệt, có thể chạy trên máy tính, điện thoại hoặc các thiết bị nhỏ khác. Các bị thiết bị nhỏ này thường thiếu phần tài nguyên hay sức mạnh để dịch những markup “xấu”.

XHTML là ngôn ngữ đánh dấu mà theo đó tài liệu phải được đánh dấu đúng quy cách, được phát triển bằng cách kết hợp sức mạnh của cả HTML và XML.

Điểm khác biệt quan trọng giữa HTML và XHTML

Cấu trúc văn bản

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

Các phần tử trong XHTML

  • Các phần tử trong XHTML phải được lồng đúng quy cách.
  • Các phần tử trong XHTML phải luôn luôn được đóng.
  • Các phần tử trong XHTML phải viết dạng chữ thường.
  • Các phần tử trong XHTML phải có một phần tử gốc.

Các thuộc tính trong XHTML

  • Tên thuộc tính phải viết dạng chữ thường.
  • Giá trị thuộc tính phải nằm trong dấu trích dẫn.
  • Cấm không được đơn giản hóa thuộc tính.

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

Văn bản XHTML phải có phần khai báo XHTML DOCTYPE.

Phải có các phần tử <html>, <head>, <title> và <body>, thuộc tính xmlns trong thẻ <html> phải xác định không gian xml cho văn bản. Ví dụ dưới đây cho thấy văn bản XHTML với các thẻ bắt buộc tối thiểu.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.quantrimang.com/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.quantrimang.com/1999/xhtml">

<head>
 <title>Tiêu đề văn bản</title>
</head>

<body>
 nội dung
</body>

</html>

Phần tử XHTML phải được lồng đúng quy cách

Trong HTML, một số phần tử có thể lồng với nhau không theo đúng quy cách như ví dụ dưới đây.

<b><i>Văn bản in đậm và in nghiêng</b></i>

Nhưng trong XHTML, tất cả các phần tử phải được lồng đúng quy cách, như ví dụ dưới.

<b><i>Văn bản in đậm và in nghiêng</i></b>

Phần tử XHTML phải luôn được đóng

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

<p>Đoạn văn 1
<p>Đoạn văn 2

Đúng là phải là thế này:

<p>Đoạn văn 1</p>
<p>Đoạn văn 2</p>

Phần tử rỗng cũng phải được đóng

Như ví dụ dưới đây là không hợp lệ.

Ngắt dòng: <br>
Đường nằm ngang: <hr>
Hình ảnh: <img src="vuive.gif" alt="Vui vẻ">

Mà phải viết như dưới đây.

Ngắt dòng: <br />
Đường nằm ngang: <hr />
Hình ảnh: <img src="vuive.gif" alt="Vui vẻ" />

Phần tử trong XHTML phải viết bằng chữ thường

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

<BODY>
 <P>Đoạn văn</P>
</BODY>

Mà phải viết chữ thường như dưới đây.

<body>
 <p>Đoạn văn</p>
</body>

Tên thuộc tính trong XHTML phải viết bằng chữ thường

Không viết <table WIDTH="100%"> mà phải viết <table awidth="100%">

Giá trị thuộc tính phải nằm trong dấu trích dẫn

Không viết <table awidth=100%> mà phải viết <table awidth="100%">

Không được đơn giản hóa thuộc tính

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

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

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

Đúng <input type="text" name="lastname" disabled="disabled" />

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

  • Thêm XHTML <!DOCTYPE> vào dòng đầu tiên của mỗi trang
  • Thêm thuộc tính xmlns vào phần tử html của mỗi trang
  • Đổi tất cả các tên phần tử sang dạng chữ thường
  • Đóng tất cả các phần tử rỗng
  • Đổi tất cả tên thuộc tính sang dạng chữ thường
  • Đặt vào dấu trích dẫn tất cả các giá trị thuộc tính

Bài trước: Uniform Resource Locators trong HTML

Bài sau: Form trong HTML

Bài liên quan

Tìm hiểu HTML và XHTML

XHTML là HTML được viết bằng XML. XHTML là gì? XHTML là viết tắt của Extensive HyperText Markup Language XHTML gần giống với HTML XHTML có nhiều quy tắc hơn HTML XHTML là HTML được định nghĩa là một ứng dụng XML XHTML được hỗ trợ bởi tất cả các trình ...

Trần Trung Dũng viết 14:58 ngày 07/09/2018

HTML và XHTML

XHTML là HTML được viết bằng ngôn ngữ XML. XHTML là gì? XHTML là viết tắt của Extensible HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản mở rộng) XHTML gần giống với HTML XHTML có quy định nghiêm khắc hơn HTML XHTML là HTML được định ...

Hoàng Hải Đăng viết 11:25 ngày 22/08/2018

Làm thế nào để viết một ứng dụng Todo App với HTML và CSS mà không sử dụng JavaScript

Đúng với cái tên của nó, Todo app là một ứng dụng cho phép bạn tạo ra các công việc bạn cần làm. Qua đó giúp cho bản thân chúng ta biết chính xác việc tiếp theo cần đạt được và cũng biết chính xác những việc mà mình đã hoàn thành tránh tình trạng bị mất phương hướng trong quá trình làm việc. Trong ...

Trịnh Tiến Mạnh viết 16:50 ngày 12/08/2018

Tạo slider chỉ với HTML và CSS

Giới thiệu Có rất nhiều thư viện Javascript để tạo slider. Trong bài viết này mình sẽ giới thiệu tới các bạn cách để tạo một slider đơn giản chỉ với mã HTML và CSS. Bắt đầu HTML <div class="slider"> <div class="slide" id="slide-1">1</div> <div class="slide" ...

Hoàng Hải Đăng viết 16:15 ngày 12/08/2018

Tạo hình với HTML và CSS

Xin chào mọi người. Chắc hẳn mọi người đã khá quen thuộc với trò xé dán giấy của các bé tiểu học. Trong post này, mình xin giới thiệu 1 chủ đề tương tự, khá đơn giản nhưng cũng rất thú vị: Tạo hình bằng HTML & CSS. Bằng những hình khối rất đơn giản: hình vuông, hình tròn, tam giác,... chúng ...

Bùi Văn Nam viết 15:50 ngày 12/08/2018
0