【发布时间】:2020-07-26 10:24:51
【问题描述】:
我正在开发一个系统,该系统声明这是唯一允许的输入:
The following Unicode characters are allowed:
#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF
Any characters not included in this list will be rejected.
For more information, see the http://www.w3.org/TR/REC-xml/#charsets
我需要验证我的数据以符合上面给出的规范。
我开始编写代码来逐个字符地评估我的数据,然后我突然想到这可能与 XML 允许的数据完全相同。
所以我想,不如直接将数据推送到 XML 解析器中,如果没有无效令牌错误,那么验证就完成了。
所以我编写了一些代码,将我的数据插入到最小 XML 文档中的 CDATA 元素中,然后解析数据,这很好——它可以工作,没问题。
但我想知道,我实现了我的目标吗?通过 XML 解析器运行我的数据是否确保它符合上述规范?我相信是因为上面的“获取更多信息”链接似乎重申了定义的 unicode 字符是 XML 中允许的字符。
但我想我最好问一下,因为我仍然假设成功的 XML 解析意味着文档通过了验证规则。
【问题讨论】:
标签: xml validation