ページの先頭行へ戻る
Interstage Navigator ServerV9.5.0 セットアップガイド Vol.1(Enterprise Edition用)
FUJITSU Software

14.3.2 XMLメタ定義ファイル

Shunsakuに登録されているXMLデータとNavigatorをマッピングするために、ユーザが作成するファイルのことです。ファイルはXML形式で作成します。

定義ファイル記述共通の注意事項

XMLメタ定義ファイルの属性の値は、以下のように最適化されてNavigatorに登録されます。

したがって定義ファイルの記述において、属性の値の途中に改行、タブ、連続する空白などが含まれていたり、文字参照が存在すると、検索式やその他の情報が意図しない値に置き換えられて登録される可能性がありますので、このような指定は行わないでください。

定義ファイル中にコメント(<!-- -->)を追加することは可能ですが、定義済み実体参照以外の実体参照やCDATAセクション、属性など、以下の説明に記述されていないXML上の指定は行わないでください。

14.3.2.1 XML宣言

XML文章として認識するための宣言文です。

書式

<?xml version="XMLのバージョン" encoding="XMLメタ定義ファイルの文字コード"?>

属性

version="XMLのバージョン"

XMLのバージョンを指定します。

  • 1.0

encoding="XMLメタ定義ファイルの文字コード"

XMLメタ定義ファイルの文字コードを指定します。

  • Shift-JIS

    Shift-JISコードでXMLメタ定義ファイルを作成する場合に指定します。

  • EUC-JP

    EUCコードでXMLメタ定義ファイルを作成する場合に指定します。

注意

Windowsの場合は、encodingに"Shift_JIS"を指定してください。

指定例

<?xml version="1.0" encoding="Shift-JIS"?>

14.3.2.2 META_DEFINITION_FILE要素

マッピング情報のルート要素です。

書式

<META_DEFINITION_FILE type="定義タイプ ">データソース情報</META_DEFINITION_FILE>

属性

type="定義タイプ"

XMLメタ定義ファイルを識別するための値です。

  • shunsaku

要素

DATA_SOURCE

データソース情報を定義します。

指定例

<META_DEFINITION_FILE type="Shunsaku">・・・・ </META_DEFINITION_FILE>

14.3.2.3 DATA_SOURCE要素

接続先の情報を定義する要素です。

<DATA_SOURCE name="データソース名 " host="ホスト名 " port="ポート番号" charactercode="文字コード" version ="バージョン">スキーマ情報</DATA_SOURCE>

属性

name="データソース名"

データソースを識別するための値を指定します。

36バイト以内で指定してください。データソース名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。

host="ホスト名"

接続するディレクタサーバ、またはコンダクタサーバのホスト名、FQDN名、またはIPアドレスを指定します。

255バイト以内で指定してください。

port="ポート番号"

接続するディレクタサーバ、またはコンダクタサーバの受付ポート番号を指定します。

charactercode="文字コード"

接続するデータソース(ShunsakuのXMLデータ)の文字コードを指定します。連携するShunsakuの「実行パラメタCharacterCode(※)」を参照し、値を指定してください。

  • SHIFT-JIS

    Shift-JISコードでShunsakuのXMLデータを格納している場合に指定します。

  • EUC

    EUCコードでShunsakuのXMLデータを格納している場合に指定します。

  • UTF-8

    UTF-8コードでShunsakuのXMLデータを格納している場合に指定します。

※  連携するShunsakuのバージョンがV7.0系の場合は、「システム用動作環境ファイル」に記載されています。V6.0系の場合は、「director用動作環境ファイル」に記載されています。

version ="バージョン"

NavigatorではShunsakuのV6.0互換APIを使用するため、連携するShunsakuのバージョンに関わらず「6.0」を指定してください。

注意

複数のDATA_SOURCE要素を指定する場合は、name属性に重複する値を指定することはできません。

子要素

SCHEMA

スキーマ情報を定義します。

指定例

<DATA_SOURCE name="source1" host="dir1" port="33301" charactercode="SHIFT-JIS" version="6.0">・・・・ </DATA_SOURCE>

14.3.2.4 SCHEMA要素

スキーマの情報を定義する要素です。

<SCHEMA name="スキーマ名">テーブル情報</SCHEMA>

属性

name="スキーマ名"

Navigatorで使用するスキーマ名を指定します。

36バイト以内で指定してください。スキーマ名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。

注意

同一DATA_SOURCEタグ配下に複数のSCHEMA要素を指定する場合は、name属性に重複する値を指定することはできません。

子要素

TABLE

テーブル情報を定義します。

指定例

