Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Еще о выборе DOCTYPE
 
 автор: Владимир55   (29.07.2012 в 22:54)   письмо автору
 
 

Исходя из определения DOCTYPE http://www.xiper.net/manuals/html/tags/DOCTYPE.html основными вариантами можно считать два переходных:

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

и

<!DOCTYPE  HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 


Осталось только понять, когда какой из них применять, ибо по описанию их возможности идентичны.

И попутный вопрос: иногда на странице помещается мета

 <meta http-equiv="Content-Language" content="ru"> 


Зачем она?

  Ответить  
 
 автор: cheops   (30.07.2012 в 08:02)   письмо автору
 
   для: Владимир55   (29.07.2012 в 22:54)
 

Ну, вы просто привели "левые" определения DOCTYPE в которых складывается впечатление, что это описание одинаковых разметок... Вообще-то HTML и XHTML все ж отличаются, XHTML, даже Transitional - строже.

><meta http-equiv="Content-Language" content="ru">
Этот META-тэг используется, чтобы сообщить браузерам и интелектуальным агентам, что документ на русском языке.

  Ответить  
 
 автор: Владимир55   (30.07.2012 в 09:08)   письмо автору
 
   для: cheops   (30.07.2012 в 08:02)
 

"Вообще-то HTML и XHTML все ж отличаются, XHTML, даже Transitional - строже"

Хочется найти осознанный подход к этому вопросу. Откуда "ноги растут"? С того, какой код присутствует на странице? Тогда какие-же именно элементы кода требуют / запрещают использование конкретного DOCTYPE ?

Я вот на нескольких форумах об этом говорил и сложилось впечатление, что этого не только никто не понимает, но даже особенно и не задумывается. Типичный ответ - "Я пишу вот так, потому, что мне сказали, что этот DOCTYPE самый лучший".


На одних сайтах META есть, а на других её нет. И непонятно - нужна ли она на самом деле?

  Ответить  
 
 автор: cheops   (30.07.2012 в 11:15)   письмо автору
 
   для: Владимир55   (30.07.2012 в 09:08)
 

Ноги у всех разметок растут из типографического дела. Когда появились компьютеры их почти сразу стали использовать для допечатной подготовки, а потом и вовсе для чтения информации с монитора. Печатью люди занимаются несколько столетий, поэтому там столько ньюансов и правил, что черт ногу сломит. Поэтому языки сложные, их много у них разные задачи. В компьютерной среде ситуация осложняется тем, что информацию нужно представлять на разных устройствах и операционных системах: принтер одно, монитор другое, UNIX - одно, Windows - другое. Поэтому для представления научных данных был предложен язык HTML, задумка была следующая: создать язык для простых смертных, который бы мог освоить любой, не сильно погружаясь в типографические дебри. Это с одной стороны, а с другой - задача языка была только в структурировании информации, за дизайн, представление должны были отвечать устройства и браузеры.

Браузеры были разные и конкурировали друг с другом, фактически раньше нужно было для каждого браузера разрабатывать свой вариант сайта, что дорого и неудобно. Поэтому в конце 90-х решили, давайте как-то это дело стандартизировать и появился DOCTYPE. Если он есть, это означает, что страница разработана в соответствии со стандартом, указанным в DOCTYPE и браузеру не обязательно задействовать старые хитрые трюки - делай то, что требует стандарт.

К этому моменту HTML превратился из языка структурирования в язык разметки и дизайна... он на это рассчитан не был. Поэтому решили разделить задачи, пусть за дизайн отвечает CSS, а за структуру документа - язык разметки. Чтобы еще более усилить требования, решили, что в основе языка будет лежать XML, язык специально разработанный для формирования языков разметки и легко их автоматического разбора.

