1

在 XHTML 1.0 中,在标签中使用 xml:space 属性是有效的,但在 XHTML 1.1 中它是无效的(使用相同的标记)。

我在文档中找不到它...有人可以确认吗?为什么它被删除了?是不是被别的东西代替了?

验证样本:

<script type="text/javascript" xml:space="preserve">
    // <![CDATA[
    alert('foo');
    alert('bar');
    // ]]>
</script>
4

1 回答 1

3

根据http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod ,在 XHTML 1.1中,所有元素xml:space都有一个固定值,包括:preserve<script>

<!ATTLIST %script.qname;
    xml:space    ( preserve )             #FIXED 'preserve'

因此,我不认为xml:space="preserve"<script>元素上声明应该是一个错误,而且我不知道为什么验证器会绊倒它。

但是,出于同样的原因,包含该属性也没有任何好处。我不确定您希望通过它实现什么...所有 Web 浏览器和通用 XML 工具的“默认空白处理模式”<script>在任何情况下都将保留空白。

于 2009-12-29T16:23:53.563 回答