仅仅因为知道某些东西是 XML 格式并不意味着可以用一般 XML 语法分析器来理解输入。尝试将来自木星卫星的光谱数据塞进公司的记帐程序中也许是有趣的,但这会惹恼会计。这可能象剪切 Apache 配置文件并将它粘贴到图形程序中。公共的数据格式是了不起的,但语法标准不暗示所有程序能够理解所有数据。
XML 是差的人机界面
直到现在,我只讨论了程序间用于交谈的数据格式。除了前面部分中的告诫,对于大多数程序对程序数据格式需求,XML 应该是一个安全的赌注。程序、规范、初始化文件以及类似于人机之间的对话一类东西又怎样呢?在这一节中,我希望使您信服人们不一定必须编写和充分理解 XML。与许多提供优秀界面的现有标准专用语言相比,XML 大概离您能得到的自然人类语言还差得很远吧。
我的论点很简单:人类具有将结构应用到字符串(句子)的天生能力,所以,添加标记符号只能使我们阅读更困难,输入更吃力。问题是,在设计和对计算机语言进行语法分析方面,大多数程序员没有什么经验。与其把时间花在设计和分析人类友好的语言上,程序员倒不如使用最快的路径来提供规范语言和实现:“哦,用 XML。就这样吧。”并且那也不错,但我希望程序员认识到,当他们走那种捷径时,他们正在提供一种较差的界面。不相信我?在本文余下部分中,我将一对一地比较专门针对人类的语言和他们不自然的 XML 结构化的等价物。
让我们从一个简单的算术表达式开始。人类已使用至少有一千年的专用语法,与 XML 语言相比,哪个更易于读和写呢?
数学 XML 语法
3+4*5 <add>
<int>3</int>
<mult>
<int>4</int><int>5</int>
</mult>
</add>
的确,3+4*5 更容易读和写。人类已经精确地构建了专门的领域特定的语言,来有效地使用这些语言描述问题(注意,有大量专用编程语言,如 PostScript
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:什么时候不应该使用 XML(1) 下一篇:什么时候不应该使用 XML(3)
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】