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 データに含まれるさまざまな SchematicFeatureClass アイテムを管理するスケマティック フィーチャクラスが、そのスケマティック ダイアグラム テンプレートにまだ存在していない場合に、XML ビルダでこれを自動作成する場合にオンにします。

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

    注意注意:

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

  5. 入力 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 アイテムに対して自動的に使用されます。

関連項目


7/10/2012