2023/09/27

DXL Step-by-Step:#3)文書を DXL で取得

今回は、既存文書を DXL でアクセスする方法を整理します。前回作成した新規文書を DXL を取得して、挙動を確認します。


既存文書を DXL で取得

既存文書を DXL でアクセスする流れは次の通りです。

  1. NotesDXLExporter の入力に文書をセット
  2. NotesDOMParser の入力に NotesDXLExporter のオブジェクトをセット
  3. NotesDXLExporter の Process メソッドで DXL の変換を実行
具体的なコードは次の通りです。今回は後続のプログラムで取得した DXL を操作することを前提に、NotesDOMParser クラスのオブジェクトを返す関数として作成してみました。

Function xGetDOMParser(vnd As NotesDocument) As NotesDOMParser
    Dim ns As New NotesSession

    'Dominoデータ を DXL に変換する準備
    Dim dexp As NotesDXLExporter
    Set dexp = ns.CreateDXLExporter()
    Call dexp.SetInput(vnd)

    'パーサーに変換する DXL をセット
    Dim dprs As NotesDOMParser
    Set dprs = ns.CreateDOMParser()
    Call dprs.SetInput(dexp)

    'DXL 変換を実行
    Call dexp.Process()

    Set xGetDOMParser = dprs
End Function


既存文書の DXL

この関数の引数 vnd は、DXL に変換したい文書を指定します。この引数に前回 DXL を使って作成した新規文書を指定して、DXLを抽出すると次のようになりました。

保存(DXL の Import)時に指定した DXL(黄色網掛け部分)以外にもたくさんの項目が出力されています。文書 ID や作成日/作成者など、ノーツ文書の基本的な情報が入っています。DXL で文書を保存する場合も、必要最低限の情報を指定すれば、必要な情報は自動で付加されることがわかります。

NotesDocument クラスを使用して文書を作成しても、フィールドの設定以外は細かな操作は行わず保存するだけなので、同じようなものですね。


前回 DXL Step-by-Step 次回

0 件のコメント:

コメントを投稿