Sự khác biệt giữa HTML và XHTML là gì? XHTML là gì? Lỗi trong XHTML và sự khác biệt giữa XHTML và HTML

Lưu ý để không quên sự khác biệt giữa HTML và XHTML.

Vì thế, HTMLXHTML- đây là những định dạng đánh dấu trang web đặc biệt mà trình duyệt “hiểu được”.

Dưới đây là một số lý thuyết nhỏ về HTML và XHTML và danh sách một số khác biệt giữa chúng...

HTML(từ siêu văn bản tiếng Anh Ngôn ngữ đánh dấu- “Ngôn ngữ đánh dấu siêu văn bản”) - ngôn ngữ đánh dấu tiêu chuẩn cho các tài liệu ở Mạng toàn cầu. Hầu hết các trang web được tạo bằng HTML (hoặc XHTML). ngôn ngữ HTMLđược trình duyệt giải thích và hiển thị dưới dạng tài liệu ở dạng người có thể đọc được.
HTML là một ứng dụng (“trường hợp đặc biệt”) của SGML (Ngôn ngữ đánh dấu tổng quát tiêu chuẩn) và tương ứng với tiêu chuẩn quốc tế ISO 8879. XHTML là một ứng dụng của XML.

HTML là ngôn ngữ đánh dấu tài liệu được gắn thẻ. Bất kỳ tài liệu nào bằng ngôn ngữ HTML đều là một tập hợp các phần tử và phần đầu và phần cuối của mỗi phần tử được biểu thị bằng các dấu đặc biệt - thẻ. Các phần tử có thể trống, nghĩa là không chứa bất kỳ văn bản hoặc dữ liệu nào khác (ví dụ: thẻ nguồn cấp dữ liệu
). Trong trường hợp này, thẻ đóng thường không được chỉ định. Ngoài ra, các phần tử có thể có các thuộc tính xác định một số thuộc tính của chúng.

Mọi tài liệu HTML tuân theo bất kỳ phiên bản nào của đặc tả HTML đều phải bắt đầu bằng dòng khai báo phiên bản HTML.
Nếu dòng này không được chỉ định, việc tài liệu hiển thị chính xác trong trình duyệt sẽ trở nên khó khăn hơn.

XHTML(Ngôn ngữ đánh dấu siêu văn bản mở rộng bằng tiếng Anh) là ngôn ngữ đánh dấu trang web, có khả năng tương đương với HTML, được tạo trên cơ sở XML. Giống như HTML, XHTML tuân theo đặc tả SGML vì XML là tập hợp con của nó. XHTML 1.1 đã được World Wide Web Consortium (W3C) phê duyệt là Khuyến nghị vào ngày 31 tháng 5 năm 2001.

Tài liệu XHTML hợp lệ (tức là đáp ứng tất cả các quy tắc) là tài liệu đáp ứng thông số kỹ thuật. Lý tưởng nhất là tất cả các trình duyệt phải tuân theo các tiêu chuẩn web và theo đó, các tài liệu hợp lệ phải được hiển thị trong tất cả các trình duyệt trên tất cả các nền tảng. Nên xác thực tài liệu XHTML ngay cả khi nó không đảm bảo khả năng tương thích giữa nhiều trình duyệt. Một tài liệu có thể được kiểm tra dựa trên thông số kỹ thuật bằng cách sử dụng Dịch vụ xác thực đánh dấu trực tuyến W3C. Việc xác thực sẽ phát hiện và làm rõ các lỗi trong đánh dấu XHTML.

Sự khác biệt giữa XHTML và HTML
- Tất cả các yếu tố phải được đóng lại. Thẻ không có thẻ đóng
(Ví dụ, hoặc
) phải có / ở cuối (ví dụ:
).

Các thuộc tính Boolean được viết ở dạng mở rộng. Ví dụ, bạn nên viết đã chọn="đã chọn"> hoặc .

Tên thẻ và thuộc tính phải được ghi lại chữ viết thường(Ví dụ, alt="" /> thay vào đó ).

XHTML nghiêm ngặt hơn nhiều về lỗi trong mã;< и & везде, даже в URL,
phải được thay thế< и & соответственно. По рекомендации W3C браузеры,
Nếu họ gặp lỗi trong XHTML, họ nên báo cáo lỗi đó và không xử lý tài liệu. Vì
Các trình duyệt HTML phải cố gắng hiểu tác giả muốn nói gì.
- Mã hóa mặc định là UTF-8 (không giống như HTML, mã hóa là
mặc định là ISO 8859-1).

Đối với các trang XHTML, bạn nên đặt loại MIME - application/xhtml+xml, nhưng
hơn nữa, điều này không bắt buộc - trình duyệt trình duyệt web IE 8 tuổi trở xuống
các phiên bản sẽ không thể xử lý trang, vì vậy với XHTML 1.0 theo truyền thống
Loại MIME cho HTML là văn bản/html.

Tiêu chuẩn cũng khuyến nghị chỉ ratrước
DTD, nhưng điều này cũng không cần thiết - Trình duyệt Internet Nhà thám hiểm nhận thấy
một dấu hiệu như vậy (giống như bất kỳ văn bản nào khác trước đây), như một dấu hiệu cho thấy
Cái gì trang này cần được hiển thị ở chế độ tương thích ngược, không
theo tiêu chuẩn. Có ba loại tài liệu XHTML: nghiêm ngặt, chuyển tiếp và
frameset. Phiên bản phổ biến và phổ biến nhất của XHTML là
chuyển tiếp vì nó cho phép bạn sử dụng iframe
(kết hợp nội dung của trang web này với trang web khác) và thuộc tính mục tiêu tại các liên kết
(ví dụ: để cho biết rằng liên kết sẽ mở trong một cửa sổ mới).
Phiên bản khung (frameset tiếng Anh) là phiên bản mở rộng
chuyển tiếp, thêm vào đó, như tên cho thấy, khả năng cài đặt
bộ khung thay vì phần thân. DTD nghiêm ngặt của XHTML không chứa nhiều
các thẻ và thuộc tính được mô tả trong DTD chuyển tiếp và không được dùng nữa.

Cảm ơn http://ru.wikipedia.org/

Khi viết mã XHTML, bạn tuân theo cú pháp tương tự như HTML. Tuy nhiên, sự khác biệt giữa HTML và XHTML là ở chỗ có một số quy tắc bắt buộc.

Các quy tắc XHTML như sau.

  1. Tất cả các thẻ và thuộc tính của chúng phải được gõ bằng chữ thường (ký tự viết thường).
  2. Mọi giá trị thuộc tính phải được đặt trong dấu ngoặc kép.
  3. Bạn phải đóng tất cả các thẻ, ngay cả những thẻ không có thẻ đóng liên quan.
  4. Việc lồng các thẻ đúng phải được quan sát.
  5. Bạn không thể sử dụng thuộc tính thẻ rút gọn.
  6. Thay vì thuộc tính tên id nên được chỉ định.
  7. Bạn nên xác định DTD (định nghĩa loại tài liệu) bằng phần tử .

Thẻ phải ở dạng chữ thường

Quy tắc này nảy sinh vì XHTML nhạy cảm với trường hợp ký tự, vậy các thẻ cho nó là



thay đổi. Để tránh nhầm lẫn, cú pháp buộc tất cả các thẻ cũng như thuộc tính của chúng phải viết thường. Ví dụ 3.1 cho sử dụng không đúng cách thẻ

Ví dụ 3.1. Sai chính tả của thẻ

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor ngồi amet...

TRONG trong ví dụ này thẻ Và

Nhập ký tự in hoa là lỗi. Ví dụ 3.2 cho thấy mã đúng.

Ví dụ 3.2. Viết đúng thẻ

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor ngồi amet...

Mọi giá trị thuộc tính phải được đặt trong dấu ngoặc kép

Mặc dù HTML cũng yêu cầu bạn đặt các giá trị trong dấu ngoặc kép, nhưng sự vắng mặt của chúng không ảnh hưởng đến tính chính xác của mã. Vì vậy chúng ta có thể nói rằng trong ứng dụng HTML Dấu ngoặc kép chỉ là một khuyến nghị. Trong XHTML, việc sử dụng dấu ngoặc kép đã được nâng lên thành quy tắc và mọi giá trị thuộc tính chỉ được chỉ định trong chúng (ví dụ 3.3).

Ví dụ 3.3. Sử dụng dấu ngoặc kép

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Cheburashka Shapoklyak
1 5
4 13

Trong ví dụ này, tất cả các thuộc tính thẻ

, Và
được cho trong dấu ngoặc kép.

Tất cả các thẻ phải được đóng lại

Trong HTML, thẻ được chia thành hai loại - thẻ ghép nối, còn được gọi là vùng chứa và thẻ đơn. Các thẻ được ghép nối bao gồm thẻ mở và thẻ đóng và trong một số trường hợp, thẻ đóng có thể bị bỏ qua. Trong XHTML, thẻ đóng luôn được yêu cầu và ở mọi nơi. Ví dụ 3.4 hiển thị code bị lỗi do thiếu tag

.

Ví dụ 3.4. Không có thẻ đóng

XHTML 1.0 IE Cr Op Sa Fx

XHTML

và lẻn lên máy bay,

và đặt một quả bom vào bụng anh ta,

Một số nhà phát triển bỏ qua thẻ đóng ,

, , nhưng trong XHTML sự vắng mặt của chúng được coi là một lỗi. Ví dụ 3.5 cho thấy cách sử dụng đúng của danh sách.

Ví dụ 3.5. Thêm danh sách

XHTML 1.0 IE Cr Op Sa Fx

XHTML

  • Phía đông
  • hướng Tây
  • Phía nam
  • Phía bắc

Trong ví dụ này, mỗi thẻ mở có một thẻ đóng tương ứng.

Yếu tốkhông phải là một phần của tài liệu XHTML nên nó không yêu cầu thẻ đóng.

Đối với các thẻ đơn, chúng phải kết thúc bằng dấu gạch chéo trước dấu ngoặc nhọn đóng, như trong Ví dụ 3.6.

Ví dụ 3.6. Thêm một hình ảnh

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Trong ví dụ này, hãy lưu ý khoảng trống bắt buộc trước cấu trúc />.

Trong bảng 3.1 cho thấy một số Thẻ HTML và ghi lại chúng trong một tài liệu XHTML.

Việc lồng các thẻ đúng phải được quan sát

XHTML có nhiều lỗi nghiêm trọng loại tiếp theo: việc lồng một thẻ vào trong một thẻ khác không chính xác và đặt thẻ vào vùng chứa không phù hợp.

Việc lồng các thẻ đúng cách

Mỗi thẻ phải được đặt bên trong một thẻ khác và không được phép "giao nhau" của chúng, như trong ví dụ 3.7.

Ví dụ 3.7. Lỗi vị trí thẻ

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor ngồi gặp...

Trong ví dụ này, thẻ đóngđứng trước thẻ, mặc dù lẽ ra phải ngược lại, điều này sẽ dẫn đến lỗi. Khi bạn trao đổi các thẻ, mã sẽ chính xác.

Mặc dù trình xác thực mã sẽ đưa ra lỗi nếu thẻ được định vị không chính xác nhưng trình duyệt vẫn hiển thị trang web chính xác.

Phân cấp thẻ

Tất cả các thẻ đều được nghiêm ngặt hệ thống phân cấp theo nghĩa là mỗi thẻ phải nằm trong một thẻ khác và không có gì khác. Ở đầu điều kiện có phần tử gốc và tất cả các thẻ khác có thể chứa các thẻ khác bên trong chúng, được gọi là thẻ con. Theo đó, các thẻ con được đặt trong phần tử cha.

Cần phải biết hệ thống phụ thuộc của thẻ và tuân theo nó khi viết mã XHTML. Ví dụ 3.8 cho thấy cấu trúc cơ bản tài liệu.

Ví dụ 3.8. Cấu trúc tài liệu

XHTML 1.0 IE Cr Op Sa Fx

tài liệu mới

Trong ví dụ này, thẻ được đưa ra đầu tiên , chứa các thẻ Và . Phần bên trong tiêu đề tài liệu được lưu trữ ( ) và mã hóa trang ( <meta> ).</p> <h2>Bạn không thể sử dụng thuộc tính thẻ rút gọn</h2> <p>Thuộc tính không có giá trị được gán được gọi là thuộc tính viết tắt. Ví dụ 3.9 hiển thị một biểu mẫu sử dụng các thuộc tính như vậy.</p> <p>Ví dụ 3.9. Lỗi sử dụng thuộc tính</p> <p>XHTML 1.0 IE Cr Op Sa Fx</p><p> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>XHTML

“Giá trị trống”, như lỗi này còn được gọi, có thể dễ dàng sửa bằng cách gán cho thuộc tính một giá trị khớp với tên. Trong bảng 3.2 hiển thị một số thuộc tính và cách chúng được viết bằng HTML và XHTML.

Bảng 3.2. Ánh xạ thuộc tính trong HTML và XHTML
HTML XHTML
đã kiểm tra đã kiểm tra="đã kiểm tra"
gọn nhẹ nhỏ gọn="nhỏ gọn"
tàn tật bị vô hiệu hóa="bị vô hiệu hóa"
bản đồ ismap="ismap"
nhiều nhiều="nhiều"
nohref nohref="nohref"
kích thước vừa phải noresize="noresize"
không có bóng râm noshade="noshade"
ngay bây giờ nowrap="nowrap"
chỉ đọc chỉ đọc="chỉ đọc"
đã chọn đã chọn="đã chọn"

Ví dụ 3.10 cho thấy cách sử dụng đúng của biểu mẫu trên.

Ví dụ 3.10. Sử dụng đúng cách thuộc tính

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Thay vì thuộc tính tên, bạn phải chỉ định id

Thuộc tính tên được xác định trong HTML cho thẻ , ,