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

Auto convert ?

Date: 2001-06-14 02:42 pm (UTC)
From: [identity profile] dmierkin.livejournal.com
Áûâàåò òàê: ïèøåøü ïðîãðàììó, ñáðàñûâàåøü äàííûå â ôàéë à ñëåäóÿùàÿ âåðñèÿ äàííûå óæå íå ÷èòàåò. Òîãäà ïèøåøü êîíâåðòîð âåðñèé. Åñëè browser ñåãîäíÿ ÷èòàåò HTML òî îí åãî è â XHTML ïåðåâåäåò. Èëè íåò ?

Re: Auto convert ?

Date: 2001-06-14 02:47 pm (UTC)
From: [identity profile] avva.livejournal.com
Íå, íå ñìîæåò. XHTML íàìíîãî ñòðîæå HTML'ÿ; â ïëîõî ñîñòàâëåííîì HTML'å êó÷è íóæíîé ñòðóêòóðíîé èíôîðìàöèè ïðîñòî íåò. Åñëè òàã íå çàêðûò - ÷åðò åãî çíàåò, ãäå îí "ïî èäåå" äîëæåí çàêðûâàòüñÿ. Êàæäûé áðàóçåð ìîæåò ïîïðîáîâàòü óãàäàòü, íî óãàäàþò-òî îíè ïî-ðàçíîìó, îòñþäà è ìíîæåñòâî ïðîáëåì ñ ðàçíûìè ðåçóëüòàòàìè íà ðàçíûõ áðàóçåðàõ. Èëè ñ íåñòèíãîì íåïðàâèëüíîì òîæå âîîáùå íåÿñíî êàê ðàçáèðàòüñÿ. Íåò, äóìàþ, ÷òî òàêîé àâòîìàòè÷åñêèé ïåðåâîä íåðåàëüíî îáåñïå÷èòü.

Re: Auto convert ?

Date: 2001-06-14 03:12 pm (UTC)
From: [identity profile] dmierkin.livejournal.com
Àãà. Òî åñòü íà ñàìîì äåëå ìîæíî ñêàçàòü ÷òî åñòü HTML ñòàíäàðò êîãî-íèáóäü áðîóçåðà ? Òîãäà áåðåì çà îñíîâó ñàìûé ïîïóëÿðíûé, ñêàæåì IE, â íåì òî âåäü âñå (íó èëè ïî÷òè âñå) ñàéòû âèäíû íîðìàëüíî, è äåëàåì auto convert ÷åðåç íåãî. Ýòî âåäü, ñêîðåå âñåãî, âîçìîæíî. È êàê ÿ ïîíèìàþ äîñòàòî÷íî õîðîøî. Êñòàòè, åñëè IWebBrowser äàåò âîçìîæíîñòü Save To XHTML òî ýòî ìîæíî áûñòðî ïðîâåðèòü.

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