Javascript-форум (https://javascript.ru/forum/)
-   Сайт Javascript.ru (https://javascript.ru/forum/site/)
-   -   XHTML 1.0 Valid (https://javascript.ru/forum/site/1129-xhtml-1-0-valid.html)

tenshi 03.04.2008 11:20

браузеры ничего никуда не переводят. они парсят, получая на выходе DOM.
больше повторять не буду.

пс: уточни, плиз, в гугле термины "валидный" и "правильно составленный".

Kolyaj 03.04.2008 11:37

Цитата:

Сообщение от tenshi
они парсят, получая на выходе DOM

При этом им все равно, что парсить, и при этом после обратной операции получается не XHTML. Вы не ответили: зачем нужен XHTML Valid и почему
Цитата:

Сообщение от tenshi
xhtml1.1 рулит


SelenIT 03.04.2008 11:44

Цитата:

Сообщение от tenshi
> Он же с IE несовместим.
в каком это месте?

В нативном виде, как application/xhtml+xml. Трюк с XSLT лишь маскирует эту несовместимость - на выходе-то у нас фактически другой документ, являющийся обычным HTML (text/html)...

Цитата:

Сообщение от tenshi
http://www.w3.org/TR/xhtml11/conformance.html#uaconf в самом конце

Хм... никогда не обращал внимания, спасибо что указали, не знал, что документация сама себе противоречит). В Informative note, приведенной там по ссылке, четко сказано, что
Цитата:

The 'text/html' media type [RFC2854] is primarily for HTML, not for XHTML. In general, this media type is NOT suitable for XHTML.
и годится лишь для документов, соблюдающих правила совместимости с HTML (с полными закрывающими тегами для непустых элементов, без переносов строк в атрибутах и т.п.), а эти правила прописаны для XHTML 1.0, а не 1.1. В итоговой табличке комбинация XHTML1.1 + text/html тоже помечена жирным красным SHOULD NOT, да и W3C-шный валидатор на нее сердится как на Potential Issue.

Цитата:

Сообщение от tenshi
xhtml - это подмножество html

Нет. Это подмножество XML, функционально аналогичное HTML. XHTML1.0 - это переформулирование грамматики HTML4.01 в XML-ный синтаксис, XHTML1.1 - практически то же, но в виде модулей, XHTML2 - попытка расширить эту грамматику. А XHTML5 - просто способ сериализации DOM (в виде well-formed XML без доктайпа) для HTML 5 (кстати, все браузеры, понимающие application/xhtml+xml, нормально с ним работают).

tenshi 03.04.2008 14:38

Цитата:

В нативном виде, как application/xhtml+xml. Трюк с XSLT лишь маскирует эту несовместимость
у него нет в списке поддерживаемых миме-типов application/xhtml+xml, поэтому инициирует скачку, а не парсинг. xhtml - это подмножество html и xml. ие умеет парсить и то и то.

Цитата:

В итоговой табличке комбинация XHTML1.1 + text/html тоже помечена жирным красным SHOULD NOT
http://www.rfc-editor.org/rfc/rfc2119.txt
единственное, чему спецификация противоречит, - это твоему представлению о ней.

Цитата:

Нет. Это подмножество XML, функционально аналогичное HTML
синтаксически xhtml является подмножеством как html, так и xml.

tenshi 03.04.2008 14:48

Цитата:

Вы не ответили: зачем нужен XHTML Valid и почему
1. быстрее парсится ( ибо xml имеет строгие и чёткие правила )
2. проще написать парсер ( по той же причине )
3. есть возможность использовать трансформацию исходящего документа ( например, прокси, трансформирующий встроенные svg в vml )
4. ошибка в вёрстке сразу видна.

Kolyaj 03.04.2008 15:24

Цитата:

Сообщение от tenshi
1. быстрее парсится ( ибо xml имеет строгие и чёткие правила )
2. проще написать парсер ( по той же причине )
3. есть возможность использовать трансформацию исходящего документа ( например, прокси, трансформирующий встроенные svg в vml )

С просмотром сайта в браузере все это слабо коррелирует.

Цитата:

Сообщение от tenshi
4. ошибка в вёрстке сразу видна.

Мы ведь под ошибкой подразумеваем отображение сайта отличное от желаемого, правда? Только XHTML нам тут не помогает.

SelenIT 03.04.2008 15:30

Цитата:

Сообщение от tenshi
ие умеет парсить и то и то.

Да, умеет. Больше того - XML он даже умеет валидировать :). Но вот отображать отпарсенный XML с xmlns="http://www.w3.org/1999/xhtml" как страницу (что делают другие браузеры) он не умеет. И трюк с XSLT не заставит его делать это.

Цитата:

Сообщение от tenshi
синтаксически xhtml является подмножеством как html, так и xml.

Не является он подмножеством HTML, хоть ты тресни. Нет в HTML ни <br/> со товарищи, ни атрибута xmlns. XML - да, является.

Цитата:

Сообщение от tenshi
единственное, чему спецификация противоречит, - это твоему представлению о ней.

Мощно, внушает). Оказывается, SHOULD NOT == NOT RECOMMENDED == "может быть по разумным причинам допустимо и даже полезно при определенных обстоятельствах" == "так делать нужно и круто всегда". Спасибо за ликбез! :).

