0

在 xml 架构中,我有以下元素

    <xs:whiteSpace value="collapse" />

我在 w3schools.com 看到的是

"whiteSpace 约束设置为"collapse",这意味着 XML 处理器将删除所有空白字符(换行符、制表符、空格、回车符被替换为空格,前导和尾随空格被删除,多个空格被减少到一个空格)”

我发现在针对模式的 xml 验证期间(通过使用 stylus studio 和 Visual Studio),如果该元素有多个空格或换行符等,那么验证不会给出错误。那么折叠是什么意思?它是告诉元素不应该有多个空格、制表符等(但在验证中没有出现错误)还是别的什么?

更新:那么这种折叠是否仅用于验证 xml?

xml 解析器在处理时强制删除这些空间?

如果 xml 有多个空格字符并且为该元素指定折叠,是否还有其他问题?

4

1 回答 1

2

您可以指定在执行其他验证之前应该对字符串进行规范化或折叠空格。例如,您可以指定 facet <xs:pattern value="\d{3}"/>,如果将空格设置为折叠,则该值" 999 "将有效,因为在针对该模式测试该值之前将删除空格。

于 2013-06-14T14:49:13.310 回答