Согласен, отчасти, но всё равно минус поставлю, потому что всё зависит от информационного ареола: пользователи, контент, контекст.
Если по русски, то от поставленной задачи. В общем, — братья рубисты, давайте прекратим джихад против php, у дзен языка много отображений на этот мир, и каждое это отображение прекрасно по своему.
И ещё одна приятная особенность, — название тега div можно опускать, т.е.
%div.Value{...}
эквивалентно
.Value{...}
Т.е. это просто другая нотация XHTML (в этом её ключевое отличие от ASCIIDoc), причем писать в XOWML намного быстрее, чем в виде обычного XHTML, а результат одинаков.
Ну если расположение блоков верстается при помощи div, то лично меня напрягает (чисто по скорости) писать <div class="ClassName">...</div>, мне быстрее написать .ClassName{...}
Насчет добавления своих атрибутов, тегов и т.п. — пожалуйста, добавляйте xmlns, и используйте их. Более того, так уже делают те, кто хотят, допустим, вставить математические символы, — они используют MathML (xmlns="http://www.w3.org/1998/Math/MathML").
При этом получается валидный XHTML.
Насчет, элементарных ошибок, которые ни на что не влияют в смысле отображения браузером: совершенно верно; браузеры стали умные, однако есть еще такие вещи, как парсинг XHTML.
Если вы когда-нибудь пробовали парсить невалидный XHTML, а уж тем более HTML, то вы бы всегда после этого были адептом валидной верстки.
Есть ещё такое понятие как web-сервисы, в будущем сервисы должны работать как посредники между запросами и xhtml-страницами, для этого они должны уметь их парспить, для этого они должны быть валидны.
И на последок простейший пример (ну только не из XHTML, а из CSS).
Вот ИЕ просасывал раньше подобные вещи:
margin-left: 5;
Отлично ведь, да? :-) Он думал, что верстальщик ошибся, и добавлял px. В результате получалось:
margin-left: 5px;
Отлично, да вот только в CSS 3.0 появилась такая возможность действительно не указывать единицу измерения, т.е. margin-left: 5; — абсолютная CSS-валидная надпись; да вот только означает она в соответствии с новой спецификацией совсем не 5px.
И получается, что IE сделал медвежью услугу. (Эти несколько предложений ни в коем случае не надо воспринимать как хуление Майкрасофт, сам я с большим уважением отношусь к тому-же .NET ).
Конечно, в определенный период, такая позиция производителей браузеров себя оправдывала. Так же как когда-то существовала куча компиляторов Си. Но потом пришел стандарт ANSI. Это неизбежный процесс развития любого удачного языка/инструмента, каким и является XHTML.
Через несколько лет невалидный XHTML отображаться не будет.
И это всем пойдёт на пользу.
Ребята, а давайте все использовать RDF, как того хочет W3C.
Его и в XML можно представлять, и в human-readable .n3, и в XHTML встраивать посредством RDF/A.
И запросы к нему посылать.
.class-a.class-b{test}
Если по русски, то от поставленной задачи. В общем, — братья рубисты, давайте прекратим джихад против php, у дзен языка много отображений на этот мир, и каждое это отображение прекрасно по своему.
Просто конструкция
<tag attr="value">...</tag>
в XOWML записывается как
%tag attr="value"{...}
Атрибуты class и id особые:
<tag class="Value">...</tag>
<tag id="value">...</tag>
в XOWML записывается как
%tag.Value{...}
%tag#value{...}
И ещё одна приятная особенность, — название тега div можно опускать, т.е.
%div.Value{...}
эквивалентно
.Value{...}
Т.е. это просто другая нотация XHTML (в этом её ключевое отличие от ASCIIDoc), причем писать в XOWML намного быстрее, чем в виде обычного XHTML, а результат одинаков.
<div class="ClassName">...</div>, мне быстрее написать.ClassName{...}При этом получается валидный XHTML.
Насчет, элементарных ошибок, которые ни на что не влияют в смысле отображения браузером: совершенно верно; браузеры стали умные, однако есть еще такие вещи, как парсинг XHTML.
Если вы когда-нибудь пробовали парсить невалидный XHTML, а уж тем более HTML, то вы бы всегда после этого были адептом валидной верстки.
Есть ещё такое понятие как web-сервисы, в будущем сервисы должны работать как посредники между запросами и xhtml-страницами, для этого они должны уметь их парспить, для этого они должны быть валидны.
И на последок простейший пример (ну только не из XHTML, а из CSS).
Вот ИЕ просасывал раньше подобные вещи:
margin-left: 5;
Отлично ведь, да? :-) Он думал, что верстальщик ошибся, и добавлял px. В результате получалось:
margin-left: 5px;
Отлично, да вот только в CSS 3.0 появилась такая возможность действительно не указывать единицу измерения, т.е. margin-left: 5; — абсолютная CSS-валидная надпись; да вот только означает она в соответствии с новой спецификацией совсем не 5px.
И получается, что IE сделал медвежью услугу. (Эти несколько предложений ни в коем случае не надо воспринимать как хуление Майкрасофт, сам я с большим уважением отношусь к тому-же .NET ).
Конечно, в определенный период, такая позиция производителей браузеров себя оправдывала. Так же как когда-то существовала куча компиляторов Си. Но потом пришел стандарт ANSI. Это неизбежный процесс развития любого удачного языка/инструмента, каким и является XHTML.
Через несколько лет невалидный XHTML отображаться не будет.
И это всем пойдёт на пользу.
Его и в XML можно представлять, и в human-readable .n3, и в XHTML встраивать посредством RDF/A.
И запросы к нему посылать.
Но это, конечно, дело будущего.