Altova XMLSpy 2024 Professional Edition

与应用程序层面的集成相比,文档层面的集成更复杂,但提供了更多的灵活性,可以通过ActiveX控件将XMLSpy的功能嵌入到您的应用程序中。在使用这种方式时,您可以选择性地访问XMLSpy用户界面的以下部分:

 

文档编辑窗口

项目窗口

输入助手窗口

验证输出窗口

XPath分析器窗口

XPath对话窗口

XSLT/XQuery调试器窗口

 

正如应用程序层面的集成部分所述,对于应用程序层面的ActiveX集成,仅需要一个控件,即XMLSpyControl。然而,对于文档层面的ActiveX集成,XMLSpy的功能由以下ActiveX控件提供:

 

XMLSpyControl

XMLSpyControl Document

XMLSpyControl Placeholder

 

这些控件都是由XMLSpyControl.ocx文件提供的,您可以在XMLSpy的应用安装文件夹中找到它们。当您使用Visual Studio开发ActiveX集成时,您将需要将这些控件添加到Visual Studio工具箱中(参见将ActiveX控件添加到工具箱)。

 

要在文档层面将ActiveX控件集成到您的应用程序中,请按以下步骤进行操作:

 

1.首先,在您的应用程序中实例化XMLSpyControl。将该控件实例化是必需的;它将启用对上述的XMLSpyControl Document和XMLSpyControl Placeholder的支持。将IntegrationLevel属性设为ICActiveXIntegrationOnDocumentLevel(或“1”)。要对用户隐藏控件,可以将其Visible属性设为False。提示:在进行文档层面的集成时,请不要使用XMLSpyControl的Open方法;这可能会导致一些非预期的结果。取而代之的是可以使用XMLSpyControl Document和XMLSpyControl PlaceHolder相应的open方法。

 

2.在您的应用程序中至少创建一个XMLSpyControl Document的实例。此控件将在您的应用程序中提供XMLSpy的文档编辑窗口,并且可以根据需要多次进行实例化。要加载任何现有的文件,请使用Open方法。要调用文档相关的功能,请使用Path和Save,或通过Document属性可调用的方法和属性。提示:此控件不支持只读模式。ReadOnly属性的值将被忽略。

 

3.在您的应用程序中为每个所需的附加的窗口(而不是文档窗口)添加一个XMLSpyControl Placeholder控件。(此步骤是可选的)XMLSpyControl PlaceHolder的实例允许您有选择性地在您的应用程序中嵌入XMLSpy的附加窗口。窗口的类型(例如,项目窗口)是由PlaceholderWindowID属性定义的。因此,要设置窗口的类型,请对PlaceholderWindowID属性进行设置。有关有效的窗口标识符的信息,请参见XMLSpyControlPlaceholderWindow。提示:对于每个窗口标识符,请仅使用一个XMLSpyControl PlaceHolder。

 

对于选择XMLSpy项目窗口的占位符控件,可以使用附加的方法。OpenProject可用于加载一个XMLSpy项目。使用Project属性和XMLSpy自动化接口的方法和属性,可执行其他任何项目相关的操作。

 

有关如何用Visual Studio在C#或VB.NET中创建一个简单的,由单个窗体组成的应用程序,并可在文档层面集成XMLSpy ActiveX控件的步骤,请参见下面的说明。然而,下面的说明旨在向您展示完成一个文档层面的ActiveX集成的最低要求是什么。

 

1.创建一个“Visual Studio Windows Forms”项目,带有一个新的空窗体。

2.如果您还未执行这一步,请将ActiveX控件添加到工具箱中(参见将ActiveX控件添加到工具箱)。

3.XMLSpyControl从工具箱拖到您的新窗体中。

4.XMLSpyControl的IntegrationLevel属性设为ICActiveXIntegrationOnDocumentLevel,Visible属性设为False。您可以在代码中或在属性窗口中执行该步骤。

5.XMLSpyControl Document从工具箱拖到该窗体中。此控件将在您的应用程序中提供XMLSpy的主文档窗口,因此您可能需要将其大小调整为适合编辑文档的大小。

6.对于您的应用程序所需的每个附加的窗口(例如,项目窗口),在该窗体中添加一个或多个XMLSpyControl Placeholder(此步骤是可选的)。通常,您会将这类附加的占位符控件放在主文档控件的下方、右侧或左侧,例如:

ax_control_windows

7.将每个XMLSpyControl Placeholder控件的PlaceholderWindowID属性设为一个有效的窗口标识符。有关有效值的列表,请参见XMLSpyControlPlaceholderWindow

8.在您的应用程序中添加命令(至少您需要打开、保存和关闭文档这些命令),如下所示。

 

查询XMLSpy命令

当您进行文档层面的集成时,您的应用程序中没有可用的XMLSpy的菜单或工具栏。您可以检索所需的命令、查询它们的状态并以编程的方式执行它们,如下:

 

要检索所有可用的命令,使用XMLSpyControlCommandsList属性。

要检索主菜单中的命令,使用MainMenu属性。

要检索工具栏中的命令,使用Toolbars属性。

要向XMLSpy发送命令,使用Exec方法。

要查询一个命令目前是启用状态,还是禁用状态,使用QueryStatus方法。

 

这可以帮助您灵活地将XMLSpy命令集成到您应用程序的菜单和工具栏中。

 

在您安装XMLSpy时,会提供XMLSpy中使用的命令标签图像。要查看GIF格式的图标,请转至您的XMLSpy安装的<ApplicationFolder>\Examples\ActiveX\Images文件夹。文件名与命令相对应,正如它们在命令参考部分中列出的一样。

 

常规注意事项

要自动化XMLSpy的行为,可以使用上述的XMLSpyControlXMLSpyControl DocumentXMLSpyControl Placeholder的属性、方法和事件。  

 

要调用更复杂的XMLSpy功能,请考虑使用以下属性:

 

XMLSpyControl.Application

XMLSpyControlDocument.Document

XMLSpyControlPlaceHolder.Project

 

这些属性将允许您访问XMLSpy自动化接口(XMLSpyAPI)

 

提示:要打开一个文档,请在相应的文档控件上使用XMLSpyControlDocument.OpenXMLSpyControlDocument.New。要打开一个项目,请在嵌入了XMLSpy项目窗口的占位符控件上使用XMLSpyControlPlaceHolder.OpenProject

 

有关说明如何在不同的编程环境中实例化和调用所需的控件的示例,请参见ActiveX集成示例

 

© 2017-2023 Altova GmbH