HTML
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản dùng để mô tả cấu trúc trang web. Gồm các phần tử HTML cấu thành từ thẻ và nội dung.
HTML là ngôn ngữ siêu văn bản → tạo chuỗi liên kết tài liệu. Phiên bản hiện tại: HTML5. HTML tĩnh, bỏ qua lỗi nhỏ, không bắt buộc thẻ đóng.
Ví dụ HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>HTML</title> </head> <body> <h1 style="text-align: center;color:#db133a;">HTML</h1> <h3 style="text-align: center;">Tôi là tài liệu HTML.</h3> </body> </html>
XML
XML (eXtensible Markup Language) là ngôn ngữ đánh dấu mở rộng dùng để truyền dữ liệu chứ không phải cấu trúc dữ liệu. Động, báo cáo mọi lỗi, bắt buộc thẻ đóng. Định dạng văn bản với hỗ trợ Unicode mạnh cho các ngôn ngữ tự nhiên. Phiên bản hiện tại: XML 1.1.
Ví dụ XML
<?xml version="1.0" encoding="UTF-8"?> <fullname> <firstname>John</firstname> <lastname>Miller</lastname> </fullname>
Bảng so sánh chi tiết
| HTML | XML |
|---|---|
| Mô tả cấu trúc trang web. Gồm các phần tử từ thẻ và nội dung. | Dùng để truyền dữ liệu, không phải cấu trúc dữ liệu. |
| Tĩnh (dùng để hiển thị dữ liệu). | Động (dùng để truyền tải dữ liệu). |
| Ngôn ngữ trình bày (presentation language). | Không phải ngôn ngữ trình bày. |
| Không bắt buộc thẻ đóng. | Bắt buộc thẻ đóng. |
| Thẻ định sẵn: <p>, <strong>, <head>... | Tự định nghĩa thẻ riêng. |
| Không bảo toàn khoảng trắng. | Bảo toàn khoảng trắng. |
| Không phân biệt chữ hoa/thường (case insensitive). | Phân biệt chữ hoa/thường (case sensitive). |
Tóm lại: HTML để hiển thị, XML để lưu trữ/truyền dữ liệu. HTML5 hiện đại hơn, XML vẫn quan trọng trong trao đổi dữ liệu (API, config, RSS...).