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-ными браузерами). И много других незакрытых тагов, а может, и с нестингом проблемы. И проблема в том, что я не могу сказать библиотеке: игнорируй этот по сути дела мелочный прокол. Она отказывается с этими файлами иметь дело вообще. И поступает совершенно правильным, единственно правильным способом в соответствии со стандартом. И что мне теперь делать? Исправлять все эти файлы? слишком много работы без всякого видимого результата, т.к. они и сейчас отлично видны на всех браузерах. Если нет, тогда надо свой код писать специально для этого случая. Я не жалуюсь совершенно, код-то на самом деле очень простой, но сама ситуация показательна.

Date: 2001-06-13 11:05 pm (UTC)
From: [identity profile] toshick.livejournal.com
ýòî åùå íè÷åãî - ó íåêîòîðûõ ñòàðûå íîìåðà æóðíàëîâ ëåæàò â âèäå ñêàíèðîâàííûõ ñòðàíèö, ïîäëî îôîðìëåííûõ êàê .pdf

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:49 pm
Powered by Dreamwidth Studios