Модераторы: 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
Дата 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   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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