вебология
Читал стандарты 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-ными браузерами). И много других незакрытых тагов, а может, и с нестингом проблемы. И проблема в том, что я не могу сказать библиотеке: игнорируй этот по сути дела мелочный прокол. Она отказывается с этими файлами иметь дело вообще. И поступает совершенно правильным, единственно правильным способом в соответствии со стандартом. И что мне теперь делать? Исправлять все эти файлы? слишком много работы без всякого видимого результата, т.к. они и сейчас отлично видны на всех браузерах. Если нет, тогда надо свой код писать специально для этого случая. Я не жалуюсь совершенно, код-то на самом деле очень простой, но сама ситуация показательна.
Много думал.
Да, отстал я однако от жизни.
Придумалось вот что. 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-ными браузерами). И много других незакрытых тагов, а может, и с нестингом проблемы. И проблема в том, что я не могу сказать библиотеке: игнорируй этот по сути дела мелочный прокол. Она отказывается с этими файлами иметь дело вообще. И поступает совершенно правильным, единственно правильным способом в соответствии со стандартом. И что мне теперь делать? Исправлять все эти файлы? слишком много работы без всякого видимого результата, т.к. они и сейчас отлично видны на всех браузерах. Если нет, тогда надо свой код писать специально для этого случая. Я не жалуюсь совершенно, код-то на самом деле очень простой, но сама ситуация показательна.
no subject
ýòî îçíà÷àåò òîëüêî îäíî -- ëþäè, êîòîðûå çàïèõàëè âñå ýòî â íåäîXML íå ïîíèìàëè, çà÷åì îíè ýòî äåëàþò, íàâåðíîå ïðîñòî ðåøèëè ñäåëàòü ìîäíóþ âåùü. Ñóòü âåäü êàê ðàç â òîì, ÷òîáû èìåòü âîçìîæíîñòü îáðàáàòûâàòü äîêóìåíòû ðàçëè÷íûìè ñðåäñòâàìè è ñïîñîáàìè, à ýòî, ÿñíîå äåëî, âîçìîæíî òîëüêî ïðè ñîáëþäåíèè ñòàíäàðòà. À íåïîëíîãî ñîáëþäåíèÿ íå áûâàåò, êàê îñåòðèíû âòîðîé ñâåæåñòè. Ïî÷åìó íèêîãî íå óäèâëÿåò, ÷òî áèíàðíûå ñòàíäàðòû íàäî ñîáëþäàòü ñ òî÷íîñòüþ äî áèòà?
ìîäíûå âåùè
à áèíàðíûå ñòàíäàðòû ñîáëþäàþòñÿ, ïîòîìó ÷òî íåïîíÿòíî ÷òî â ôàéëå íàïèñàíî -- ëîìàòü áîÿçíî.
òå êòî ëîìàíûé HTML ïèøóò, äóìàþò ÷òî ïîíèìàþò -- õîòÿ è íå ïîíèìàþò íà ñàìîì äåëå.
ïîìíèòñÿ êàê îäèí èç ñîçäàòåëåé SGML î÷åíü óäèâëÿëñÿ, êàê ýòî òàê: îíè SGML âûäóìàëè, äóìàÿ ÷òî îí âñåãäà ãåíåðèòüñÿ ïðîãðàììàìè áóäåò, àí âîò òå íà -- íàðîä ðó÷êàìè òàãè ðèñóåò.
îòäåëüíûå ïðîãðàììû òîæå, âïðî÷åì, íå ëó÷øå.
no subject
no subject
Auto convert ?
Re: Auto convert ?
Re: Auto convert ?