XHTML 1.1 и атрибут xml:space для тега script
В XHTML 1.0 использование атрибута xml:space в теге допустимо, но в XHTML 1.1 оно недопустимо (с использованием той же разметки).
Я не могу найти это в документах... кто-нибудь может это подтвердить? Почему это было удалено? Было ли это заменено чем-то другим?
Образец для проверки:
<script type="text/javascript" xml:space="preserve">
// <![CDATA[
alert('foo');
alert('bar');
// ]]>
</script>
1 ответ
В XHTML 1.1 xml:space
имеет фиксированное значение preserve
на все элементы, в том числе <script>
в соответствии с http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod:
<!ATTLIST %script.qname;
xml:space ( preserve ) #FIXED 'preserve'
как таковой, я не верю, что это должно быть ошибкой, чтобы объявить xml:space="preserve"
на <script>
элемент, и я не знаю, почему валидатор срабатывает на него.
Тем не менее, по тому же признаку, ничего нельзя получить, включив атрибут. Я не уверен, чего вы надеетесь достичь этим... "режим обработки пробелов по умолчанию" всех веб-браузеров и общих инструментов XML сохранит пробелы в <script>
в любом случае.