<SCHEMA name="NAVIDEMO">・・・・ </SCHEMA>

14.3.2.5 TABLE要素

テーブルの情報を定義する要素です。

<TABLE name="テーブル名" path="各テーブルの項目に共通しているパス" where="検索条件式">項目情報</TABLE >

属性

name="テーブル名"

Navigatorで使用するテーブル名を指定します。

36バイト以内で指定してください。テーブル名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。

path="各テーブルの項目に共通しているパス"

Shunsaku XMLデータに登録されている各テーブルの項目に共通しているパスを「/」を区切り文字として指定します。ただし、最後の「/」は記述しないでください。

共通パスがルートノードだけの場合は、path=""と指定します。詳細については、“14.3.2.7 共通パスと項目パスサンプル”を参照してください。

where="検索条件式 "

本属性は、省略可能です。

NavigatorがテーブルのデータをShunsakuの検索API shunsearch2()を実行して取得する際に、APIの検索式領域パラメタに指定する検索式を指定します。

Navigatorはこのwhere属性に指定された検索式をそのままShunsakuの検索式パラメタに指定します。したがって、本検索式の指定はShunsakuの検索式の仕様どおりに行う必要があります。ただし、定義ファイルはXML形式のファイルであるため、Shunsakuの仕様どおりに作成した検索式にXML上特殊な意味を持つ以下の文字が含まれている場合、この検索式をwhere属性に指定するには、式中の特殊な文字を定義済み実体参照形式で記述する必要があります。

Shunsakuの
検索式上の文字

where属性にその文字を記述するための
定義済み実体参照形式

<

&lt;

>

&gt;

&

&amp;

&apos;

&quot;

注意

文字列検索でキーワードに文字列を指定するために指定が必要となる、引用符や二重引用符、数値検索における比較演算子< >といった文字も、where属性には定義済み実体参照形式で記述する必要があります。

例1)Shunsaku の検索に指定する検索式    /A/B/C = 'A'
        where属性の指定    where="/A/B/C = &apos;A&apos;"

例2)Shunsaku の検索に指定する検索式    /A/B/C = "A"
        where属性の指定    where="/A/B/C = &quot;A&quot;"

例3)Shunsaku の検索に指定する検索式    /A/B/C > 100
        where属性の指定    where="/A/B/C &gt; 100"

また、Shunsakuの検索式のキーワードに定義済み実体参照を指定する場合、XML辞書ファイル登録コマンドによって実体参照が変換された結果が、定義済み実体参照形式になるようにwhere属性への記述を行う必要があります。

例4)Shunsaku の検索に指定する検索式    /A/B/C = '&amp;'
        where属性の指定    where="/A/B/C =&apos;&amp;amp;&apos;"

  

検索式の詳細については、Shunsakuのマニュアルを参照してください。

注意

  • 共通パス(path)や、検索条件式(where)において、構文上は正しいが作成者の意図とは異なる結果になる式が記述されている場合、XMLビューにおいてデータがない、意図しないデータが含まれるなどの問題をおこす可能性があります。本指定を行う場合には、「1.4.3 XMLビューの設計」の各説明内容、およびShunsakuの検索条件(パス式、リターン式)の説明を参照の上、事前に式の正当性を確認、検証してください。

  • 同一SCHEMAタグ配下に複数のTABLE要素を指定する場合は、name属性に重複する値を指定することはできません。

子要素

COLUMN

項目情報を定義します。

指定例

<TABLE name="GOODS" path="/ナビデモ/商品" where="/ナビデモ/商品/色=&quot;01&quot;">・・・・ </TABLE >

14.3.2.6 COLUMN要素

項目情報を定義する要素です。

書式

<COLUMN name="項目名" type="データ型 " path="各テーブルの項目に共通しているパス"/>

属性

name="項目名 "

Navigatorで使用する項目名を指定します。

36バイト以内で指定してください。項目名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。

type="データ型"

項目のデータ型を指定します。

  • INTEEGER

    データ型がINTEGER型で定義されている場合に指定します。

  • DECIMAL(p,s)

    Navigatorの項目をDECIMAL型で定義する場合に指定します。1≦p≦38  0≦s≦p(,s省略時はs=0とみなします)

  • CHAR(n)

    Navigatorの項目をCHAR型で定義する場合に指定します。1≦n≦32000

path="各テーブルの項目に共通しているパス"

Shunsaku XMLデータに登録されている各テーブルの項目で個別のパスを「/」を区切り文字として指定します。ただし、先頭と最後の「/」は、記述しないでください。また、パス要素text()は含めないでください。詳細については、“14.3.2.7 共通パスと項目パスサンプル”を参照してください。

