Почему в XHTML были теги PCDATA внутри тегов script и style?
Прежде всего, позвольте мне сказать, что я знаю, что XHTML больше не вещь. Однако этот вопрос на самом деле касается истории Интернета. Вернее, как именно эта вещь смогла стать частью ее истории.
Я ответил на этот вопрос и позже, увидев, что он был закрыт как дубликат этого, я тоже прочитал ответы там. Упоминание о проблемах, которые это вызвало в XHTML, заинтересовало меня, и я также начал задаваться вопросом, где (если это вообще возможно) определения разрешают html-комментарии. Я обнаружил, что каждая версия CSS явно допускает теги html-комментариев в своем определении. Во-первых, это должно означать, что должна быть возможность добавлять к ним внешние таблицы стилей без каких-либо проблем. Я также обнаружил, что действительно XHTML 1.0 сделал содержимое style
а также script
-tags PCDATA
скорее, чем CDATA
, Я также изучил последствия этих вещей.
Теперь я не понимаю, как это могло произойти. Я не вижу никаких преимуществ в этом изменении, но вижу много недостатков:
Из-за этого техника комментирования, используемая в скриптах и таблицах стилей, вообще не читала скрипт / таблицу стилей. Это правда, что эта техника была устаревшей даже тогда, но все еще кажется немного чрезвычайной, чтобы сломать это как это.
Это вызвало всевозможные проблемы практически с любым встроенным JavaScript, как
<
а также&
являются двумя обычно используемыми символами в языке и обычно означают, что синтаксический анализатор xml потерпит неудачу.Даже при попытке решить, чтобы решить 2 с наилучшим кодом (
//<![CDATA[
а также//]]>
) вы все еще столкнетесь с проблемами с некоторым кодом (код, который, как оказалось,]]>
после этого<
или же&
)
Держу пари, что в этом должно быть что-то позитивное, что я пропустил, иначе это не соответствовало бы стандарту XHTML. Или может случиться что-то странное, о чем я не думал? Другими словами: как это закончилось в стандарте XHTML несмотря на все его проблемы?
1 ответ
Проще говоря, это требуется правилами синтаксического анализа XML. В то время как HTML имеет различные правила синтаксического анализа для разных элементов и, следовательно, подходит только для словаря HTML, XML имеет согласованную систему, которую можно использовать для любого словаря, из которых XHTML - только один. Стоимость данных символов не может быть разрешена <
или же &
символы в любом элементе.