【发布时间】:2012-05-22 16:39:40
【问题描述】:
使用 xmlreader 验证 xml 始终是区分大小写的,是否可以进行不区分大小写的验证?即,如果架构中的元素名称为“FirstName”,则应验证名称为“Firstname”的 xml。
【问题讨论】:
-
XML 在设计上是区分大小写的。正如this link 所述,您可以在验证之前根据需要运行 XSLT 来转换元素大小写。
使用 xmlreader 验证 xml 始终是区分大小写的,是否可以进行不区分大小写的验证?即,如果架构中的元素名称为“FirstName”,则应验证名称为“Firstname”的 xml。
【问题讨论】:
Xml 是区分大小写的语言,所以它不会是真正的 XML 验证...
最简单的方法是将所有文本读取为文本,转换为大写,然后将结果字符串作为 XML 加载。
另一种选择是实现您自己的基于TextReader 的类(包装基本TextReader)并将所有字母大写。对于大型 XML 文档会更好。
【讨论】:
您可能已经注意到,XML 区分大小写。因此,使验证不区分大小写的一种方法是使模式不区分大小写。在架构中,尝试使用具有以下内容的模式,而不是 FirstName:[Ff][Ii][Rr][Ss][Tt][Nn][Aa][Mm][Ee]。
【讨论】: