Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загадочный XHTML-режим, легенды и мифы вебмастеринга 
:(
    Опции темы
 
XHTML-режим - это...
Логическая верстка страниц дивами [ 4 ]  [12.90%]
Режим рендеринга валидных XHTML-страниц в браузерах [ 6 ]  [19.35%]
Режим рендеринга страниц с корректным XHTML-доктайпом [ 10 ]  [32.26%]
Алгоритм парсинга XHTML-страниц браузером [ 8 ]  [25.81%]
Объектная модель XHTML-страницы в JavaScript, отличная от HTML-ной [ 1 ]  [3.23%]
Расхожий миф [ 2 ]  [6.45%]
Другое (требуется пояснение) [ 0 ]  [0.00%]
Всего проголосовавших: 31
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
SelenIT
Дата 1.11.2007, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Продолжаю свой крестовый поход против веб-мракобесия, интернет-суеверий и воинствующего ламерства очередной PR-акцией. В вебмастерских дискуссиях очень часто доводиться слышать упоминания о сабже (в т.ч. от весьма знающих людей), но ход дискуссий нередко демонстрирует, что иные из участников весьма слабо представляют себе, что это такое, либо вкладывают в это понятие абсолютно разный смысл. Для опроса я выбрал, на мой субъективный взгляд, наиболее часто встречающиеся трактовки. Интересно узнать, какая из них преобладает и какие еще существуют мнения  Не исключаю, что я сам в чем-то заблуждаюсь, так что смелее аргументируйте ответы;).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Ch0bits
Дата 1.11.2007, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 1
Всего: 62



Где вариант "Я в танке"?
PM WWW   Вверх
SelenIT
Дата 1.11.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Ch0bits, его нет специально;).

Голосуйте, плиз, активнее! "Я не вижу ваших рук!" ©
Смелее высказывайтесь, ну и аргументируйте при желании...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 1.11.2007, 16:20 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



Неужели мы живем в эпоху, когда нету интернета?.... К чему гадать.
http://ru.wikipedia.org/wiki/XHTML

Добавлено через 1 минуту и 5 секунд
Посему проголосовал за более абстрактный вариант

Добавлено через 1 минуту и 37 секунд
То бишь "Алгоритм парсинга XHTML-страниц браузером"
Он верен в любом случае smile

Добавлено через 2 минуты и 29 секунд
Хотя и написал бы "Реализация алгоритма парсинга XHTML-страниц браузером"
PM MAIL   Вверх
SelenIT
Дата 1.11.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



smartov, правильный подход, но... разве по ссылке написано, что браузеры парсят XHTML по особому алгоритму? smile

То, что разбор XHTML проще, т.к. основан на XML, а не SGML - не в счет, это самоочевидная теория, а вопрос про практику;)


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
SelenIT
Дата 2.11.2007, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Я проголосовал за то, что "XHTML-режим" - расхожий миф. И могу это аргументировать. А кто может аргументировать, скажем, вариант №2? Точка в теме не поставлена! smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 2.11.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



Цитата(SelenIT @  1.11.2007,  15:54 Найти цитируемый пост)
разве по ссылке написано, что браузеры парсят XHTML по особому алгоритму

Конечно.
Цитата

    * Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>) должны иметь на конце / (например, <br />).
    * Булевы атрибуты записываются в развёрнутой форме. Например, следует писать <option selected="selected"> или <td nowrap="nowrap">.
    * Все значения атрибутов обязательно должны быть заключены в двойные кавычки.
    * Имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt="" /> вместо <IMG ALT="" />).
    * XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL, должны замещаться &lt; и &amp; соответственно. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор.
    * Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).


Все эти правила необязаительны для HTML. Таким образом XHTML парсится по другому алгоритму.
PM MAIL   Вверх
SelenIT
Дата 2.11.2007, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



smartov, это правила синтаксиса языка, которые лишь позволяют парсить его XML-парсером. Но на практике алгоритм парсинга страницы браузером зависит от Content-type, и специфического "XHTML-ного режима парсинга" не существует, есть только HTML- и XML-режимы. Поскольку большинство XHTML-страниц отдается как text/html, то парсятся они обычным SGML-парсером, специфика синтаксиса (слеши в одиночных тегах и т.п.) отбрасывается как мусор, а на выходе получается добрый старый HTML DOM. С "продвинутыми" Content-type используется XML-парсер (если он есть;) и XML DOM. Если я заблуждаюсь - прошу доказательств.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 3.11.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



