本人正在研究XMLSpy的二次开发,首先简单地说一下XMLSpy,XMLSpy是符合行业标准的XML开发环境,专门用于设计,编辑和调试企业级的应用程序,包括XML,XML Schema,XSL/XSLT,SOAP,WSDL和互联网服务技术。 其实XMLSpy的功能已经做的很强大了,那么为什么还要进行二次开发呢,这个可能因人而异,不同的人有不同的需求,我做这件事是为了通过研究已有的功能以及新增的功能,将这种研究思路或方法及功能应用到自己的东西中,或者仿照这个做出类似的工具。如果有研究这方面的朋友,大家可以一起交流一下哈。
下面简单地介绍一下目前做过的工作。主要参考XMLSpy的用户手册。
1.软件二次开发
1.1软件二次开发定义
所谓软件二次开发是对已有软件产品的功能进行扩充或根据特殊需要组合扩展功能等。
一般支持软件二次开发的原软件系统都提供相应的SDK(Software develop kit)。二次开发人员可以根据SDK中提供的公开的API(应用程序接口)来访问软件原有的一些基本功能,并根据这些基本功能组合,扩展进而形成更加专业或新的功能以完成用户特殊的需求。
2. Application API
XMLSpy中基于COM组件的API,可以使其它的应用程序使用XMLSpy的功能,同时可以在内置的脚本编辑器中使用Application API编写脚本,也可以在IDE Plugins中使用。
XMLSpy和它的Application API遵循由微软制定的公共规范,因此可以从一些开发环境中访问它的属性和方法,比如使用C,C++,Delphi及脚本语言。
2.1 对象模型
图1-1 主要对象模型及其关系
2.2 接口