XML ビルダーは、XMLBuilderDiagram XML スキーマ定義ファイルに基づいた XML データから処理を行います。この XML データは、ダイアグラムの生成または更新時に指定する入力ファイルから取得できますが、外部コンポーネントを使用してメモリ内に自動的に生成することもできます。同じ XML データから生成されたダイアグラムのコンテンツでも、XML プロパティ ページで構成したプロパティによっては異なるものになる場合があります。
以下の手順は、XML ビルダー プロパティ ページの構成に重点を置いています。
- スケマティック ビルダー プロパティ ページを表示する手順については、「スケマティック ビルダー プロパティの編集」をご参照ください。
- スケマティック ダイアグラム テンプレートを作成し、そのスケマティック ビルダーを指定する手順については、「スケマティック ダイアグラム テンプレートの作成」をご参照ください。
初めて XML ビルダー プロパティ ページを表示したときは、[ビルダー プロパティ] ダイアログ ボックスが次のように表示されます。
XML ビルダー プロパティ ページ ダイアログは 4 つのセクションに分かれています。- [外部コンポーネント] セクションには、XML データが外部コンポーネントによって構築される場合にのみ指定する必要があるパラメーターがあります。
- [ジオメトリ オプション] セクションでは、作成されるスケマティック フィーチャ リンクに沿った頂点の管理に関する設定を行います。
- [その他] セクションでは、ダイアグラムの生成または更新プロセス中の新しいスケマティック フィーチャクラスの作成に関する設定を行います。
- [スケマティック フィーチャクラスのマッピング] セクションは、入力 XML データ内の FeatureClassName アイテムが、そのダイアグラム テンプレートに関連付けられたスケマティック フィーチャクラスの名前に一致しない場合に使用するマッピング ルールを定義するためにのみ使用します。
- 入力に含まれている、スケマティック ダイアグラム コンテンツを生成する元になる XML データが、外部コンポーネントによって自動的に構築される場合、[生成] ボックスにこの XML データを生成するために使用する COM クラスの ProgID を入力します。
ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。
- スケマティック ダイアグラム コンテンツの更新に使用される XML データ入力が、外部コンポーネントによって自動的に構築される場合、[更新] ボックスにこの XML データを更新するために使用する COM クラスの ProgID を入力します。
ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。
- [ジオメトリ オプション] セクションの [リンクの頂点を初期値にセット] は、XML ビルダーでスケマティック ダイアログを構築する際、入力 XML データに頂点アイテムがあると、スケマティック リンクが頂点とともに表示されるようにする場合にオンにします。
このボックスがオフになっている場合 (デフォルトの状態)、入力 XML データに頂点アイテムが存在していてもスケマティック リンクは端点を結ぶ直線として描画されます。
- 入力 XML データの頂点アイテムに極めて多くの頂点があるときに、XML ビルダーが自動的にスケマティック リンクの形状を単純化するようにしたい場合は、[ラインの単純化] をオンにします。次に、この単純化の動作内容を設定します。
- 頂点を削除できる [最大許容オフセット] を指定します。
- 右側のドロップダウン リストから必要なオフセットの単位を選択します。
Schematics ラインの単純化は、[ラインの単純化 (Simplify Line)] ジオプロセシング ツールがポイント削除オペレーターと連動するように設定されているときに、このツールのために実装されている Douglas-Peucker アルゴリズムと同じアルゴリズムを適用します。この単純化では、基本的な形状を壊すことなくスケマティック リンク上の余分な屈曲や細かな凹凸を取り除きます。このオプションは、スケマティック ラインの基本的な形状を表す重要ポイントを保持し、他のすべてのポイントを削除します。
- [その他] セクションの [スケマティック フィーチャクラスの自動作成] は、入力 XML データに含まれるさまざまな SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスが、そのスケマティック ダイアグラム テンプレートにまだ存在していない場合に、XML ビルダーでこれを自動作成する場合にオンにします。
このチェックボックスをオフにすると (デフォルトの状態)、XML ビルダーが実行されるときに、新しいスケマティック フィーチャクラスは作成されません。たとえば、入力 XML データに、Stations という値を持つ SchematicFeatureClass アイテムが含まれていて、そのスケマティック ダイアグラム テンプレートにそれらの SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスがない場合、生成されたダイアグラムにはそれらの XML アイテムのスケマティック フィーチャは含まれなくなります。
- 入力 XML データ内の FeatureClassName アイテムがそのダイアグラム テンプレートに関連付けられたスケマティック フィーチャクラスの名前と一致しない場合、[スケマティック フィーチャクラスのマッピング] セクションに、対応ルールを指定する必要があります。
入力 XML ファイルに含まれる、FeatureClassNameN_InXMLFile という値を持つすべての FeatureClassName アイテムを、SchematicFeatureClassNameN_ForSchDiagTemp という名前のスケマティック ダイアグラム テンプレートと関連付けられたスケマティック フィーチャクラスと自動的に一致させる場合は、スケマティック フィーチャクラス マッピング セクションを次のように指定する必要があります。
入力 XML ファイルに、複数の異なる FeatureClassName アイテムが含まれており、それぞれに、関連付けられたスケマティック フィーチャクラス名を指定する場合、次の例のように行ごとにマッピング ルールを指定する必要があります。FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
FeatureClassName1_InXMLFile=SchematicFeatureClassName1_ForSchDiagTemp FeatureClassName2_InXMLFile=SchematicFeatureClassName2_ForSchDiagTemp FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
このセクションには、入力 XML データ内の、特定の FeatureClassNameK_InXMLFile FeatureClass アイテムに関連付けられたアイテムすべてを、いくつかの SchematicFeatureClassNameN_ForSchDiagTemp スケマティック フィーチャクラスにディスパッチするスクリプトを設定することもできます。たとえば、次のようなスクリプトを指定できます。
StationsFeeder1、StationsFeeder2、および StationsFeeder3 スケマティック フィーチャクラスは、それぞれ Feeder PropertySetProperty 値が 1、2、3 である Stations FeatureClass XML アイテムに対して自動的に使用されます。Stations=StationsFeeder1 (Feeder="1") Stations=StationsFeeder2 (Feeder="2") Stations=StationsFeeder3 (Feeder="3")