在我的工作中,我们有自己的XML类来构建DOM,但是我不确定应该如何处理连续的空格?

例如 通用标签

将其读入DOM时,文本节点应该在Hello和World之间包含连续的空格还是将其缩小为一个空格?

或者应该这样编写XML源: 通用标签

或,如果不是 比可能 ?

有帮助吗?

解决方案

 是HTML实体,与XML本身无关。

不过,为回答您的问题,我认为这很重要。甚至HTML DOM都将连续的空格视为重要的,只是它仅在视觉上呈现一个空格。它在DOM中的显示方式和在屏幕上的显示方式是完全不同的两件事。

其他提示

听到人们在不考虑XML规范的情况下实现XML处理器有点令人不安。

来自 XML 1.0规范,第2.10节“空白处理”” (重点是我的):

在编辑XML文档时,通常 方便使用“空白” (空格,制表符和空白行)进行设置 分开加价以获得更大的收益 可读性。这样的空白是 通常不打算包含 在提供的版本中 文件。另一方面, 应该“大”的空白 保留在交付的版本中 很常见,例如在诗歌和 源代码。

XML处理器必须始终传递所有 文档中不包含的字符 标记到应用程序。 验证XML处理器也必须 告知应用程序其中哪些 字符构成空白 出现在元素内容中。

名为xml:space的特殊属性 可以附加到元素上 表示意图 元素,空格应为 由应用程序保留。有效期 文件,这个属性,像任何 其他,如果使用,则必须声明。 声明后,必须以 枚举类型,其值为1 或“默认”和“保留”两者。 例如:...

编辑:标记内的空格被认为是重要的(我最初的想法是像HTML那样是错误的;首先是Google,请稍后再回答问题!)请参见此说明

IMO在这种情况下,将空白视为重要很自然。我希望DOM节点的值等于标记中使用的值。

如果您“拥有我们自己的XML类”,而无论编写它们的人都不知道该问题的答案,那么您可能还会遇到很多很多尚未发现的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top