Shunsakuに登録されているXMLデータとNavigatorをマッピングするために、ユーザが作成するファイルのことです。ファイルはXML形式で作成します。
定義ファイル記述共通の注意事項
XMLメタ定義ファイルの属性の値は、以下のように最適化されてNavigatorに登録されます。
文字参照が対応する文字に置き換えられます。
定義済み実体参照が対応する文字に置き換えられます。
復帰文字、改行文字、タブ文字が含まれている場合、それらが半角空白文字に置き換えられます
上記の置換後、値に存在する連続する空白文字が、1文字の半角空白に置き換えられます。
したがって定義ファイルの記述において、属性の値の途中に改行、タブ、連続する空白などが含まれていたり、文字参照が存在すると、検索式やその他の情報が意図しない値に置き換えられて登録される可能性がありますので、このような指定は行わないでください。
定義ファイル中にコメント(<!-- -->)を追加することは可能ですが、定義済み実体参照以外の実体参照やCDATAセクション、属性など、以下の説明に記述されていないXML上の指定は行わないでください。
XML文章として認識するための宣言文です。
書式
<?xml version="XMLのバージョン" encoding="XMLメタ定義ファイルの文字コード"?> |
属性
XMLのバージョンを指定します。
1.0
XMLメタ定義ファイルの文字コードを指定します。
Shift-JIS
Shift-JISコードでXMLメタ定義ファイルを作成する場合に指定します。
EUC-JP
EUCコードでXMLメタ定義ファイルを作成する場合に指定します。
注意
Windowsの場合は、encodingに"Shift_JIS"を指定してください。
指定例
<?xml version="1.0" encoding="Shift-JIS"?> |
マッピング情報のルート要素です。
書式
<META_DEFINITION_FILE type="定義タイプ ">データソース情報</META_DEFINITION_FILE> |
属性
XMLメタ定義ファイルを識別するための値です。
shunsaku
子要素
データソース情報を定義します。
指定例
<META_DEFINITION_FILE type="Shunsaku">・・・・ </META_DEFINITION_FILE> |
接続先の情報を定義する要素です。
<DATA_SOURCE name="データソース名 " host="ホスト名 " port="ポート番号" charactercode="文字コード" version ="バージョン">スキーマ情報</DATA_SOURCE> |
属性
データソースを識別するための値を指定します。
36バイト以内で指定してください。データソース名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。
接続するディレクタサーバ、またはコンダクタサーバのホスト名、FQDN名、またはIPアドレスを指定します。
255バイト以内で指定してください。
接続するディレクタサーバ、またはコンダクタサーバの受付ポート番号を指定します。
接続するデータソース(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用動作環境ファイル」に記載されています。
NavigatorではShunsakuのV6.0互換APIを使用するため、連携するShunsakuのバージョンに関わらず「6.0」を指定してください。
注意
複数のDATA_SOURCE要素を指定する場合は、name属性に重複する値を指定することはできません。
子要素
スキーマ情報を定義します。
指定例
<DATA_SOURCE name="source1" host="dir1" port="33301" charactercode="SHIFT-JIS" version="6.0">・・・・ </DATA_SOURCE> |
スキーマの情報を定義する要素です。
<SCHEMA name="スキーマ名">テーブル情報</SCHEMA> |
属性
Navigatorで使用するスキーマ名を指定します。
36バイト以内で指定してください。スキーマ名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。
注意
同一DATA_SOURCEタグ配下に複数のSCHEMA要素を指定する場合は、name属性に重複する値を指定することはできません。
子要素
テーブル情報を定義します。
指定例
<SCHEMA name="NAVIDEMO">・・・・ </SCHEMA> |
テーブルの情報を定義する要素です。
<TABLE name="テーブル名" path="各テーブルの項目に共通しているパス" where="検索条件式">項目情報</TABLE > |
属性
Navigatorで使用するテーブル名を指定します。
36バイト以内で指定してください。テーブル名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。
Shunsaku XMLデータに登録されている各テーブルの項目に共通しているパスを「/」を区切り文字として指定します。ただし、最後の「/」は記述しないでください。
共通パスがルートノードだけの場合は、path=""と指定します。詳細については、“14.3.2.7 共通パスと項目パスサンプル”を参照してください。
本属性は、省略可能です。
NavigatorがテーブルのデータをShunsakuの検索API shunsearch2()を実行して取得する際に、APIの検索式領域パラメタに指定する検索式を指定します。
Navigatorはこのwhere属性に指定された検索式をそのままShunsakuの検索式パラメタに指定します。したがって、本検索式の指定はShunsakuの検索式の仕様どおりに行う必要があります。ただし、定義ファイルはXML形式のファイルであるため、Shunsakuの仕様どおりに作成した検索式にXML上特殊な意味を持つ以下の文字が含まれている場合、この検索式をwhere属性に指定するには、式中の特殊な文字を定義済み実体参照形式で記述する必要があります。
Shunsakuの | where属性にその文字を記述するための |
---|---|
< | < |
> | > |
& | & |
‘ | ' |
“ | " |
注意
文字列検索でキーワードに文字列を指定するために指定が必要となる、引用符や二重引用符、数値検索における比較演算子< >といった文字も、where属性には定義済み実体参照形式で記述する必要があります。
例1)Shunsaku の検索に指定する検索式 /A/B/C = 'A'
where属性の指定 where="/A/B/C = 'A'"
例2)Shunsaku の検索に指定する検索式 /A/B/C = "A"
where属性の指定 where="/A/B/C = "A""
例3)Shunsaku の検索に指定する検索式 /A/B/C > 100
where属性の指定 where="/A/B/C > 100"
また、Shunsakuの検索式のキーワードに定義済み実体参照を指定する場合、XML辞書ファイル登録コマンドによって実体参照が変換された結果が、定義済み実体参照形式になるようにwhere属性への記述を行う必要があります。
例4)Shunsaku の検索に指定する検索式 /A/B/C = '&'
where属性の指定 where="/A/B/C ='&amp;'"
検索式の詳細については、Shunsakuのマニュアルを参照してください。
注意
共通パス(path)や、検索条件式(where)において、構文上は正しいが作成者の意図とは異なる結果になる式が記述されている場合、XMLビューにおいてデータがない、意図しないデータが含まれるなどの問題をおこす可能性があります。本指定を行う場合には、「1.4.3 XMLビューの設計」の各説明内容、およびShunsakuの検索条件(パス式、リターン式)の説明を参照の上、事前に式の正当性を確認、検証してください。
同一SCHEMAタグ配下に複数のTABLE要素を指定する場合は、name属性に重複する値を指定することはできません。
子要素
項目情報を定義します。
指定例
<TABLE name="GOODS" path="/ナビデモ/商品" where="/ナビデモ/商品/色="01"">・・・・ </TABLE > |
項目情報を定義する要素です。
書式
<COLUMN name="項目名" type="データ型 " path="各テーブルの項目に共通しているパス"/> |
属性
Navigatorで使用する項目名を指定します。
36バイト以内で指定してください。項目名に指定できる文字には制限があります。詳しくは、“1.4.4 名称の規則”を参照してください。
項目のデータ型を指定します。
INTEEGER
データ型がINTEGER型で定義されている場合に指定します。
DECIMAL(p,s)
Navigatorの項目をDECIMAL型で定義する場合に指定します。1≦p≦38 0≦s≦p(,s省略時はs=0とみなします)
CHAR(n)
Navigatorの項目をCHAR型で定義する場合に指定します。1≦n≦32000
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="品番"/> |
TABLE要素のpath属性とCOLUMN要素のpath属性に指定するサンプルを示します。
ユーザが作成する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="/製品/製品データ/単価 < 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="/製品/在庫データ/製品番号="00000001""> <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> =====================================================================================
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メタ定義ファイル”の“定義ファイル記述共通の注意事項”を参照してください。