尽量避免使用中文XML标签

xml|中文

以前参与某标准工作组的工作时,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很好地讨论了这个问题。我深切地同意作者以下两种观点:

ASCII is still the best choice for markup (that is, element names, attribute names, and so on), especially markup that needs to be shared among many different developers with many cultures and languages. The simple fact is that English and ASCII are the lowest common denominator for technical communication around the world.
However, the situation is very different for content; that is, for PCDATA and attribute values. Here, the text must be highly localized.
当然,任何事物都不是绝对的。如果你的应用限于小范围、或是应用于完全的中文环境,且手头又有一个支持度很高的解析器(还要保证客户环境也能达到这些要求),那么使用中文标签也是可行的。一些朋友确实喜欢读完全汉化的XML文档,如果能做到,又何乐而不为呢:)

时间: 2024-08-02 07:19:49

尽量避免使用中文XML标签的相关文章

JSTL标签库:XML标签库

JSTL提供了操作xml文件的标签库,使用xml标签库可以省去使用Dom和SAX标签库的繁琐,能轻松的读取xml文件的内容. 1 XML核心标签库 1.<x:parse>标签 <x:parse/>标签用来解析指定的xml文件. [语法1]: <x:parse doc="xmlDocument" {var="name"[scope="page|request|session|application"]|varDom=&

php操作xml入门之xml基本介绍及xml标签元素

 以xml实例来讲解: 代码如下: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <class> <student> <name>小乔</name> <sex>女</sex> <age>23</age> </student> <student> <

java项目中web.xml标签问题

问题描述 java项目中web.xml标签问题 org.xml.sax.SAXParseException: The element type "web-app" must be terminated by the matching end-tag "". 所示,我这个项目全搜了一下就web.xml中使用了上面的标签,而且开始标签和结束标签都有,实在不明白为什么还会报这个错,项目也已经clean好几遍了,都没啥作用.请各位指点指点 解决方案 JAVA web 项目中

微信支付-Nodejs如何发送中文xml的post请求

问题描述 Nodejs如何发送中文xml的post请求 最近在接微信支付的sdk.需要向微信服务器post一个xml,xml中如果不带中文的话微信那边是可以正确识别的.但是如果带了中文微信那边就报xml格式错误. 发送的xml: <xml> <appid><![CDATA[wx6e7c4258200000000]]></appid> <attach><![CDATA[test]]></attach> <body>

thinkphp-php中xml标签内的时间戳如何改为ymd形式

问题描述 php中xml标签内的时间戳如何改为ymd形式 如图 thinkPHP的 html中使用这个xml 其中有一项时间 re_time 但数据库中的是时间戳的形式 结果显示出来也是时间戳的 这里如何改 能显示出年月日的形式 <div class="blank5"></div> <html:list id="dataTable" style="dataTable" name="user" ch

怎么用jquery获取servlet中xml标签中的文本内容,

问题描述 怎么用jquery获取servlet中xml标签中的文本内容, // person.find("name").text; 这句话帮忙看下为什么返回不了文本内容? function but() { $.ajax({ type : "GET", url : "/AJAX/CServlet", dataType : "xml", success : function(data) { $(data).find("p

java jaxb-JAXB如何映射对象的某个属性为XML标签的值:

问题描述 JAXB如何映射对象的某个属性为XML标签的值: 有对象class A{ String p1="xxx"; String p2="yyy"} 期望映射为Xml:yyy应怎样写注解? 解决方案 http://codego.net/487355/

php操作xml入门之xml标签的属性分析_php技巧

本文实例讲述了php操作xml入门之xml标签的属性.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <class>  <student id="No001" haha="美女">   <name>小乔</name>   &

php操作xml入门之xml基本介绍及xml标签元素_php技巧

本文实例讲述了php操作xml入门之xml基本介绍及xml标签元素.分享给大家供大家参考.具体分析如下: 以xml实例来讲解: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <class>  <student>   <name>小乔</name>   <sex>女</sex>