Xpoint
   [напомнить пароль]

XHTML Validity против Удобства

Метки: [без меток]
2006-04-27 17:53:29 [обр] 1m.dm(0/6)[досье]

Проверяют ли какие-нибудь браузеры XHTML на вилидность?
Я использую Strict DOCTYPE:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

При этом для удобства используются дополнительные, не определенные в DTD атрибуты некоторых элементов.
Например, при проверке форм на правильность заполнения, в input-ах появляются 2 дополнительных, нестандартных атрибута:

<input type="text" name="username" pattern=".{3,}" errmsg="Слишком короткое имя." />

УПРОЩЕННО: при сабмите скрипт проходит по всем элементам формы, проверяет, совпадает ли value с pattern (regexp), и в случае ошибки (несовпадения) выводит errmsg (сообщение об ошибке) пользователю.

Насколько нарушение стандарта оправдано с точки зрения удобства?

Спасибо.

спустя 52 минуты [обр] GRAy(0/259)[досье]
1m.dm[досье] Вам не обязательно нарушать стандарт. Просто сделайте эти атрибуты в другом namespace. Если перфекционизм вам не чужд, можете даже dtd для него написать или схему ;)
спустя 27 минут [обр] 1m.dm(0/6)[досье]

О! Совершенно забыл про неймспейсы : )
Огромное спасибо.

Но валидаторы все равно ругаются на

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:nrgn="http://energine.com.ua">

и на

<div nrgn:errmsg="it's working"></div>

Может, они просто "не умеют" неймспейсы в XHTML 1.0 Strict? :-/

спустя 13 минут [обр] GRAy(0/259)[досье]
Вот тут не знаю. Скорее всего валидатор просто не умеет неймспейсы - это его усложнило бы.
спустя 5 минут [обр] 1m.dm(0/6)[досье]

Поспешил ответить... прочел спецификацию :)

The XHTML namespace may be used with other XML namespaces as per [XMLNS], although such documents are not strictly conforming XHTML 1.0 documents as defined above. Work by W3C is addressing ways to specify conformance for documents involving multiple namespaces.

Еще раз спасибо!

спустя 14 дней [обр] 30-ый(0/584)[досье]
Если таких аттрибутов не очень много, можно заменить эти аттрибуты на что-нибудь стандартное. Например прятать эти данные в какой-нибудь обработчик jscript... onclick например.
Powered by POEM™ Engine Copyright © 2002-2005