Модераторы: 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   Вверх
SelenIT
Дата 4.11.2007, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
Именно для снижения нагрузки на парсер изначально XHTML и использовали.

smartov, задумывали - может быть, и для этого. Но браузерам на это, как бы сказать помягче... наплевать. По третьей ссылке nicklessа написано, от чего зависит режим парсинга в Мозилле, и это явно не doctype  smile.

Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)

Цитата(SelenIT @  4.11.2007,  22:33 Найти цитируемый пост)
Могу ли я тогда сказать, по этой логике, что HTML 4.01 Strict с корректным доктайпом рендерится...

Нет не можешь сказать. Потому что при парсинге XHTML парсер хочет...

Я спрашивал о режиме рендеринга уже отпарсенной страницы. Причем тут парсинг?

Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
при парсинге XHTML парсер хочет (по крайней мере согласно задумке) корректный XML

Вот именно, что "согласно задумке". А я говорю о суровой действительности...

Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
XHTML

И парсится, и рендерится? Увы - парсится она как HTML. И будь там <BODY> браузер это съел бы. А рендерится - так же, как HTML 4.01 Transitional, можно ли это назвать "XHTML-режимом рендеринга" - по прежнему вопрос терминологической дискуссии smile. Имхо - нельзя.

Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
аж приятно в сырцы глянуть smile Все столь корректно и красиво.

Валидатор от W3C, увы, иного мнения. Так что, если бы эта страница парсилась в XHTML-, точнее, XML-режиме, то мы ее бы просто не увидели - ее бы "послали лесом"...


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


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


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

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



p.s. Начал ты конечно с этим XHTML,... я как начинаешь опять читать доп информацию, и как всегда с открытми технологиями находишь себя через пол часа читающим про что-то что явно предшествовало или опередляло то, о чем хотел почитать, но уже так далеко по смыслу что капец просто smile
PM MAIL   Вверх
SelenIT
Дата 4.11.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
само подключение доктайпа волшебным образом или не волшебным неважно но меняет механизм парсинга и рендеринга.

Рендеринга - да, но это справедливо как для корректного HTML 4.01, так и для корректного XHTML - правда, при условии что парсятся они в HTML-режиме (под разными режимами парсинга я понимаю то, что описано по ссылке nicklessа). Парсинга - очевидно, нет.

Цитата(smartov @  4.11.2007,  23:15 Найти цитируемый пост)
"В чем для браузера разниза между HTML 4.01 strict и XHTML 1.0 Strict, то ответ - при рендеринге браузеру ..о..уй, при парсинге во втором случае требуется XML. Всё. 

Получается, что эта страница - HTML, раз браузеру по... это самое на 188 ошибок валидации?


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


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


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

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



2SelenIT
Цитата(SelenIT @  4.11.2007,  22:42 Найти цитируемый пост)
Я спрашивал о режиме рендеринга уже отпарсенной страницы. Причем тут парсинг?

Случайно. Рендеринг, как я уже заметил выше, один и тот же.

Цитата(SelenIT @  4.11.2007,  22:42 Найти цитируемый пост)
Валидатор от W3C, увы, иного мнения. Так что, если бы эта страница парсилась в XHTML-, точнее, XML-режиме, то мы ее бы просто не увидели - ее бы "послали лесом"... 

Ну для начала ты посмотри на те ошибки. Там не синтаксическия XML ошибка, а ошибка именно доктайпа, типа "Ой этот элемент стоит не там где надо".
XML-ю на самом деле пофиг как там они стоят, XML валиден при валидном синтаксисе (который уже в этой теме перечислили сто раз, и я снова не буду).
Ну а дальше - w3c элемент не зачло как валидный - и понеслась душа в рай - ничего не разберешь где ошибки, а где нет. 

А вот то, что ошибки могут все равно быть не взирая доктайп стоит и при этом браузер не закричит страшным голосом "что ж ты такое пишешь - иди ка маны читай" - это уже вопрос совершенно другой. Вопрос того, как режим реализован на деле. Я тоже до конца не знаю как браузеры реагируют на эти ошибки, особенно если доктайп предполагает XHTML. Думаю они пытаются их "интеллектуально" исправлять исходя из текущего доктайпа, а потом уже рендерят получившийся документ.

Добавлено @ 00:01
Цитата(SelenIT @  4.11.2007,  22:49 Найти цитируемый пост)

Получается, что эта страница - HTML, раз браузеру по... это самое на 188 ошибок валидации? 

[тут был текст]
Да smile Для браузера она HTML.

Добавлено @ 00:06
(!) Прочитал нафига придумали XHTML! Прошу сюда: http://webmascon.com/topics/technologies/11a.asp

Исходя из этого: для современного браузера XHTML и HTML _ничем не отличаются_

Фанфары. Гимн. Занавес.


 Уфф....

