Показать сообщение отдельно
  #79 (permalink)  
Старый 07.04.2011, 16:00
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
In addition, the HTML5 specification enables embedding SVG in HTML, where before it was only supported with XHTML.
Ну я про это и говорю. В HTML5 тоже есть пространства имен, как и в XHTML, что позволяет вставлять SVG.

Сообщение от x-yuri
писать для них свой dtd?
DTD можно и не писать. Тем более что все кладут на валидатор W3C. А если писать, то уж лучше XML-схему. Вообще, при таком раскладе валидация становится средством тестирования страниц. Другие тесты можно даже и не писать. Таким образом твой вопрос должен был звучать так: "Писать для них свои тесты?".

Сообщение от x-yuri
как модули могут предотвратить необходимость изменения скриптов при изменении разметки
Собственно:
Сообщение от x-yuri
Привязываться только к своим тегам
... и атрибутам.

Постараюсь объяснить что же это нам даст.

Что нужно верстаку? Править html-код. Что конкретно в коде ему нужно править? По пунктам:

1. Добавлять/удалять узлы.
2. Править атрибуты.
3. Править стили (как CSS, так и классы).
4. Изменять структуру дерева.

Это что касается поддержки и развития. Когда html только создается - проблем нет.

Действия первых трех пунктов не приведут к падению скриптов. Для этого верстало должен помнить всего лишь одно правило: не изменять сущности из пространств имен. Это касается имен тегов, имен атрибутов и их значений. В принципе, ему это и не надо.
Посмотрим на код:
<div ns:parent="name">
  <p>Paragraph</p>
  <ns:item class="item-1">text</ns:item>
  <ns:item class="item-2">text</ns:item>
  <div class="nbsp">&nbsp;</div>
</div>

Верстак может без проблем поменять имя корневого тега, так как оно не относится к пространству имен. Атрибут ns: parent его вообще не должен интересовать. Точно так же он может менять атрибуты class не задумываясь о том, к чему принадлежат эти классы. Можно добавить любые теги или убрать те, которые не принадлежат к пространству имен. Другими словами: он видит с чем ему можно работать, а с чем нет. Так мы полностью отделили верстальщика от JS-ника.

Что касается четвертого пункта. Структура данных - по природе своей древовидная и от этого никуда не деться. Мы должны учитывать это. Если структура изменяется, изменяется и логическое значение узлов. Так же и тут: если вынести ns:item за ns: parent, то он уже не будет ребёнком parent-а. Но скрипт и не упадет от этого. Он просто не обработает его.

БЭМ вообще придуман для CSS (хотя и файловую структуру это коснулось тоже). Стиль наименования классов + логическое разделение, я бы сказал. К XHTML отношения вообще не имеет.

Сообщение от x-yuri
ничего не мешает это реализовать без них
Собственно, чем сейчас все и занимаются. Архитектура сегодняшнего веб-приложения:
данные - куча говна
логика - стая мух, облепивших говно со всех сторон
представление - где-то между говном и мухами

А потом задумываемся - почему серверных разработчиков ставят на уровень выше клиентских? И правильно делают.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 07.04.2011 в 16:05.
Ответить с цитированием