アプリケーションレベルの統合に比べ、 ドキュメントレベルの統合複雑ですが、 ActiveX コントロール。を使用することによりアプリケーションに XMLSpy 機能を柔軟的に埋め込むことができます。 このアプローチにより、コードは XMLSpy ユーザーインターフェイスの次のパーツに部分的にアクセスすることができます:
•ドキュメントの編集ウィンドウ
•プロジェクトウィンドウ
•入力ヘルパー ウィンドウ
•バリデーター 出力ウィンドウ
•XPath プロファイラー ウィンドウ
•XPath ダイアログ ウィンドウ
•XSLT/XQuery デバッガー ウィンドウ
アプリケーションレベルの統合 で説明されているとおり、ActiveX アプリケーションレベルの統合のためには、 XMLSpyControl のみが必要とされる唯一のコントロールです。しかしながら、 ActiveX ドキュメントレベルの統合の場合は、 機能 XMLSpy が次の ActiveX コントロールにより与えられます:
これらのコントロールは XMLSpy のアプリケーション インストール フォルダーで使用することのできる XMLSpyControl.ocx ファイルにより与えられます。 Visual Studio を使用して ActiveX 統合を開発すると、これらのコントロールを Visual Studio ツールボックスに追加する必要があります (次を参照してください: ActiveX コントロールをツールボックスに追加する)。
ドキュメントレベルでの ActiveX コントロールのアプリケーションへの統合の基本のステップは、以下のとおりです:
1.最初に、アプリケーション内で XMLSpyControl をインスタンス化します。「 XMLSpyControl ドキュメント」と「 XMLSpyControl プレースホルダ」 コントロールへのサポートが有効化されるために、このコントロールの統合は必須です。IntegrationLevel プロパティを 「ICActiveXIntegrationOnDocumentLevel」 (または 「1」)に設定することは重要です。ユーザーに対してコントロールを非表示にするには、「Visible」プロパティを「False」に設定します。
| メモ: | ドキュメントレベルで統合する場合、未知の結果が生成される可能性があるため、 XMLSpyControl の「開く」 メソッドを使用しないでください。XMLSpyControl ドキュメント と XMLSpyControl プレースホルダ の対応するメソッドを代わりに使用して開いてください。 |
2. XMLSpyControl ドキュメント のインスタンスを少なくとも1つアプリケーション内に作成します。このコントロールは、アプリケーションに XMLSpy のドキュメントの編集ウィンドウを与え、必要であれば、複数回インスタンス化することができます。
既存のファイルを開くために、メソッド 「開く」を使用します。 ドキュメントに関連した機能にアクセスするには、メソッドとプロパティ 「ドキュメント」を介してアクセスすることのできる 「パス」 と 「保存」 を使用します。
| メモ: | コントロールは、読み取り専用モードをサポートしません。 プロパティ 「読み取り専用」 の値は無視されます。 |
3.任意で、 アプリケーションに、アプリケーションで使用することのできる(ドキュメント ウィンドウ以外の)各追加ウィンドウのために XMLSpyControl プレースホルダ コントロールを追加することができます。
XMLSpyControl プレースホルダ のインスタンスによりアプリケーションウィンドウに選択して XMLSpy の追加ウィンドウを埋め込むことができます。 ウィンドウの種類 (例えば、 プロジェクトウィンドウ) は プロパティ 「PlaceholderWindowID」 により定義することができます。有効なウィンドウの識別子のためには、次を参照してください: XMLSpyControlPlaceholderWindow.
| メモ: | 各ウィンドウ識別子のために「 XMLSpyControl プレースホルダ」のみを使用してください。 |
XMLSpy プロジェクトウィンドウを選択するプレースホルダーコントロールのために、 追加メソッドを使用することができます。「OpenProject」 を使用して、XMLSpy プロジェクトをロードすることができます。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 ドキュメント をツールボックスからフォームにドラッグします。 このコントロールは、使用中のアプリケーションに XMLSpy のメインウィンドウを与え、ドキュメントのためにサイズを調整することができます。
6.代わりに、フォームに1つまたは複数の XMLSpyControl プレースホルダ コントロールを追加することができます (アプリケーションが必要とする各追加ウィンドウの型など。 例えば、「プロジェクト」 ウィンドウなど)。このような追加プレースホルダー コントロールをメインドキュメントコントロールの下、または、左右に通常配置します。 例:

7.各「 XMLSpyControl プレースホルダ」 コントロールの「 PlaceholderWindowID」 プロパティを有効な ウィンドウ識別子に設定してください。 有効な値のリストに関しては、次を参照してください: XMLSpyControlPlaceholderWindow。
8. アプリケーションにコマンドを以下のように追加します (少なくとも、ドキュメントを開き、保存し、閉じる必要があります)。
ドキュメントレベルで統合する場合は、XMLSpy メニュー または ツールバーをアプリケーションで使用することはできません。 代わりに、 必要とするコマンドを取得し、状態を確認し、プログラム的に実行することができます:
•使用することのできるすべてのコマンドを取得するには、XMLSpyControl の CommandsList プロパティを使用します。
•メニュー構造により整理されているコマンドを取得するには、 メイン Menu プロパティを使用します。
•表示される順番に整理されているコマンドを取得するには、 Toolbars プロパティを使用します。
•XMLSpy にコマンドを送信するには、 Exec メソッドを使用します。
•コマンドが現在有効化されているか、または、無効化されているかクエリするために、QueryStatus メソッドを使用します。
これにより XMLSpy コマンドをアプリケーションの メニューとツールバーに柔軟的に統合することができます。
XMLSpy のインストールは、 XMLSpy 内で使用されているコマンドラベルを与えます。GIF 書式内のアイコンのために XMLSpy インストールのフォルダー 「<ApplicationFolder>\Examples\ActiveX\Images」 を参照してください。 fコマンド名に対応する ファイル名は、コマンド参照 セクション内にリストされています。
XMLSpy の振る舞いを自動化するには、 XMLSpyControl、 XMLSpyControl ドキュメント と XMLSpyControl プレースホルダ内で説明されている プロパティ、メソッド、 とイベントを使用してください。
XMLSpy 機能への高度なアクセスに関しては、 次の プロパティを考慮してください:
•XMLSpyControlDocument.Document
•XMLSpyControlPlaceHolder.Project
これらのプロパティは XMLSpy 自動化インターフェイス (XMLSpyAPI)へのアクセスを提供します
| メモ: | ドキュメントを開くには、適切な ドキュメントコントロールの XMLSpyControlDocument.Open または XMLSpyControlDocument.New を使用してください。 プロジェクトを開くには、 XMLSpy プロジェクトウィンドウを埋め込むプレースホルダ コントロール上のXMLSpyControlPlaceHolder.OpenProject を常に使用してください。 |
異なるプログラミング環境内で必要なコントロールをインスタント化しアクセスする方法を説明するサンプルに関しては、次を参照してください: ActiveX 統合のサンプル。