XML ビルダの構成

XML ビルダは、XMLBuilderDiagram XML スキーマ定義ファイルに基づいた XML データから処理を行います。この XML データは、ダイアグラムの生成または更新時に指定する入力ファイルから取得できますが、外部コンポーネントを使用してメモリ内に自動的に生成することもできます。同じ XML データから生成されたダイアグラムのコンテンツでも、XML プロパティ ページで構成したプロパティによっては異なるものになる場合があります。

以下の手順は、XML ビルダ プロパティ ページの構成に重点を置いています。

初めて XML ビルダ プロパティ ページを表示したときは、[ビルダ プロパティ] ダイアログ ボックスが次のように表示されます。

XML ビルダ プロパティ ページのデフォルト状態
XML ビルダ プロパティ ページ ダイアログは 4 つのセクションに分かれています。

手順:
  1. 入力に含まれている、スケマティック ダイアグラム コンテンツを生成する元になる XML データが、外部コンポーネントによって自動的に構築される場合、[生成] ボックスにこの XML データを生成するために使用する COM クラスの ProgID を入力します。

    ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。

    注意注意:

    指定したクラスは esriSchematicUI.olb コンポーネントの ISchematicXMLGenerate インタフェースを実装します。

    注意注意:

    この [生成] パラメータを指定しない場合、ユーザがダイアグラムの生成を開始するときに目的の入力 XML ファイルを参照して選択する必要があります。

  2. スケマティック ダイアグラム コンテンツの更新に使用される XML データ入力が、外部コンポーネントによって自動的に構築される場合、[更新] ボックスにこの XML データを更新するために使用する COM クラスの ProgID を入力します。

    ProgID はコクラスのプロジェクト名とクラス名から成る文字列です。

    注意注意:

    指定したクラスは esriSchematicUI.olb コンポーネントの ISchematicXMLUpdate インタフェースを実装します。

    注意注意:

    この [更新] パラメータを指定しない場合、ユーザがダイアグラムの更新を開始するときに目的の入力 XML ファイルを参照して選択する必要があります。

  3. [ジオメトリ オプション] セクションの [リンクの頂点を初期値にセット] は、XML ビルダでスケマティック ダイアログを構築する際、入力 XML データに頂点アイテムがあると、スケマティック リンクが頂点とともに表示されるようにする場合にオンにします。

    このボックスがオフになっている場合(デフォルトの状態)、入力 XML データに頂点アイテムが存在していてもスケマティック リンクは端点を結ぶ直線として描画されます。

    注意注意:

    地理模式図 - 部分重複リンク、相対主軸など一部のスケマティック レイアウト アルゴリズムは、ダイアグラム内の実際のセグメントの向きから実行されます。ダイアグラム コンテンツでそうしたアルゴリズムを実行する場合は、良好な結果を得るために [リンクの頂点を初期値にセット] をオンにする必要があります。

  4. 入力 XML データの頂点アイテムに極めて多くの頂点があるときに、XML ビルダが自動的にスケマティック リンクの形状を単純化するようにしたい場合は、[ラインの単純化] をオンにします。次に、この単純化の動作内容を設定します。
    1. 頂点を削除できる [最大許容オフセット] を指定します。
    2. 右側のドロップダウン リストから必要なオフセットの単位を選択します。
      注意注意:
      • [ラインの単純化] チェックボックスを使用できるのは、[リンクの頂点を初期値にセット] がオンになっているときだけです。
      • [最大許容オフセット] テキスト ボックスおよびその右側にあるオフセットの単位ドロップダウン リストを使用できるのは、[ラインの単純化] がオンになっているときだけです。

    Schematics ラインの単純化は、[ラインの単純化(Simplify Line)] ジオプロセシング ツールがポイント削除オペレータと連動するように設定されているときに、このツールのために実装されている Douglas-Peucker アルゴリズムと同じアルゴリズムを適用します。この単純化では、基本的な形状を壊すことなくスケマティック リンク上の余分な屈曲や細かな凹凸を取り除きます。このオプションは、スケマティック ラインの基本的な形状を表す重要ポイントを保持し、他のすべてのポイントを削除します。

    注意注意:

    Schematics ラインの単純化は一般に XML ビルダでは必要ありません。これは、ダイアグラムの生成と更新に使用する入力 XML データの頂点アイテムの制御をユーザが行うからです。

  5. [その他] セクションの [スケマティック フィーチャクラスの自動作成] は、入力 XML データに含まれるさまざまな SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスが、そのスケマティック ダイアグラム テンプレートにまだ存在していない場合に、XML ビルダでこれを自動作成する場合にオンにします。

    このチェックボックスをオフにすると(デフォルトの状態)、XML ビルダが実行されるときに、新しいスケマティック フィーチャクラスは作成されません。たとえば、入力 XML データに、Stations という値を持つ SchematicFeatureClass アイテムが含まれていて、そのスケマティック ダイアグラム テンプレートにそれらの SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスがない場合、生成されたダイアグラムにはそれらの XML アイテムのスケマティック フィーチャは含まれなくなります。

    注意注意:

    このチェックボックスをオンにすると、スケマティック フィーチャクラスによって管理される LinkFeature または NodeFeature アイテムに対する入力 XML データ内に PropertySetProperty アイテムが検出され、それらの属性がそのスケマティック フィーチャクラスにまだ存在していない場合に、XML ビルダが PropertySet 属性を自動的に作成するようにすることもできます。このチェックボックスをオフにした場合、関連する PropertySet 属性がない PropertySetProperty アイテムが検出されても、この情報は無視されます。

  6. 入力 XML データ内の FeatureClassName アイテムがそのダイアグラム テンプレートに関連付けられたスケマティック フィーチャクラスの名前と一致しない場合、[スケマティック フィーチャクラスのマッピング] セクションに、対応ルールを指定する必要があります。

    入力 XML ファイルに含まれる、FeatureClassNameN_InXMLFile という値を持つすべての FeatureClassName アイテムを、SchematicFeatureClassNameN_ForSchDiagTemp という名前のスケマティック ダイアグラム テンプレートと関連付けられたスケマティック フィーチャクラスと自動的に一致させる場合は、スケマティック フィーチャクラス マッピング セクションを次のように指定する必要があります。

    FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
    
    入力 XML ファイルに、複数の異なる FeatureClassName アイテムが含まれており、それぞれに、関連付けられたスケマティック フィーチャクラス名を指定する場合、次の例のように行ごとにマッピング ルールを指定する必要があります。
    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")
    
    StationsFeeder1、StationsFeeder2、および StationsFeeder3 スケマティック フィーチャクラスは、それぞれ Feeder PropertySetProperty 値が 1、2、3 である Stations FeatureClass XML アイテムに対して自動的に使用されます。

関連トピック

9/14/2013