Это сообщение отредактировал(а) smartov - 5.11.2007, 00:09
PM MAIL   Вверх
smartov
Дата 5.11.2007, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Конец статьи

Цитата

В заключении, повторю фразу W3C:

    "В конечном счете, можно будет разработать XHTML-конформный контент, который будет доступен из любого XHTML-конформного пользовательского агента"

Это не кажется вам знакомым? Разве HTML разрабатывался не для всех типов пользовательских агентов? Мы все знаем, что случилось с этим планом…


Напомнил анек: 
Цитата


С 1 декабря в России воодится дополнительная разметка - три сплошных полосы. 
Означать они будут то же самое, что и две и одна сплошные, но делать то что-то надо!!

PM MAIL   Вверх
SelenIT
Дата 5.11.2007, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(smartov @  4.11.2007,  23:58 Найти цитируемый пост)
Там не синтаксическия XML ошибка, а ошибка именно доктайпа, типа "Ой этот элемент стоит не там где надо".

Ошибки синтаксиса XML там тоже есть - из-за "<" в яваскриптах. По стандарту, скрипты должны быть CDATA-блоками. При попытке угодить всем получается ужОс...

Цитата(smartov @  4.11.2007,  23:58 Найти цитируемый пост)
Я тоже до конца не знаю как браузеры реагируют на эти ошибки, особенно если доктайп предполагает XHTML. Думаю они пытаются их "интеллектуально" исправлять исходя из текущего доктайпа, а потом уже рендерят получившийся документ.

Насколько мне известно, все проще. Если документ отдан как text/html, то браузер парсит его как HTML (автоматом достраивает пропущенные TBODY в table, переводит все в верхний регистр, закрывает незакрытые теги, отбрасывает концевые слеши в <br/> и т.п.), вообще не глядя в DTD. На доктайп он тогда смотрит с единственной целью - выбрать режим рендеринга (Strict или Quirks). А вот если страница отдана как application/xhtml+xml или text/xml, то она парсится как XML, DTD используется по прямому назначению, и в случае ошибки до рендеринга дело просто не доходит, а если ошибок нет - используется Strict mode. Вот только IE до сих пор application/xhtml+xml вообще не понимает...

Цитата(smartov @  4.11.2007,  23:58 Найти цитируемый пост)
Ты просто задал вопрос вроде как по стандартам

Нет, со стандартами все более-менее ясно, путаница именно с исполнением, и вопрос был именно про него (сабж в реальных браузерах).

Цитата(smartov @  4.11.2007,  23:58 Найти цитируемый пост)
Исходя из этого: для современного браузера XHTML и HTML _ничем не отличаются_

При отдаче как text/html (т.е., наверное, в 99% случаев;) - получается, что так... :)


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


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


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

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



Цитата(SelenIT @  4.11.2007,  23:54 Найти цитируемый пост)
При попытке угодить всем получается ужОс...

О мой МОСК!!!  smile

Добавлено через 21 секунду
Да уж. Пока что только HTML ибо нуегонах
PM MAIL   Вверх
SelenIT
Дата 5.11.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Однако ж. Уже после фанфар и занавеса, когда, казалось бы, миф об "особом XHTML-режим рендеринга" должен был быть окончательно повержен, аж трое человек проголосовали за варианты "про рендеринг". Причем, как раньше - без единого аргумента...

"Куда катится мир?" ©


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


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


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

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



SelenIT, а может они именно юзают связку mozilla + application/xml+xhtml smile

Добавлено через 4 минуты и 12 секунд
Ну и плюс народ обычно дискуссий (ибо много букаф) не читает - а посему голосует за ответ исходя из того "как оно должно было бы быть, если бы все браузеры такое поддерживали". 
PM MAIL   Вверх
SelenIT
Дата 5.11.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(smartov @  5.11.2007,  15:19 Найти цитируемый пост)
связку mozilla + application/xml+xhtml

smartov, этой связкой (да и не только Мозиллой, Опера 7.5 и выше тоже нормально обрабатывает application/xml+xhtml) можно еще кое-как аргументировать четвертый либо пятый вариант, но никак не первых три. Рендерится-то application/xml+xhtml все равно точно так же, как соответствующий HTML c корректным доктайпом. И это, имхо, именно так и должно быть, поскольку функционально XHTML1 эквивалентен HTML4.01 (чьей "reformulation" он является). Вот DOM - таки да, слегонца отличается...


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


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


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

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



Справедливости ради, все-таки нашел я пару-тройку ситуаций, когда один и тот же XHTML-код рендерится по-разному в зависимости от типа парсинга - text/html либо что-то/(xhtml+)xml:
  • XHTML 1.0 Transitional в Мозиллах при text/html рендерится в т.н. "полустандартном" режиме (с блочными по дефолту картинками), при XML-парсинге - в полностью стандартном (картинки строчные);
  • если указан фон для body, но не для html - в HTML-режиме этим фоном красится все окно, в XML - строго сам body (найдено в комментах здесь).