XML - это настраиваемый язык разметки - его можно настроить, используя соответствующие словари. Вы можете сами определить нужный вам XML-формат, если разработаете свой собственный словарь или можете воспользоваться готовыми словарями. Различные компании уже разработали огромное число словарей XML, позволяющих описывать любую информацию, от химических реакций (химический язык разметки - CML Chemical Markup Language) до финансовых (OFX - Open Financial Exchange). XHTML - это XML со специальным словарём, позволяющим описывать структуру Web-стараниц. По сути это тот же HTML, только с драконовскими XML-правилами: все тэги нужно закрывать, одиночные тэги заканчивать слешем <br />, все атрибуты заключать в кавычки и т.п.

Проблема в том, что некорректный XML-файл не работает, а некорректный HTML-файл работает. Поэтому ввели дополнительные уровни XHTML, позволяющие снизить жесткие требования XML, которые критичны и непривычны для Интернет.

Ну, а потом решили, что XML - вообще не решает задач Интернет, не удобно и сложно и стали развивать HTML5. Поэтому мы сейчас находимся в состоянии вялотекущей революции и в массе пользуемся XHTML. Я бы пока его вам рекомендовал, параллельно интенсивному изучению HTML5.

  Ответить  
 
 автор: cheops   (30.07.2012 в 11:17)   письмо автору
 
   для: Владимир55   (30.07.2012 в 09:08)
 

>На одних сайтах META есть, а на других её нет. И непонятно - нужна ли она на самом деле?
Если вы указываете явно кодировку при помощи META-тэга Content-Type, то указание языка страницы уже избыточно.

  Ответить  
 
 автор: Владимир55   (30.07.2012 в 15:03)   письмо автору
 
   для: cheops   (30.07.2012 в 11:17)
 

Спасибо, исключительно интересно!

  Ответить  
 
 автор: Юрий Изотов   (11.08.2012 в 19:07)   письмо автору
 
   для: Владимир55   (30.07.2012 в 15:03)
 

В HTML 5 доктайп всего один, без вариантов.

http://www.w3schools.com/html5/tag_doctype.asp

  Ответить  
 
 автор: Юрий Изотов   (11.08.2012 в 19:11)   письмо автору
 
   для: Юрий Изотов   (11.08.2012 в 19:07)
 

p.s. Причем совместимость не теряется, как заявляют по крайней мере новые книги по HTML5. То есть на способность "переварить" тег установка доктайпа никак не влияет теперь, она обогащает документ возможностями но не загоняет в прокрустово ложе стандарта код.

  Ответить  
 
 автор: ЯСА   (11.08.2012 в 22:07)   письмо автору
 
   для: Владимир55   (29.07.2012 в 22:54)
 

>"Осталось только понять, когда какой из них применять, ибо по описанию их возможности идентичны."

Владимир55, а вы скачайте оба этих файла (по указанным в <!doctype> URL-ам), откройте их в любом текстовом редакторе и почитайте преамбулы, где содержится описание этих файлов.

Вот здесь - http://www.w3.org/TR/html4/loose.dtd - вы сможете прочитать это:
    This is the HTML 4.01 Transitional DTD, which includes
    presentation attributes and elements that W3C expects to phase out
    as support for style sheets matures. Authors should use the Strict
    DTD when possible, but may use the Transitional DTD when support
    for presentation attribute and elements is required.

    HTML 4 includes mechanisms for style sheets, scripting,
    embedding objects, improved support for right to left and mixed
    direction text, and enhancements to forms for improved
    accessibility for people with disabilities.

    Further information about HTML 4.01 is available at:
    http://www.w3.org/TR/1999/REC-html401-19991224

    The HTML 4.01 specification includes additional
    syntactic constraints that cannot be expressed within
    the DTDs.

А вот здесь - http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd - немного иное:
   This is the same as HTML 4 Transitional except for
   changes due to the differences between XML and SGML.

   For further information, see: http://www.w3.org/TR/xhtml1

Аглицким языком чётко и ясно написано, что второй DTD - это фактически первый DTD, за исключением нюансов, связанных с XML и SGML.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования