Lui*_*ixv 8 xml xsd case-sensitive
据我所知,XML元素类型名称以及属性名称区分大小写.
有没有办法或任何技巧来获得不区分大小写的元素?
澄清:已经通过XSD定义了语法,该语法用于某些客户端上传数据.用户 - 内容生成器 - 使用不同的工具创建XML文件,但其中许多使用纯文本编辑器或其他任何工具.有时当这些人试图上传他们的文件时,会出现不兼容错误.混合lowerCase和upperCase标签是一个常见的错误,尽管标签总是很敏感.
我可以访问定义此语法的XSD文件,我可以更改它.问题是如何避免这种容易出错的大/小写标签问题.
任何的想法?
提前致谢!
如果我正确理解您的问题,则只能在创建和第三方解析工具上传之间纠正案例错误.
即XML文件>解析XSD并更正>上传已批准
您可以在运行时通过为客户端开发容器应用程序来创建XML文件来执行此操作.或者,您可以在服务器端编写一个应用程序来获取上载的文件并检查语法.无论哪种方式,你将不得不做出决定,然后做一些工作!
很大程度上取决于问题的规模.如果您在XSD中的不同情况下有相似的标签,但是您正在接收,那么您需要一个基于节点计数等的复杂解决方案.
如果您完全坚持使用针对仅包含小写标签的XSD的随机案例,那么您应该能够解析文件并将所有标签一次性转换为小写.这假设标签之间的内容是多个案例,您不能只转换整个文档.
你如何做到这一点取决于你的情况的机制.显然,让客户错误检查他们自己的提交会更容易.如果这不实用,那么您需要在流程中确定一个机会窗口,这样您就可以在遇到错误之前将文件转换为正确的格式.
这里有很多方法可以讨论这个问题.它主要取决于您可以使用的技能组合或财务.
XML 通常是机器生成的。因此,这里的宽度情况应该没有真正的问题<RANdOm />
。
如果真正的问题是两个不同的系统生成两种不同类型的标签(<Widget />
vs. <widget />
),我想您可以简单地在 XSD 中定义这两种情况。