2013-05-01 26 views
8

Tôi tò mò về cú pháp của các loại thẻ nhận xét và loại tài liệu ...Dấu chấm than đứng trong HTML trong các cấu trúc như DOCTYPE và nhận xét là gì?

Tại sao dấu chấm than? Nó được gọi là gì, có nghĩa là gì/làm gì?

Tôi đã đọc qua spec cú pháp HTML và không tìm thấy lời giải thích thật khác so với

Bất kỳ case-insensitive phù hợp cho chuỗi <!DOCTYPE.

Cite: http://www.w3.org/TR/html-markup/syntax.html#doctype-syntax

Trả lời

17

Trong SGML, HTML là gì dựa trên danh nghĩa, tối đa và bao gồm HTML 4.01, dấu chấm than là một phần của cấu trúc <!, là cú pháp cụ thể tham chiếu cho mdo, khai báo đánh dấu mở. Các khai báo đánh dấu không phải là các phần tử đánh dấu mà là các khai báo không chính thức liên quan đến các phần tử. Điều này bao gồm khai báo kiểu tài liệu, khai báo nhận xét và khai báo thực thể.

Trong XML, đó là những gì XHTML được dựa trên, không có khái niệm chung như thế. Thay vào đó, cặp ký tự <! chỉ xuất hiện trong một số cấu trúc, không có lý thuyết thống nhất.

Trong HTML5, cú pháp HTML đã được xác định rất nhiều theo cách đặc biệt và chuỗi doctype chỉ được gọi là chuỗi doctype - nó không có vai trò và không có ý nghĩa ngoài tác dụng dự kiến ​​kích hoạt "chế độ tiêu chuẩn" (hoặc "chế độ không có quirks") trong trình duyệt. Trong cú pháp XHTML, nó có ý nghĩa XML của nó.

+1

Đó là chính xác những gì tôi đang tìm kiếm. Cảm ơn bạn! – superUntitled

+1

Câu trả lời hoàn hảo cho XML: grepping http://www.w3.org/TR/xml cho '

4

Các ! được sử dụng để lấy ý kiến ​​(<!-- -->) và để xác định DOCTYPE (<!DOCTYPE ...>) của tài liệu HTML. DOCTYPE mô tả một số đặc điểm của tài liệu chẳng hạn như thư mục gốc của tệp XML/XHTML/HTML (trong HTML thường là <html>), một số DTD, Public Identifier và các khai báo nhóm con khác.

0

A <!DOCTYPE ...> là khai báo loại tài liệu SGML. Mục đích của nó là nói cho một trình phân tích cú pháp SGML những gì DTD cần sử dụng để phân tích cú pháp tài liệu.

1

Từ đặc điểm kỹ thuật của HTML từ các tài liệu Cern:

MDO Markup Declaration Open: "<!", when followed by a letter or "--" or "[", signals one of several SGML markup declarations. The only purpose it serves in HTML is to introduce comments.

Nguồn: http://info.cern.ch/hypertext/WWW/MarkUp/Connolly/Text.html