XML ビルダの構成
XML ビルダは、XMLBuilderDiagram XML スキーマ定義ファイルに基づいた XML データから処理を行います。この XML データは、ダイアグラムの生成または更新時に指定する入力ファイルから取得できますが、外部コンポーネントを使用してメモリ内に自動的に生成することもできます。同じ XML データから生成されたダイアグラムのコンテンツでも、XML プロパティ ページで構成したプロパティによっては異なるものになる場合があります。
以下の手順は、XML ビルダ プロパティ ページの構成に重点を置いています。
- スケマティック ビルダ プロパティ ページを表示する手順については、「スケマティック ビルダ プロパティの編集」トピックをご参照ください。
- スケマティック ダイアグラム テンプレートを作成し、そのスケマティック ビルダを指定する手順については、「スケマティック ダイアグラム テンプレートの作成」トピックをご参照ください。
初めて XML ビルダ プロパティ ページを表示したときは、[ビルダ プロパティ] ダイアログ ボックスが次のように表示されます。
- [外部コンポーネント] セクションには、XML データが外部コンポーネントによって構築される場合にのみ指定する必要があるパラメータがあります。
- [ジオメトリ オプション] セクションでは、作成されるスケマティック フィーチャ リンクに沿った頂点の管理に関する設定を行います。
- [その他] セクションでは、ダイアグラムの生成または更新プロセス中の新しいスケマティック フィーチャクラスの作成に関する設定を行います。
- [スケマティック フィーチャクラスのマッピング] セクションは、入力 XML データ内の FeatureClassName アイテムが、そのダイアグラム テンプレートに関連付けられたスケマティック フィーチャクラスの名前に一致しない場合に使用するマッピング ルールを定義するためにのみ使用します。
-
入力に含まれている、スケマティック ダイアグラム コンテンツを生成する元になる XML データが、外部コンポーネントによって自動的に構築される場合、[生成] ボックスにこの XML データを生成するために使用する COM クラスの ProgID を入力します。
ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。
注意:指定したクラスは esriSchematicUI.olb コンポーネントの ISchematicXMLGenerate インタフェースを実装します。
注意:この [生成] パラメータを指定しない場合、ユーザがダイアグラムの生成を開始するときに目的の入力 XML ファイルを参照して選択することが必要になります。
-
入力に含まれている、スケマティック ダイアグラム コンテンツの更新に使用される XML データが、外部コンポーネントによって自動的に構築される場合、[更新] ボックスにこの XML データを更新するために使用する COM クラスの ProgID を入力します。
ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。
注意:指定したクラスは esriSchematicUI.olb コンポーネントの ISchematicXMLUpdate インタフェースを実装します。
注意:この [更新] パラメータを指定しない場合、ユーザがダイアグラムの更新を開始するときに目的の入力 XML ファイルを参照して選択することが必要になります。
-
[ジオメトリ オプション] セクションの [リンクの頂点を初期値にセット] は、XML ビルダでスケマティック ダイアログを構築する際、入力 XML データに頂点アイテムがあると、スケマティック リンクが頂点とともに表示されるようにする場合にオンにします。
このチェックボックスがオフになっている場合、入力 XML データに頂点アイテムが存在していてもスケマティック リンクは端点を結ぶ直線として描画されます。
-
[その他] セクションの [スケマティック フィーチャクラスの自動作成] は、入力 XML データに含まれるさまざまな SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスが、そのスケマティック ダイアグラム テンプレートにまだ存在していない場合に、XML ビルダでこれを自動作成する場合にオンにします。
このチェックボックスをオフにすると(デフォルトの状態)、XML ビルダが実行されるときに、新しいスケマティック フィーチャクラスは作成されません。たとえば、入力 XML データに、Stations という値を持つ SchematicFeatureClass アイテムが含まれていて、そのスケマティック ダイアグラム テンプレートにそれらの SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスがない場合、生成されたダイアグラムにはそれらの XML アイテムのスケマティック フィーチャは含まれなくなります。
注意:このチェックボックスをオンにすると、スケマティック フィーチャクラスによって管理される LinkFeature または NodeFeature アイテムに対する入力 XML データ内に PropertySetProperty アイテムが検出され、それらの属性がそのスケマティック フィーチャクラスにまだ存在していない場合に、XML ビルダが PropertySet 属性を自動的に作成するようにすることもできます。このチェックボックスをオフにした場合、関連する PropertySet 属性がない PropertySetProperty アイテムが検出されても、この情報は無視されます。
-
入力 XML データ内の FeatureClassName アイテムがそのダイアグラム テンプレートに関連付けられたスケマティック フィーチャクラスの名前と一致しない場合、[スケマティック フィーチャクラスのマッピング] セクションに、対応ルールを指定する必要があります。
入力 XML ファイルに含まれる、FeatureClassNameN_InXMLFile という値を持つすべての FeatureClassName アイテムを、SchematicFeatureClassNameN_ForSchDiagTemp という名前のスケマティック ダイアグラム テンプレートと関連付けられたスケマティック フィーチャクラスと自動的に一致させる場合は、スケマティック フィーチャクラス マッピング セクションを次のように指定する必要があります。
FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
FeatureClassName1_InXMLFile=SchematicFeatureClassName1_ForSchDiagTemp FeatureClassName2_InXMLFile=SchematicFeatureClassName2_ForSchDiagTemp FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
このセクションには、入力 XML データ内の、特定の FeatureClassNameK_InXMLFile FeatureClass アイテムに関連付けられたアイテムすべてを、いくつかの SchematicFeatureClassNameN_ForSchDiagTemp スケマティック フィーチャクラスにディスパッチするスクリプトを設定することもできます。たとえば、次のようなスクリプトを指定できます。
Stations=StationsFeeder1 (Feeder="1") Stations=StationsFeeder2 (Feeder="2") Stations=StationsFeeder3 (Feeder="3")