Цитата:

Сообщение от tenshi
1. быстрее парсится ( ибо xml имеет строгие и чёткие правила )
...
4. ошибка в вёрстке сразу видна.

А в случае, когда XHTML отдается как text/html (и, как следствие, парсится tag soup-парсером)? ;)

SelenIT 03.04.2008 15:34

Цитата:

Сообщение от Kolyaj
с просмотром сайта в браузере все это слабо коррелирует.

Коррелирует, но только в том случае, если страница отдается как application/xhtml+xml или с другим XML-ным Content-type.

Илья Кантор 03.04.2008 15:51

Насчет XHTML и HTML замечания.

HTML допускает таги типа <br>. HTML родился из SGML.
XHTML требует таги закрывать <br/>. Он родился из XML, который сделал более строгой слишком свободные объявления тагов и атрибутов SGML.

--

При обработке документа XML-парсером (тип text/xml), таг типа <script src="my.js"/> полностью эквивалентен <script src="my.js"></script>.

А при обработке HTML-парсером (тип text/html), таг <script src="my.js"/> приведет к ошибке из-за отсутствия закрывающего тега </script>.

P.S У меня предложение. Почему бы не собрать саммари по этому треду в одну статью, с которой все согласятся?

tenshi 03.04.2008 15:53

Цитата:

Мы ведь под ошибкой подразумеваем отображение сайта отличное от желаемого, правда?
один удачно незакрытый тэг и пара часов поиска места поломки тебе обеспечена.

Цитата:

Но вот отображать отпарсенный XML с xmlns="http://www.w3.org/1999/xhtml" как страницу (что делают другие браузеры) он не умеет. И трюк с XSLT не заставит его делать это.
по умолчанию он отображает xml в виде дерева. с помощью xslt можно объяснить ему, что отображать нужно именно в виде хтмл-страницы.

Цитата:

Не является он подмножеством HTML, хоть ты тресни. Нет в HTML ни <br/> со товарищи, ни атрибута xmlns. XML - да, является.
там есть указание, что неизвестные аттрибуты в целях обратной совместимости должны игнорироваться. xhtml - это продолжение html на качественно новом уровне.

Цитата:

Оказывается, SHOULD NOT == NOT RECOMMENDED == "может быть по разумным причинам допустимо и даже полезно при определенных обстоятельствах" == "так делать нужно и круто всегда". Спасибо за ликбез!
так делать приходится, пока большая часть пользователей пользуется устаревшими браузерами.


Часовой пояс GMT +3, время: 21:46.