SelenIT,  smile А чем по-твоему радикально XML-парсер отличается от XHTML парсера? smile Казалось бы действительно - особо ничем...

Но отличия все же есть, и если присмотреться - довольно ощутимые: 
XHTML предполагает N-ое кол-во заранее определенных элементов (<img>, <div>...ж точнее не совсем элементов - правил, но об этом далее) тогда как сам по себе XML не предполагает никакого заранее предопределённого набора элементов или правил составления элементов (кроме синтаксических). (XHTML ялвяется более строгим - требует валидного XML для облегчения его парсинга)

Это все между прочим описано в статье

Цитата

.....
XHTML 1.0 Строгий (Strict): полностью отделяет содержание документа от оформления (которое теперь задаётся только через CSS), многие атрибуты (такие как, например, bgcolor и align) более не поддерживаются, их поведение можно задавать только через таблицу стилей.
....
XHTML 1.1 Модульный (Module-based): авторы могут импортировать дополнительные свойства в их разметку.
....
XHTML мобильного профиля (Mobile Profile): основанный на XHTML Basic, добавляет специфические элементы для мобильных телефонов.


Таким образом XHTML это нечно среднее между XML и HTML, что в принципе и так ясно из его названия.

XML сам по себе - просто структурное ограничение, XHTML же (как и HTML) дополнительно накладывает еще и ограничительные рамки на набор элементов и правила их составления. Ограничения эты описаны, собственно, в файлах dtd, которые можно составить и самому и сделать какой-то еще XHTML-Selenitial например.

Цитата

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


Таким образом xml парсеру подобное будет нормально
Код

<img>
    <supercooltag></supercooltag>
</img>

А XHTML парсер пошлет за такое лесом.

А теперь встречный вопрос: а шо ви таки хотели узнать то?  smile

Добавлено через 4 минуты и 27 секунд
Цитата(SelenIT @  2.11.2007,  20:45 Найти цитируемый пост)
это правила синтаксиса языка, которые лишь позволяют парсить его XML-парсером.

Конечно, но правила парсинга HTML уже написаны и ты не можешь их варьировать, а для того, чтобы это стало возможно и придуман XHTML.
Цитата(SelenIT @  2.11.2007,  20:45 Найти цитируемый пост)
добрый старый HTML DOM

DOM он изначально XML-ный а не HTML-ный. Бразуер занимается тем что постоянно из HTML пытается построить XML-DOM

Добавлено через 6 минут
Цитата(SelenIT @  2.11.2007,  20:45 Найти цитируемый пост)
 "продвинутыми" Content-type используется XML-парсер (если он есть;) и XML DOM.

Ну так ты перечисляешь механизмы работы XHTML. Какая разница, как их называть? 
Для того, чтобы не говорить "эта страница использует такой-то XML паресер" и говорят что "тут XHML-strict" например.
PM MAIL   Вверх
SelenIT
Дата 4.11.2007, 03:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



smartov,
Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
а шо ви таки хотели узнать то?  smile 

Как раз вот это:
Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
А чем по-твоему радикально XML-парсер отличается от XHTML парсера?
притом не абстрактно-теоретически, а применительно к реальным браузерам. Ну и просто хотел выпендриться, если честно... ;)

Просто есть распространенный миф о том, что буква X в доктайпе - волшебная и сама собой включает строгий режим рендеринга или еще какую-то "секретную фичу" браузеров (и, как, по-моему, показывает и данный опрос, этот миф довольно живуч). А вот насчет режима парсинга я не столь уверен, но полагаю, что XHTML-страницы, отданые как "text/xml" и как "application/xhtml+xml" парсятся браузером одинаково.

Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
многие атрибуты (такие как, например, bgcolor и align) более не поддерживаются

