2010-06-22 34 views
6

Có rất nhiều chủ đề giải thích Doctype nào để chọn, nhưng tôi không thể tìm thấy bất kỳ giải thích cú pháp thực tế nào. Lấy ví dụ:Giải thích Cú pháp Doctype

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

Đặc biệt:

  • công cộng có thể được thay thế bằng các giá trị khác và những gì nó có nghĩa là gì?
  • Tại sao url cần được bao quanh bằng dấu ngoặc kép?
  • "-" là gì?
  • Tại sao chuỗi đầu tiên được phân tách bằng hai dấu gạch chéo thay vì 1?
  • EN có phù hợp với tiếng Anh không? Nếu vậy, tại sao các trang web cũng sử dụng lang=en?

Trả lời

2

Trong khi nó không trả lời tất cả các câu hỏi của bạn, nhưng tôi nghĩ đó là một khởi đầu tốt. Wikipedia là bạn của bạn. ;)

http://en.wikipedia.org/wiki/Document_Type_Declaration

p.s. Đối với câu hỏi trích dẫn kép bị bỏ qua, tôi nghĩ rằng các dấu ngoặc kép ở đó để diễn giải các chuỗi có khoảng trắng chính xác

1

Tại sao chuỗi đầu tiên được phân tách bằng hai dấu gạch chéo thay vì 1?

SGML syntax"Owner//Keyword Description//Language".

Nhưng trên thực tế, điều đó không liên quan, vì trình duyệt không thực sự sử dụng trình phân tích cú pháp SGML cho HTML. DOCTYPE chỉ là một công tắc để quyết định giữa chế độ quirks và chế độ tiêu chuẩn.

0

Loại tài liệu không giới hạn ở các trang HTML. Các Doctypes được sử dụng để tham khảo các định nghĩa kiểu tài liệu (Document Type Definitions - DTD), định nghĩa ràng buộc về cấu trúc của một tài liệu XML.

Có nhiều loại khác nhau càng tốt, ví dụ OP của sau một định dạng "công DTD bên ngoài":

<!DOCTYPE root_element PUBLIC "DTD_name" "DTD_location"> 

nơi:

  • root_element: là thư mục gốc của xml
  • DTD_name: một định danh của DTD, để các bộ vi xử lý có thể sử dụng phiên bản cục bộ của nó thay vì phải tải xuống nó
  • DTD_location: vị trí của DTD trong trường hợp không có sẵn cục bộ.

Các DTD_name cũng có một định dạng định nghĩa:

"prefix//owner_of_the_DTD//description_of_the_DTD//ISO 639_language_identifier" 

nơi prefix là một trong những điều sau đây:

  • ISO: Các DTD là một tiêu chuẩn ISO. Tất cả các tiêu chuẩn ISO đều được phê duyệt.
  • +: DTD là tiêu chuẩn không được ISO phê duyệt.
  • -: DTD là tiêu chuẩn không được ISO phê duyệt.

Nguồn: http://xmlwriter.net/xml_guide/doctype_declaration.shtml

Các vấn đề liên quan