Комментарии 60
Используйте
0
… сорри хабра парсер съел теги. В общем так:
+2
Хех. Только что вгляделся и увидел что у автора аттлист в доктайпе.
+2
и что это даст? с тем же успехом можно ничего не писать.
-1
А какой это текстовый редактор на скрине?
-1
НЛО прилетело и опубликовало эту надпись здесь
d-o-b.ru/?article:kill.html
+5
В Dojo Toolkit над этим многие долго бились в итоге так и не решили — говорят, что это невозможно. Или свои атрибуты в HTML, или чистая валидность по w3c — выбирай.
0
НЛО прилетело и опубликовало эту надпись здесь
Используйте расширенные аттрибуты и тэги. Для проверки на well-formed установите tidy, а адрес валидатора выкиньте из головы. За 15 лет не было ни одного сайта который что-либо получал от своей валидности (кроме девелоперского микро-геморроя, выходящего далеко за рамки рациональности 20/80).
+10
>За 15 лет не было ни одного сайта который что-либо получал от своей валидности кроме…
Со времен Моисея никто еще ничего не получил от мытья рук кроме расхода мыла и воды. А шею моют только лентяи, которым лень свежий подворотничек подшить.
Со времен Моисея никто еще ничего не получил от мытья рук кроме расхода мыла и воды. А шею моют только лентяи, которым лень свежий подворотничек подшить.
-2
Полностью поддерживаю, часто вижу заметки, касающиеся валидации кода. Зачем это нужно? Что это даст конкретному ресурсу? Если все работает корректно во всех браузерах, что даст валидация разработчику? Ну если только чувство самоудовлетворения и и немного геморроя.
-1
Проверка верстки на валидность — это элементарная культура производства. В принципе можно не соблюдать, так же как не мыть руки после туалета. Но некультурно.
.
Пример с броузером оч. показателен. Невалидная верстка может спокойно отображаться в текущих версиях броузеров, но разваливаться в следующих. Собственно прямая параллель с мытьем рук. Обычно обходится, но можно подцепить какую-нибудь болячку типа дизентерии.
.
Другой пример — XSLT технологии. В них требование если не валидности, так хотя бы well-formed кода условие необходимое.
.
Пример с броузером оч. показателен. Невалидная верстка может спокойно отображаться в текущих версиях броузеров, но разваливаться в следующих. Собственно прямая параллель с мытьем рук. Обычно обходится, но можно подцепить какую-нибудь болячку типа дизентерии.
.
Другой пример — XSLT технологии. В них требование если не валидности, так хотя бы well-formed кода условие необходимое.
0
Вы наверное не поняли мой ответ выше и упорно сравниваете валидность с мытьем рук. Мне вот кажется что мыть руки — это писать well-formed код! А удовлетворение же валидатора (ради идеи светлого будущего всех браузеров) сродни наведению маникюра. Глупое неэффективное времяпровождение мизофоба.
0
>Мне вот кажется что мыть руки — это писать well-formed код!
Два примера:
1. well-formed XML код допускает дубликат id. Но js скрипты после этого ведут себя странно.
2. FF3 (не будущий, а текущий броузер) не отрабатывает well-formed конструкцию [a href="#"][div]blah-blah-blah[/div][/a] так как это делают другие броузеры. habrahabr.ru/blogs/webdev/38829/
И самое главное, о чем я постоянно талдычу, — если игнорировать предупреждения валидатора, рано или поздно это приведет к появлению критической ошибки. Поэтому код должен быть чистым и валидным. Впрочем я это отношу только к своему коду и коду тех с кем работаю.
Два примера:
1. well-formed XML код допускает дубликат id. Но js скрипты после этого ведут себя странно.
2. FF3 (не будущий, а текущий броузер) не отрабатывает well-formed конструкцию [a href="#"][div]blah-blah-blah[/div][/a] так как это делают другие броузеры. habrahabr.ru/blogs/webdev/38829/
И самое главное, о чем я постоянно талдычу, — если игнорировать предупреждения валидатора, рано или поздно это приведет к появлению критической ошибки. Поэтому код должен быть чистым и валидным. Впрочем я это отношу только к своему коду и коду тех с кем работаю.
+2
НЛО прилетело и опубликовало эту надпись здесь
>Валидация по DTD, безусловно полезна для разработчика как страховка
> от невнимательности и источник предупреждений о потенциально багоопасных местах.
А я ни о чем больше и не говорю. Только об этом.
Именно по этой причине привожу пример с мытьем рук, который Моисей дал в качестве религиозной нормы, но по существу служит некоторой гарантией безопасности от кишечно-желудочных заболеваний.
Так вот и в этой дискуссии в валидизации видят почему-то только религиозную норму.
> от невнимательности и источник предупреждений о потенциально багоопасных местах.
А я ни о чем больше и не говорю. Только об этом.
Именно по этой причине привожу пример с мытьем рук, который Моисей дал в качестве религиозной нормы, но по существу служит некоторой гарантией безопасности от кишечно-желудочных заболеваний.
Так вот и в этой дискуссии в валидизации видят почему-то только религиозную норму.
0
НЛО прилетело и опубликовало эту надпись здесь
>Она помогает избежать тупых ошибок
Мне кажется это достаточно для того, чтобы пользоваться валидатором в процессе работы.
Остается больше времени на поиск ошибок в валидном коде.
Мне кажется это достаточно для того, чтобы пользоваться валидатором в процессе работы.
Остается больше времени на поиск ошибок в валидном коде.
0
И после этого мы еще удивляемся, почему отечественный автопром гордо именуют «тазиками» и по уровню он до сих пор глубоко в 80-х…
0
А как на счет того, чтобы указывать новый неймспейс и схему? Например, как-нибудь так (сорри, если в синтаксисе ошибки, плохо помню уже):
Ведь вроде бы XHTML задумывался именно как eXtensible.
xmlns:lookup="http://schema.ru/..."
Ведь вроде бы XHTML задумывался именно как eXtensible.
+2
Кстати не понимаю, почему w3c не хочет валидировать такой код? Главное же валидный XML, а это значит нет проблем для парсинга. Какая им разница сколько и каких атрибутов вы используете? Помоему w3c должны пересмотреть свое отношение к кастомным атрибутам.
-1
Кстати, погоню за супервалидным кодом, всегда считал каким-то комплексом у веб-разработчиков :) По-моему, проще писать правильный код, но не обязательно 100% валидный. Даже Яндекс, к примеру, не стесняется такого «некошерного» тега, как
Ох, нападут сейчас на меня…
noindex.
Ох, нападут сейчас на меня…
+5
а почему он должен его стесняться? =) он же не декларирует стремление сделать вэб лучше…
0
>Ох, нападут сейчас на меня…
Ой нападу. Noindex плох не столько тем, что создает проблемы с валидацией, сколько тем что кроме самого Яндекса его никто не поддерживает. А Яндексу в свою очередь западло использовать кошерны атрибут rel=nofollow, который поддерживают западные поисковики.
Ой нападу. Noindex плох не столько тем, что создает проблемы с валидацией, сколько тем что кроме самого Яндекса его никто не поддерживает. А Яндексу в свою очередь западло использовать кошерны атрибут rel=nofollow, который поддерживают западные поисковики.
0
Речь как раз и идет о тегах и атрибутах, которые никто кроме моего кода (кода Яндекса/кода автора статьи) не поддерживает. Ну невалидный он, этот код, ну черт с ним. Свет ведь не сошелся клином на этом валидаторе.
К тому же я уже предлагал выше легитимный способ расширения стандарта XHTML. Это стандартом самого языка XHTML предусмотрено. И любой XML-валидатор должен отпарсить этот код без ошибок.
К тому же я уже предлагал выше легитимный способ расширения стандарта XHTML. Это стандартом самого языка XHTML предусмотрено. И любой XML-валидатор должен отпарсить этот код без ошибок.
0
Про легитимный вариант — да. Я его знаю давно. Хотя не использую. Не было необходимости.
А по поводу наплеватьельства на валидность имхо вы неправы. Привычка к игнорированию сообщений валидатора — стремная. Рано или поздно среди 300 warnings которые в принципе не по делу проскакивает один, который разваливает верстку или приводит к глюкам которые сложно выловить.
Хорошо если все в одних руках. А если версткой и скриптами занимается несколько человек, подгадить можно не себе а коллеге.
А по поводу наплеватьельства на валидность имхо вы неправы. Привычка к игнорированию сообщений валидатора — стремная. Рано или поздно среди 300 warnings которые в принципе не по делу проскакивает один, который разваливает верстку или приводит к глюкам которые сложно выловить.
Хорошо если все в одних руках. А если версткой и скриптами занимается несколько человек, подгадить можно не себе а коллеге.
+1
используйте jquery.metadata, атрибуты class и rel.
+2
имхо, тут стоит идти по WAI-ARIA-пути, т.е. расширенные атрибуты + свой dtd
www.w3.org/TR/wai-aria/
Стандарты тем хороши, что описаны как «стандарты» (тавтология получается). Т.е. разработчик любого браузера (кто сказал, что новых браузеров больше не будет? Chrome — сентября 2008) будет полагаться именно на стандарты, а не на свой взгляд — ведь стандарты поддерживают все браузеры, а его взгляд — никто. Это только MS позволено выпендриваться как угодно. Да и то со временем это проходит (IE8 поддерживает блочную модель!).
www.w3.org/TR/wai-aria/
Стандарты тем хороши, что описаны как «стандарты» (тавтология получается). Т.е. разработчик любого браузера (кто сказал, что новых браузеров больше не будет? Chrome — сентября 2008) будет полагаться именно на стандарты, а не на свой взгляд — ведь стандарты поддерживают все браузеры, а его взгляд — никто. Это только MS позволено выпендриваться как угодно. Да и то со временем это проходит (IE8 поддерживает блочную модель!).
+2
есть такой плагин, с ним возможно использовать три разных метода для интеграции метаданных, первый и третий вполне валидные
0
А мне вот интересно, что за задачка такая, где ну никак без кастомных атрибутов? если это для сохранения состояния каких то элементов или объектов, то попробуйте посмотреть сюда docs.jquery.com/Core/data
0
Можно было бы и просто setAttribute (или банальный яваскриптовый массив). Неудобство, как минимум в том, что придется делать два одинаковых цикла — один для вывода валидного HTML, а второй для яваскрипта, назначающего нужные аттрибуты. И куча других дурацких последствий, тяжело влияющих на неокрепшую психику.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Интересная задачка для знатоков