pconlin是我见到过的非intranet的大网站中最依赖于
xml data island的一个。一般来说一个大网站在选择建站技术的时候都不会选择一种专有技术,尤其比较底层的技术更是如此。看得出来,pconline在Firefox出现以后做了一些工作,使得他们的网页能在Firefox中正常显示,比如通过放弃使用overflow-x/overflow-y来解决文字重叠的问题。但是,要想从根本上放弃xml data island就没有这么简单了。
pconline最依赖于xml data island的地方是他们的下载版块,在Firefox中只能出来一些无内容的框架。但相对来说,这一部分修改的难度不大。如果想先对付一下,可以参照
mozilla.org上的这篇文档,通过css/style隐藏xml数据块,然后用DOM来访问数据内容。这样改修改量很小,要注意的问题就是要使用W3C DOM,"text"属性对应的W3C属性名是"textContent",selectSingleNode这个微软函数可以通过XPath中的evaluate函数来模拟。
Madfox就是这样通过XBL技术实现了对这部分网页的支持,具体的方法可以参见Madfox的代码。
另外一部分是网友评论,这部分的影响不是很大,了不起不看评论了,主要内容还是看得见的。但是这部分想要让Firefox看到反而不太容易,因为这里使用了xml data island中的
data binding技术。使用这个技术,就不仅仅是数据访问的问题,连html中一些tag的结构和渲染行为都发生了变化。我觉得比较好的修改方式是采用server端的技术对这段xml data进行预先处理,生成html片断后填写到网页中。或者干脆使用XSLT或者XHTML,当然,这样的修改相对就比较大了。
xml data island是一个没有前途的技术,这种将不同markup language不加区别的混合的丑陋设计注定了它不会成为一个标准而被广泛支持。污染名字空间,增加xml解释器的复杂度,这些都使得它与各种被广泛使用的xml技术格格不入。相信微软自己也不会在互联网应用方面对这个技术再做更多的改进,被彻底淘汰只是时间问题。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=244875