avva: (Default)
[personal profile] avva
Читал стандарты XML и XHTML.
Много думал.

Да, отстал я однако от жизни.

Придумалось вот что. W3 придумали интересную стратегию. В чём весь смысл затеи XHTML? В том, чтобы переписать HTML в качестве частного случая XML. Что это даёт, по сути дела? Ну, понятно, всякие разные стандарты, возможность работать с аппликациями XML, модуляризация, ещё всякие buzzwords. Но по сути дела всё это - следствия, это вторично. Первична сама природа чёткого позиционирования каждого документа HTML в качестве документа XML: первично то, что документы XML обязаны быть хорошо написаны.

То есть это просто часть стандарта. В XML-ном документе невозможны незакрытые таги, или неправильный нестинг. Этого просто не может быть. Подход на самом деле не свеж. В SGML'е тоже такие вещи были запрещены, да вот только всем было начхать, потому что браузеры кому-то надо писать, и работать со всем этим диким количеством плохо написаннных HTML-ных страниц тоже надо... поэтому браузеры писались так, чтобы они глотали всё, что только возможно. И SGML сам по себе это не то чтобы поощрял, но в общем-то и не запрещал. Ну умный браузер, чем плохо?

Теперь наконец-то они зашевелились, когда поняли, до каких масштабов это доросло. И XHTML - это попытка одним махом всю эту лавочку прикрыть. Поскольку в XML'ном стандарте написано, что обработчик ОБЯЗАН выдавать ошибки на незакрытых тагах, неправильном нестинге и ещё сотне всяких возможных ошибок, и ОБЯЗАН отказаться обрабатывать такой документ. Даже если он non-validating, т.е. не проверяет документ на соответствие DTD, он обязан проверять, что документ корректно написан. А уж если он validating - тогда вообще капут, прощайте, нестадартные расширения.

Очень интересно - может ли в принципе сработать такой силовой подход? С одной стороны, они сильно постарались, чтобы при всей несуразности таких драконовских требований (учитывая реальность, которая out there; сами требования, конечно же, очень правильные, и я за ний двумя ногами) облегчить, насколько возможно, их выполнение. А именно: обработчики XML очень сильно ограничены в том, что им можно, а что нельзя считать ошибками. Это вам не цвета на экране или резолюция; то есть, если документ составлен неверно, то браузер автора, неважно, на какой платформе и операционной системе, обязан будет выдать ему ошибку. Это куда лучше чем ситуация "на эксплорере работает, а на нетскейпе мы не проверяли".

Но всё же требования очень жестокие, и в конце концов люди могут просто послать нафиг этот XHTML - не перестанут же браузеры поддерживать старый добрый HTML 4. Именно это требование абсолютного соответствия стандарту столь желанно с одной стороны и столь неудобно с другой. Вот я сейчас обрабатываю XHTML-файлы с поэзией Пушкина для конкорданса. Казалось бы, проще всего просто взять готовую XML-библиотеку (например, весьма удобный XML::Parser в Перле) и пропускать через нее. Ан нет: файлы хотя и замечательно размечены, и вся информация структурно представлена, в них есть много погрешностей против стандартного XML'я. Например, такая мелочь, как таг <br> в конце каждой строки стиха, который по XML обязан быть <br/> или хотя бы <br /> (для лучшей совместимости с HTML-ными браузерами). И много других незакрытых тагов, а может, и с нестингом проблемы. И проблема в том, что я не могу сказать библиотеке: игнорируй этот по сути дела мелочный прокол. Она отказывается с этими файлами иметь дело вообще. И поступает совершенно правильным, единственно правильным способом в соответствии со стандартом. И что мне теперь делать? Исправлять все эти файлы? слишком много работы без всякого видимого результата, т.к. они и сейчас отлично видны на всех браузерах. Если нет, тогда надо свой код писать специально для этого случая. Я не жалуюсь совершенно, код-то на самом деле очень простой, но сама ситуация показательна.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 28th, 2025 11:46 pm
Powered by Dreamwidth Studios