在XHTML 1.0中,在标记中使用xml:space属性是有效的,但在XHTML 1.1中它无效(使用相同的标记)。
我在文档中找不到它...任何人都可以确认吗?为什么删除它?它被其他东西取代了吗?
要验证的样本:
<script type="text/javascript" xml:space="preserve">
// <![CDATA[
alert('foo');
alert('bar');
// ]]>
</script>
答案 0 :(得分:2)
在XHTML 1.1中xml:space
根据http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod在所有元素上都有固定值preserve
,包括<script>
:
<!ATTLIST %script.qname;
xml:space ( preserve ) #FIXED 'preserve'
因此我不认为在xml:space="preserve"
元素上声明<script>
应该是错误的,我不知道为什么验证器会绊倒它。
然而,出于同样的原因,通过包含属性没有任何东西可以获得。我不确定你希望通过它实现什么......所有网络浏览器和一般XML工具的“默认空白处理模式”在任何情况下都会在<script>
中保留空白。