注意

  • 項目パス(path)において、構文上は正しいが作成者の意図とは異なる結果となる式が記述されている場合、XMLビューにおいてデータがない、意図しないデータが含まれるなどの問題をおこす可能性があります。本指定を行う場合には「1.4.3 XMLビューの設計」の各説明内容、およびShunsakuの検索条件(リターン式)の内容を十分に理解の上、事前に式の正当性を確認、検証してください。

  • 同一TABLEタグ配下に複数のCOLUMN要素を指定する場合は、name属性に重複する値を指定することはできません。

  • 14.3.2.5 TABLE要素”の検索条件式属性(where属性)を省略した場合、先頭に定義するCOLUMN要素は、XMLデータに必ず存在する項目パスを定義してください。
    XMLデータによって存在しない項目パスがあると、問い合わせが正しくできない場合があります。
    例えば、伝票データであれば、伝票番号など必ず存在する項目パスを先頭の項目としてCOLUMN要素に定義します。

子要素

なし

指定例

<COLUMN name="ARTICLENO" type="CHAR(5)" path="品番"/>
<COLUMN name="COSTPRICE" type="DECIMAL(8,0)" path="仕入価格"/>

14.3.2.7 共通パスと項目パスサンプル

TABLE要素のpath属性とCOLUMN要素のpath属性に指定するサンプルを示します。

14.3.2.8 XMLメタ定義ファイルサンプル

ユーザが作成するXMLメタ定義ファイルの例を示します。

上記のような関連付けを行う場合は、下記のようにXMLメタ定義ファイルを作成します。

===================================================================================
<?xml version="1.0" encoding="Shift_JIS"?>
<META_DEFINITION_FILE  type="Shunsaku">
  <DATA_SOURCE name="navi" host="navidir" port="33301" charactercode="SHIFT-JIS" version="6.0">
    <SCHEMA name = "GOODS">
      <TABLE name="GODDS" path="/製品/製品データ" where="/製品/製品データ/単価 &lt; 100000">
        <COLUMN name="ARTICLENO" type="CHAR(8)" path="製品番号" /> 
        <COLUMN name="NAME" type="CHAR(20)" path="製品名" /> 
        <COLUMN name="COLORCD" type="CHAR(2)" path="色コード" /> 
        <COLUMN name="PRICE" type="DECIMAL(8,0)" path="単価" /> 
      </TABLE>
      <TABLE name="STOCK" path="/製品/在庫データ" 
              where="/製品/在庫データ/製品番号=&quot;00000001&quot;">
        <COLUMN name="ARTICLENO" type="CHAR(8)" path="製品番号" /> 
        <COLUMN name="STOCK" type="INTEGER" path="在庫数" /> 
        <COLUMN name="LAST1" type="INTEGER" path="発注数/前回" /> 
        <COLUMN name="NEXT1" type="INTEGER" path="発注数/次回" /> 
      </TABLE>
    </SCHEMA>
    <SCHEMA name = "TENPO">
      <TABLE name="TBL1" path="/店舗/店舗データ">
        <COLUMN name="UAREA" type="INTEGER" path="床面積" /> 
        <COLUMN name="EMPLOYEE" type="DECIMAL(4)" path="従業員数" /> 
      </TABLE>
    </SCHEMA>
  </DATA_SOURCE>
</META_DEFINITION_FILE>
=====================================================================================

14.3.2.9 XMLメタ定義ファイルの雛形

XMLメタ定義ファイルの雛形です。

各属性に値を指定して使用します。

===================================================================================
<?xml version="1.0" encoding=""?>
<META_DEFINITION_FILE type="Shunsaku"> 
  <DATA_SOURCE name="" host="" port="" charactercode="" version="6.0" >
    <SCHEMA name = "">
      <TABLE name="" path="">
        <COLUMN name="" type="" path="" />
      </TABLE>
    </SCHEMA>
  </DATA_SOURCE>
</META_DEFINITION_FILE> 
=====================================================================================

注意

  • データソースを追加、または削除する場合は、<DATA_SOURCE>タグ単位で追加、または削除してください。

  • スキーマを追加、または削除する場合は、<SCHEMA>タグ単位で追加、または削除してください。

  • テーブルを追加、または削除する場合は、<TABLE>タグ単位で追加、または削除してください。

  • 項目を追加、または削除する場合は、<COLUMN>タグを追加、または削除してください。

  • その他、定義ファイルの記述については“XMLメタ定義ファイル”の“定義ファイル記述共通の注意事項”を参照してください。