Home > コンポーネント シリーズ > Notes DB > Notes DB - 設定 > Notes DB - マッピング
接続が完了した後で[OK]をクリックするとマッパ画面が開き、選択したオペレーションに応じて接続、オペレーション、特定のビューまたはフォームを選択することができます。
[OK]をクリックすると以下のことが行なわれます。
オペレーションに基づきXSDを生成し以下のディレクトリに保存します: XSD\<接続名>\Form|View\<From\View name>
例: XSD\conn1\View\myView.xsd
選択したオペレーションに応じて以下のいずれかを行ないます。
a. Query …… Queryコンパウンドを含むView XSDで [データマッパー]画面を開きます。コンパウンドは4つの要素によって構成されており、開発者は以下を基に検索を行なうことができます。
i. UniversalID …… UniversalID値を基に特定のドキュメントを検索します。
ii. NotesID …… NotesID値を基に特定のドキュメントを検索します。
iii. Search …… Noteのクエリー文法を使った検索。複数の検索結果が返る場合があります。検索可能な文字列の詳細は、ここをクリックしてください。
iv. FullTextSearch …… 検索文字列を使用した検索(特定の検索文法と連動していません)。複数の検索結果が返る場合があります。
b. Update: …… フォームXSDを持つマッパ画面を開き、フィールド値の定義を行います。更新されたドキュメントを特定するためにID値はUniversalIDかNotesID要素にマッピングされる必要があります。
c. Add …… フォームXSDを持つマッパ画面を開き、フィールド値を定義します。
d. Delete …… フォームXSDを持つマッパ画面を開きます。削除されたドキュメントを特定するためにID値はUniversalIDかNotesID要素にマッピングされる必要があります。
e. Global Query …… 返されるドキュメント構造が分からないのでQuery要素を持つマッパ画面を開きます。Queryセクションのオプションのいずれかに値をマッピングする必要があります。
追加、更新、削除操作について
全てのフォームのXSDはFieldコンパウンドの下にForm要素を持ちます。フォームがエイリアスを持っている場合、エイリアス名のいずれかをForm要素値として使用しなければなりません。エイリアスが利用できない場合、フォーム名をXSDのForm要素として使用しなくてはなりません。一覧からフォームを探すときにフォームエイリアスを見つけるには、フォームリストのAliasセクションを確認してください。
文字列の値の配列を受け入れるNotes DBフィールドは、以下の構文を使用することにより、Magic xpiで更新されます。
"val1","val2","val3"
さらに、ノーツDBの文字列フィールドで検索すると、Magic xpiは同じ「"val1","val2","val3"」構文で値を返します。
Form要素の記入は必須です。 |
Search要素
全てのビューXSDは、Queryコンパウンドの下にSearch要素を持ちます。このフィールドは、コンポーネントの構成ダイアログボックスでQueryオペレーションが選択されたときに Noteの構文検索に使用されます。
全てのビューXSDは、Queryコンパウンドの下にUniversalID要素 とNotesID要素を持ちます。それぞれフィールドはコンポーネント設定ダイアログボックスで更新や削除操作が選択されたときに NoteのドキュメントIDに使用することができます。
Searchフィールドの追加
Notes DBコネクタは、検索とフィルタリング処理を実行します。これを行う時、知っておくべき問題があります。
検索する値は、SerachフィールドかFullTextSearchフィールドのどちらかで指定されたものでなければならず、両方は指定できません。
検索中は、最初の選択は常にSearchフィールドから取得されます。結果がこのフィールドから返されなければ、FullTextSearchフィールドがチェックされます。
Searchフィールド内の値を指定した場合、Notes DBデータベース全体に適応され、選択されたビュー上のものは適用されません。
FullTextSearchフィールドの値を指定した場合、それは選択されたビューに適用されられるだけです。
|
Search フィールドの例
Subject行に‘test’という語彙を含むノーツDBメール・データベースで、すべてのドキュメントを捜すには、Serachフィールドで以下のように指定します。
@Contains(Subject;"test")
Subject行に‘Vish’という語彙を含み Fromタイプが'MemoのノーツDBメール・データベースで、ドキュメントを捜すには、Searchフィールドで以下のように指定します。
@contains(Subject;Vish) & Form="Memo"
関数を否定する場合は、Searchフィールドに以下を入力してください。
!@Contains(Subject;"First")
2つの異なる条件のうちの1つを含むドキュメントを検索する場合は、Searchフィールドに以下を入力してください。
@Contains(Subject;"Delete")| @Contains(Subject;"test")
2つの指定した条件をを含むドキュメントを検索するには、Searchフィールドに以下を入力してください。
!@Contains(Subject;"Delete") & @Contains(From;"John")
ORやANDの追加例は、以下を含めてください(オペレータは、ブラケットを使用してグループ化する方法について気付くはずです)。
@Contains(Subject;"Delete")| (@Contains(Subject;"test") & From="CN=santosh burande/O=msei")
(@Contains(Subject;"Delete")| (@Contains(Subject;"test")) & From="CN=santosh burande/O=msei"
@Contains(Subject;"Delete")| (@Contains(Subject;"test") & From="CN=santosh burande/O=msei")
以下に示すように、定型法による特定の関数を使用することもできます。
@Ends(Subject;"ish")
@LowerCase(Subject)="Vish"
これらの関数の詳細は、ここをクリックしてください。
FullTextSearch フィールドの例
‘test’という語彙を含むSubject行のためにNotes DBデータベース内でInbox ビューのみを検索するためにFullTextSearchフィールドで以下を指定する必要があります。
FullTextSearch field: FIELD subject CONTAINS "test*"
2つの指定した語彙のうちの1つを含むドキュメントを検索するには、FullTextSearchフィールドで以下を入力してください。
"Vish"|"Test"
指定したフィールド内の値を検索するには、FullTextSearchフィールドに以下のうちの1つを入力してください。
Field Body CONTAINS Vish & Field Subject CONTAINS Vish
Field Subject CONTAINS Vish & Field Body CONTAINS Another*