Бросьте в меня камень, если они поддерживаются в HTML 4.01 [B]Strict[/B]. Или если они не поддерживаются в XHTML 1.0 Transitional. XHTML 1.0 - не более чем
Цитата(W3C (http://www.w3.org/TR/xhtml1/))

    A Reformulation of HTML 4 in XML 1.0
и с точки зрения отделения содержание документа от оформления к соотв. подтипу HTML 4.01 ровным счетом ничего не добавляет и не убавляет. Данная цитата из Википедии справедлива, но она так же справедлива и к HTML 4.01 Strict.

Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
правила парсинга HTML уже написаны и ты не можешь их варьировать, а для того, чтобы это стало возможно и придуман XHTML.

smile

Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
DOM он изначально XML-ный а не HTML-ный. Бразуер занимается тем что постоянно из HTML пытается построить XML-DOM

О как... вот этого я не знал, спасибо! Но все равно, имхо, такие "мелочи", как автодостройка "воображаемых" тегов (типа <tbody>) и автоперевод в верхний регистр - существенная HTML-ная специфика. Речь шла о том, будет ли эта специфика применяться для XHTML-страниц, и от чего это зависит.

Цитата(smartov @  3.11.2007,  11:48 Найти цитируемый пост)
Для того, чтобы не говорить "эта страница использует такой-то XML паресер" и говорят что "тут XHML-strict" например
Так парсеры все-таки разные? Или парсер один, просто "посылает лесом" на разных местах, в зависимости от DTD? Или, может быть, я вообще неправильно понимаю слово "парсер"? Где можно подробнее почитать об этом?


P.S. надеюсь, что хоть существование "XHTML-режима рендеринга" уже никто отстаивать не будет? ;)



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 4.11.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



SelenIT
Цитата(SelenIT @  4.11.2007,  02:38 Найти цитируемый пост)
парсер один, просто "посылает лесом" на разных местах, в зависимости от DTD?

Если мои представления о том, как делаются механизмы в этом мире верны - то да.

Цитата
смайлик: хочу пример

Я думаю пример - любой DTD - читай его, читай маны по нему. Составь свой - подключи к HTML - поимеешь кастомные ограничения/расширения для парсера.

Цитата(SelenIT @  4.11.2007,  02:38 Найти цитируемый пост)
P.S. надеюсь, что хоть существование "XHTML-режима рендеринга" уже никто отстаивать не будет? ;)

А чем тебя так эта фраза коробит?
То что у самолета движок один и меняется только скорость совсем не значит что так уж неверно будет сказать "режим форсажа". Хотя казалось бы - все ж то же самое. 
Это просто условное обозначение. ИМХО нравится народу так говорить - пусть говорят.
PM MAIL   Вверх
SelenIT
Дата 4.11.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Цитата(smartov @  4.11.2007,  15:31 Найти цитируемый пост)
Составь свой - подключи к HTML...

Вот-вот. К HTML DTD подключается, по-моему, точно так же, как к XHTML. И менять позволяет, на мой взгляд, ровно то же самое. Тогда что меняет волшебная буква X?

Цитата(smartov @  4.11.2007,  15:31 Найти цитируемый пост)
То что у самолета движок один и меняется только скорость совсем не значит что так уж неверно будет сказать "режим форсажа".

Если б, продолжая эту метафору, "скорость" действительно менялась - я бы не спорил. Но в том-то и дело, что в этом "самолете" скорость от волшебной кнопки X не меняется. И вообще ничего не меняется, кроме состояния самой этой кнопки smile. А меняется что бы то ни было от других действий (напр. убирания закрылков), с кнопкой X практически никак не связанных...

В конце концов, если я действительно настолько заблуждаюсь (что вполне может быть) - почему никто из всех проголосовавших за 3-й вариант до сих пор не выдвинул ни одного аргумента?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
nickless
Дата 4.11.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 2
Всего: 181



Браузеры по разному парсят HTML и XHTML/XML, и показывают их по-разному, в зависимости от типа (Doctype).
Соответственно XHTML документы с корректным doctype-ом парсятся и рендерятся по другому чем скажем HTML без doctype-а.
Quirks mode
What are the Quirks mode and the Standards mode?
How is the treatment of application/xhtml+xml documents different from the treatment of text/html documents?


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
SelenIT
Дата 4.11.2007, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 5
Всего: 401



Цитата(nickless @  4.11.2007,  19:09 Найти цитируемый пост)
Браузеры по разному парсят HTML и XHTML/XML, и показывают их по-разному, в зависимости от типа (Doctype).


nickless, можно уточнить (а то неоднозначная фраза получилась): парсят по-разному в зависимости от "X/не-X", а показывают по-разному в зависимости от доктайпа? Или от доктайпа зависит как тип парсинга, так и тип рендеринга?

Цитата(nickless @  4.11.2007,  19:09 Найти цитируемый пост)
Соответственно XHTML документы с корректным doctype-ом парсятся и рендерятся по другому чем скажем HTML без doctype-а.

Могу ли я тогда сказать, по этой логике, что HTML 4.01 Strict с корректным доктайпом рендерится в XHTML-режиме? Если да, то в чем его "X"-особенность?

Цитата(nickless @  4.11.2007,  19:09 Найти цитируемый пост)
How is the treatment of application/xhtml+xml documents different from the treatment of text/html documents?

Ну и причем тут тип документа, когда явно написано про MIME-тип контента? Опять же, возьмем конкретный пример: вот эта страница форума (с вполне корректным XHTML-доктайпом) в каком режиме парсится/рендерится?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
smartov
Дата 4.11.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



SelenIT
Цитата(SelenIT @  4.11.2007,  15:32 Найти цитируемый пост)
Вот-вот. К HTML DTD подключается, по-моему, точно так же, как к XHTML. И менять позволяет, на мой взгляд, ровно то же самое. Тогда что меняет волшебная буква X?

X means XML smile

Цитата(SelenIT @  4.11.2007,  15:32 Найти цитируемый пост)
Но в том-то и дело, что в этом "самолете" скорость от волшебной кнопки X не меняется. И вообще ничего не меняется, кроме состояния самой этой кнопки

Ну здрасте. Именно для снижения нагрузки на парсер изначально XHTML и использовали.

Цитата(SelenIT @  4.11.2007,  21:33 Найти цитируемый пост)
Могу ли я тогда сказать, по этой логике, что HTML 4.01 Strict с корректным доктайпом рендерится в XHTML-режиме? Если да, то в чем его "X"-особенность?

Нет не можешь сказать. Потому что при парсинге XHTML парсер хочет (по крайней мере согласно задумке) корректный XML, только без xml декрарации (<?xml...?>) , а при парсинге HTML, даже самого стрикт - не требуется корректный XML.

Например: <BODY> - для HTML это нормально, а для XHTML - только <body>

Добавлено @ 23:16
Цитата(SelenIT @  4.11.2007,  21:33 Найти цитируемый пост)
вот эта страница форума (с вполне корректным XHTML-доктайпом) в каком режиме парсится/рендерится? 

XHTML

Добавлено @ 23:17
Кстати аж приятно в сырцы глянуть smile Все столь корректно и красиво.

Добавлено @ 23:22
Цитата(SelenIT @  4.11.2007,  02:38 Найти цитируемый пост)
Просто есть распространенный миф о том, что буква X в доктайпе - волшебная и сама собой включает строгий режим рендеринга или еще какую-то "секретную фичу" браузеров

Перечитал тему. Если не ошибаюсь нашел суть обсуждаемого
Конечно никакого волшебства не происходит. Это примерно как включить орфографию в ворде - можно будет все равно написать ПРЭВЕД! но он подчеркнет. 

XHTML отличается и от XML и от HTML, поэтому так иназывается.
Он объединяет в себе фичи обеих технологий. От XML - синтаксис, от HTML - технологию предопределенного набора элементов и порядка элементов.

DTD - собственно и задает набор и порядок использования элементов.
Я думаю, по умолчанию в каждый браузер зашит стандартный DTD для HTML, и когда DTD не обозначается - используется именно стандартный (который в каздом браузере свой ;) ) - это и так называемый Quirks mode.
И я думаю что при прописывании DTD кодер (как это выглядит для браузера) просто оверрайдит тот DTD прописанным. Вот и вся магия.

Ты открой и посмотри DTD для HTML...strict и для xhtml-1.0 - вот и увидишь разницу.  И конечно само подключение доктайпа волшебным образом или не волшебным неважно но меняет механизм парсинга и рендеринга. Не знаю как на счет секретности сей фичи, но мне кажется ее секретность сродни Неуловимому Джо.


p.s. если хочешь совсем конкретного ответа "В чем для браузера разниза между HTML 4.01 strict и XHTML 1.0 Strict, то ответ - при рендеринге браузеру ..о..уй, при парсинге во втором случае требуется XML. Всё. 

Кстати в табличке, на той страничке, куда ты кинул ссылу, все это отображено. При рендеринге в обоих этих режимах бразуер пытается включить standards mode.

Это сообщение отредактировал(а) smartov - 4.11.2007, 23:40
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0995 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.