使用工具是开发 XML 时必须的。高级功能开发尤其是这样。作为开发工具的领先的 XML spy 相信是很多开发 XML 的人员的首选。
最近想做一个 XML + XSLT => KML 的一个小程序,所以又有机会再度体验了一下 XML spy。
思路是使用 yahoo 的天气预报数据作为数据来源( XML 封装),目的是提供给 Google earth 需要使用的数据(XML 结构的 KML 文件)。
以前一直使用的是 DOM 来拆解 XML 数据,现在需要自己做一个 XSLT 了。这样可以方便后续的开发,解释逻辑和分发机制可以分离开了。但是期间遇到了不少的问题。
头一个就是 XPath 如何编写。这个工具真是方便,提供了 选取保存 的方法。选择节点之后用鼠标右键点击后会看到 "Copy XPath" 选项。(有工具就是好啊!)
而后遇到名域空间的问题。直接使用 XPath 并不能取出有名域空间的节点的值。最后在对比了工具自带的 例程 (Project Examples) 里面的几个 XSL 之后发现 XSL 里面需要声明需要用到的名域空间。(问题出在没有理解名域空间的实现细节)
经过这次的摸索之后收获到的是:
DTD or XSD 是相当重要的资源,很多数据提供者并不提供这些资料,也许他们根本就不愿意。要不然可以使用 Altova 的其它开发工具 Altova StyleVision (Altova 确实厉害)。当然自己做也有好处,那就是可以更加深入的理解细节。
附上用到的数据源吧,yahoo 的天气预报数据 RSS 形式。
! 以后再详细讨论数据源那边的细节
houy25
2006-09-24