以前参与某标准工作组的工作时,XML标签使用中文还是英文是一个经常的话题和争论焦点。从实现角度来看待这个问题,会倾向于使用英文(我个人一直这样坚持)。虽然XML标准要求解析器实现必须支持Unicode,但是不能完全做到支持甚至完全不支持中文XML标签的实现到处都是。如果你的XML文档的目标用户是全球的,那么标签使用ASCII字符是最保险的方式。
强烈要求使用中文的理由一般来说有以下几个:
我认为这些林林总总的理由并不充分。考虑易读性时,标签使用中文还是英文影响并不是很大。只要XML内容(标签内容,属性内容,注释等等)为本地化语言(应该这样),就可以基本保证XML文档的可读性。以可读性的一点小折扣来换取实现上的保证,是完全可以接受的。使用中文标签,也并不意味着自主产权,因为市面上简单翻译一下国个现有成果便洋为中用的例子并不少。最后,我对国内厂家在中文处理上的竞争优势也表示怀疑(我们甚至没有能拿得出手的成熟的XML解析器;某新闻机构在内部使用XML作为稿件格式,因为该格式使用中文标签,在实施中遇到许多困难)。
从技术角度来讲,Effective XML: 50 Specific Ways to Improve Your XML一书的Item 2 Mark Up with ASCII if Possible和Item 38 Write in Unicode很好地讨论了这个问题。我深切地同意作者以下两种观点:
当然,任何事物都不是绝对的。如果你的应用限于小范围、或是应用于完全的中文环境,且手头又有一个支持度很高的解析器(还要保证客户环境也能达到这些要求),那么使用中文标签也是可行的。一些朋友确实喜欢读完全汉化的XML文档,如果能做到,又何乐而不为呢:)
本文地址:http://com.8s8s.com/it/it44235.htm