Плюс можно искусственно поэксплуатировать различия DOM, например, задавая стили для "мнимых" элементов (типа того же пропущенного TBODY) или просто для элементов в другом регистре (DIV вместо div), и добиться разницы в отображении с помощью CSS. По большому счету, фокус с фоном body той же природы (т.к. элемент body по историческим причинам слегка "волшебный" в HTML DOM, но абсолютно равноправный в XML). Опять же - повторюсь - разница возникает не "между XHTML и HTML", а в отображении одного и того же валидного XHTML-кода, и зависит от того, учитывает ли браузер его XML-ную "ипостась".

Итого, в сухом остатке, грубо (но жизненно;):
  • На парсинг страницы и тип DOM в итоге влияет наличие строки xml (а вовсе не xhtml) в Content-type;
  • На рендеринг HTML DOM влияет ссылка на DTD в DOCTYPE (а вовсе не буква X в нем). На рендеринг XML DOM ничего не влияет, и он не отличается от рендеринга эквивалентной HTML DOM  в строгом режиме. Редкие наблюдаемые различия - следствия различий в самой DOM, а не в режиме рендеринга.
Вот если бы нашлось различие в отображении именно между application/xhtml+xml и application/xml (text/xml) - тогда бы я, скрепя сердце, признал существование "XHTML-режима" отображения. А пока мне достаточно 2-х режимов построения DOM (HTML и XML) и 2-х либо 3-х (смотря по браузеру) режимов их рендеринга (Quirks, Almost Standards, Strict/Full Standards).

Впрочем, десяти моим оппонентам, проголосовавшим за второй и третий пункт, рано отчаиваться - с точки зрения "как должно быть" у них есть шансы найти на W3C еще подтверждения вроде вышеупомянутого фона body... smile

Upd.: похоже, что в Мозилле сабж все-таки существует, и соответствует пятому варианту в моем опросе. "Аштээмэльно-иксэмэльный дуализм" сабжа проявляется там именно в аспекте JS (доказательство?)...

Это сообщение отредактировал(а) SelenIT - 8.11.2007, 23:02


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


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


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

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



Тема неожиданно снова апнула меня по башке smile

Вот здесь весьма уважаемый CSS-гуру всерьез меня озадачил свидетельством о различии в рендернинге/интерпретации страницы именно от одной лишь замены доктайпа с "иксатого"  на "безыксовый". Причем там, где я бы меньше всего этого ждал - в IE (конкретнее, каком-то из ранних билдов 6-й версии), казалось бы, не знакомым с сабжем по определению.

Мои настойчивые просьбы вида smile не были удовлетворены "ввиду давности происшествия", самостоятельные попытки воспроизвести эффект тоже пока успехом не увенчались. Зато мне было указано на еще один пример различия - то, что display:table-cell в Gecko/Opera в зависимости от доктайпа то работает, то нет, и это будто бы не связано с режимом рендеринга (три последних коммента здесь). Здесь я запутался окончательно - почему-то я вообще не смог заставить  display:table-cell перестать работать, ни с каким-либо доктайпом, ни вообще без оного smile.

Прошу всех, кому небезразлична истина, помочь мне ее найти. Нужны примеры вышеприведенных различий - желательно с фрагментами кода и указанием версии ОС и браузера с точностью до билда. Похоже, картина куда запутанней, чем я до сих пор был уверен... если меня не разыгрывают, что маловероятно;).


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


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


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

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



Читал последнюю (январскую) редакцию статьи Henry Sivonen'а про режимы, сопутствующие материалы, много думал... часть своих слов беру обратно. По моему последнему обдуманному мнению,
  • Сабж, пожалуй, существует;
  • XHTML-режим - разновидность XML-режима (с точки зрения парсинга и DOM), при которой страница вообще рендерится (а не выводится тупо как дерево элементов;)
  • Сабж включается указанием правильного неймспейса при адекватном Content-type;
  • У сабжа могут быть свои подвиды, различающиеся степенью поддержки интерфейсов HTML DOM (впридачу к XML-ным);
  • Доктайп в сабже не играет абсолютно никакой роли, браузеры прекрасно отображают XHTML-страницы без доктайпа (более того, по XHTML5 доктайп им и не нужен!). Валидации как таковой нет даже в сабже.


Это сообщение отредактировал(а) SelenIT - 9.3.2008, 23:01


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


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


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

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



SelenIT, эммм. так как все таки отличить сабж от не сабжа?
PM MAIL   Вверх
SelenIT
Дата 4.3.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



smartov, мда, не так-то просто сформулировать... Чувствую, придется про это дело небольшую статейку написать smile

Upd: со статейкой пока застопорился, но попытался переформулировать прошлый пост smile

Это сообщение отредактировал(а) SelenIT - 9.3.2008, 23:02


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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