xml:space="preserve" 对 space 之间 XML 属性的影响?

xml:space="preserve" effect on space between XML attributes?

我知道

<a xml:space="preserve">
<b></b>
</a>

不同于

<a xml:space="preserve">
<b>  </b>
</a>

但是,

<a xml:space="preserve">
<b c='c'></b>
<c   />
</a>

<a xml:space="preserve">
<b     c='c'></b>
<c />
</a>

我找不到关于 xml:space="preserve" 如何影响这些案例的文档。

xml:space="preserve" directive says that space within element content意义重大。1

它不影响 whitespace within start tags,这仅在需要它的存在以将属性与自身和元素名称分开时才有意义:

[40] STag ::= '<' Name (S Attribute)* S? '>'

请注意 S production 需要 一个空白字符并且 允许 多个:

[3] S ::= (#x20 | #x9 | #xD | #xA)+

1 默认值(也是唯一允许的设置),xml:space="default",允许缩进( XML 的漂亮印刷)而没有改变意义。