2010-06-22 10 views
6

Существует много потоков, объясняющих, что выбрать Doctype, но я не могу найти объяснения реального синтаксиса. Возьмем, к примеру:Объяснение синтаксиса Doctype

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

В частности:

  • Может PUBLIC быть заменены другими значениями, и что это значит?
  • Почему URL должен быть окружен кавычками?
  • Что такое "-"?
  • Почему первая строка разделяется двумя косами, а не 1?
  • Подходит ли EN для английского языка? Если да, то почему веб-сайты также используют lang=en?

ответ

2

Хотя он не отвечает на все ваши вопросы, но я думаю, что это хорошее начало. Википедия - ваш друг. ;)

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

P.S. Для того, чтобы вопрос о двойной кавычки был исключен, я думаю, что цитаты есть, чтобы правильно интерпретировать строки с пробелами.

1

Почему первая строка разделяется двумя косами, а не 1?

SGML syntax является "Owner//Keyword Description//Language".

Но на практике это не имеет значения, поскольку браузеры фактически не используют синтаксические анализаторы SGML для HTML. DOCTYPE - это просто переключатель, позволяющий выбирать между режимом quirks и стандартным режимом.

0

Doctypes не ограничивается HTML-страницами. Doctypes используются для ссылки на определения типа документа (DTD), которые определяют ограничение на структуру XML-документа.

Существуют различные типы возможных, например, OP следует за формат "государственный внешний DTD":

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

где:

  • root_element: является корнем XML
  • DTD_name: идентификатор DTD, чтобы процессоры могли использовать локальную версию, а не загружать ее.
  • DTD_location: расположение DTD в случае, если оно не доступно локально.

DTD_name также имеет определенный формат:

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

, где prefix является одним из следующих действий:

  • ISO: ОТД является стандартом ИСО. Все стандарты ISO одобрены.
  • +: DTD является утвержденным стандартом, отличным от ISO.
  • -: DTD является неутвержденным стандартом, отличным от ISO.

Источник: http://xmlwriter.net/xml_guide/doctype_declaration.shtml

Смежные вопросы