Sky's blog

我和我追逐的梦

常用链接

统计

其他链接

友情链接

最新评论

你懂不懂xml! (2)

这个故事发生在上个笑话之后的几个月,由于cozy同志的离去,俺赶鸭子上架似的被委与重任,开发一个和CBOSS/BOSS相关的项目。

依然是使用xml做数据交换,有关那个xml规范制定的问题就不详细提了,总之一句话概括就是制定规范的同志,不知道在xml世界中有个东西叫xsd.

这个笑话没有上一个那么夸张,不过是直接发生在俺身上,感触深刻,终于明白当年cozy愤愤地叨唠“****都是笨蛋”的心情了。

问题发生在这个地方,在xml中,表示空元素的方式,恩,<name/>和<name></name>等同,这个相信大家都明白吧?那么这两个呢?

<name/>
    <name />

    注意第二个在"/>"之前有一个空格(space)。俺是习惯这样表示空元素的,另外我常用jdom来生成xml, 加空格也是jdom的做法。相信看这个文章的朋友都对此没有异议吧,如果有的话,呵呵,嘻嘻......

    问题就发生在这个空格上了,规范文档中给的示例内容都是没有空格的。于是n个人(注意,不是一个两个)对此表示异议,提醒/警告/训斥俺:“你这个和规范不符”。有甚者,非常严厉的告诫俺:“你要为因此可能带来的问题负责任”。

    需要强调的是,当时对于<name />是否符合规范的争执,是基于xml的语法即<name />是否能正确的表示空元素,而不是基于书写的习惯要求将<name/>, <name></name>和<name />统一,所以才有“懂不懂xml”的说法。

    郁闷了,"<name/>"写成"<name />"会带来xml解析的问题,那家的xml解析方式如此强悍?而且责任还要俺承担,无语......
    
    这年头,都是些什么人在用xml?

    ps: 总结一下吧,写这两个事情,主要是有感于目前我接触到的xml使用情况, 可以说是鱼龙混杂。xml是个好东西,可是也要使用得当啊。连基本知识都欠缺就敢在工程上使用或者做项目开发,未免牵强了一点。

posted on 2006-07-25 10:01 sky ao 阅读(1341) 评论(6)  编辑  收藏 所属分类: xml

评论

# re: 你懂不懂xml! (2) 2006-07-25 11:45 dustintang

都是笨蛋?你就是这么称谓自己同事?你不过也就是个屁大的小程序员而已.

适应团队规范和默认习惯(书面的和非书面的)也是优秀程序员的素质之一.  回复  更多评论   

# re: 你懂不懂xml! (2) 2006-07-25 12:08 飘然

呵呵,"<name/>"和"<name />"是属于“团队规范和默认习惯(书面的和非书面的)”的范畴, 但是请注意,这里讨论的不是"<name/>"和"<name />"两种表示方法的习惯问题,而是很严肃的xml内容解析。不喜欢"<name />"而喜欢"<name/>"是个人爱好,怎么样都行。但是解析"<name />"会出错误还属于“团队规范和默认习惯”吗?

还有,我和他们不是一个团队,更不是同事,看清楚。

既然说起优秀程序员,我想优秀程序员不会没看懂就内容就随意发表攻击性的言论,那个字原样奉还。  回复  更多评论   

# re: 你懂不懂xml! (2) 2006-07-25 12:58 abc

加不加空格的确属于个人习惯和爱好,没必要干涉。
但是,无论是哪个团队,符合规范是最重要的,给用户开发的东西必须符合用户的规范,多一个空格就是不可原谅的错误。
从技术或xml解析软件的角度说也许不是问题,但从管理的角度讲就是问题。  回复  更多评论   

# re: 你懂不懂xml! (2) 2006-07-25 14:29 飘然

看了我没有说清楚一个东西,这里说的“规范”,只规范了xml内容的格式,比如name元素出现的位置,出现的次数,对于是否加空格这样的东西是没有任何要求的。只是在他给的xml示例里面绝大多格式是用类似<name></name>和少量<name/>,没有使用<name />这种空元素表示方式而已。

再次强调的是,当时对于<name />是否符合规范的争执,是基于xml的语法,而不是书写的习惯,所以才有“懂不懂xml”的说法。  回复  更多评论   

# re: 你懂不懂xml! (2) 2006-07-25 19:59 般若菩提

实际上一般象这种name节点,字符串形,同时,不会发生扩展情况下多用属性表达更为稳妥  回复  更多评论   

# re: 你懂不懂xml! (2) 2006-07-25 20:12 飘然

@般若菩提

这个说起来就更让人郁闷了,非常夸张的一个协议,我不知道制订他的人是出于哪方面的考虑,呵呵,这个xml交互协议中,没有用过一个属性。注意是整个协议,数与百计的数据交换格式,所有的xml内容中,没有出现一个attribute,一个都没有。

  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: