RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论
当前位置 :| 首页>编程技术>xml技术>

标记语言巨星访谈录

来源: 作者:unkonwn 时间:2005-09-06 点击:

标记语言巨星访谈录--与James Clark同步

与James Clark 同步

-- 标记语言巨星访谈录

原作:Uche Ogbuji, Fourthought, Inc 首席顾问 日期:2002.7.17
翻译:onestab
James Clark在标记语言(markup languange)的领域里可能是最有成就的开发者。在他不平凡的SGML和XML生涯里,曾经参与标准的制订,就标记语言与传统代码的关系提出了非常重要的看法,更重要的是,他写了许多程序,这些程序促进了XML(以及从前的SGML)从抽象的设想世界到广为流行的转变。在本文中,Uche Ogbuji采访了James Clark,集中讨论了XML的实用开发以及现状和未来。作者同时也就这些话题发表了自己的见解。

2001年12月, James Clark被XML 2001大会委员会授予首座XML奖杯,这是为了表彰他对XML团体所做出的许多突出贡献,没有人对他的获奖资格表示质疑。如果你曾经使用标记语言作过什么事情的话,你可能已经使用过James Clark写的代码:

  • Jade, Clark的DSSSL处理器(相当于SGML的XSLT之类),受益于Linux Documentation Project的Linux用户使用它。
  • Clark的sgmls是世界上最广泛使用的SGML解析器。
  • expat或XT(解析器和XSLT处理器)为许多开发者采用。事实上,由于在Python, Perl和Apache项目中被普遍采用, expat是使用最广泛的XML解析器之一。

值得注意的是,所有这些都是开放源代码的,而且在开放源码开始风行之前就这么做了。

Clark的获奖也是出于他最近所做出的贡献。2001年,他创立了TREX, 一种XML schema的替代语言,与RELAX语言结合后形成了RELAX NG。尽管有来自W3C官方的schema定义语言的竞争,RELAX NG仍然极为流行。

为表达他对XML前途的关注,获奖之后Clark就XML面临的5个技术上的挑战发表了演讲。在他的演讲里,突出谈到了困扰着许多开发者的技术问题,对可能会在发展之路上造成障碍的某些做法提出了警告。

这里就是Clark提出的XML面临的5个挑战:

  • 要进步,还要保持XML的简洁(Make progress yet keep XML simple) XML的强大在于其简洁性所带来的多样性。这种强大特性定建立过程中有个危险的误区,就是在核心内加入许多的特殊功能,而不是放在分开的、高级的层面上。
  • 不要忽视XML的基础(Don"t neglect the foundations of XML 如今XML变得如此重要,人们应回到基本的出发点,巩固XML的基础。最好清理一下会导致不必要的复杂性的历史遗留问题(例如某些很少用到的SGML特性)。另外,重要的说明比如Infoset(XML文档内信息节点的正规模型)应当建立在基础层面上。
  • 控制处理管道(Control the processing pipeline) XML的标准化中所忽视的一个重要方面,就是应有一个定义完好(well-defined)的机制,对操作XML文档的处理管道(pipeline of processing)做出描述。由于现有的处理工具和方法多种多样,这一点显得尤为重要。
  • 改进XML的处理模式(Improve XML processing models) 目前,开发人员通常都受困于DOM的效率低下和SAX的陌生感觉。需要有能够综合两者之长处的API。
  • 避免不成熟的标准化(Avoid premature standardization) XML的成功使人们急于试图把所有与之相关的技术标准固定下来。为了不对以后的进步造成伤害,在标准确立之前,其中许多技术要经过更多的斟酌和实践。

本文基于我就这些技术挑战对James Clark的访谈。其中有问有答,有时还有我本人的解释和分析,读者一定对XML相当熟悉,对XML的各种处理技术应该也不会感到陌生。

基础问题:XML的核心

问:就像你在讲话中所建议的,你认为在“从背后给他一刀”之前,我们应从SGML学到哪些东西?
答:最重要的东西就是底层应当只关心句法,在语义上保持中立。
XML经常给开发人员留下这样的错误印象:它能自动为其结构化的信息提供意义,这就经常诱使人们把这种智能建在XML的底层。Clark提倡最底层应当只与句法打交道:一个处理器应当如何像其它处理器一样,对一个XML文档做出相同的理解,而更加智能化的特性应放在这层的上面层次内。
问:你对开发当中的XML1.1工作草案中提到的某些东西是怎么看的?
答:我认为字符实体(character entity)是个不大却倍受瞩目的问题,如果愿意的话是可以解决的。W3C XML Schema 的那些人(我和他们的看法经常有分歧)也想看到这个问题得到解决。

XML对字符的表达和处理很复杂,这令开发人员感到有些意外和无奈,并在XML团体中引起了无休止的争论。针对这个问题的专用工具,比如Simon St. Laurent的 Gorille,突出了它的重要性。关于在XML的1.1版中应增加或修正哪些内容,一直有许多议论,因为实际上在最新的XML Blueberry 草案中才刚开始对这点做出说明。

问:Tim Bray 已经把 XML-SW(XML Skunkworks)作为非官方草案予以公布。这似乎与你对XML1.1的建议不谋而合。你对这个计划有什么
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?