Powered by Zoomin Software. For more details please contactZoomin

MarkLogic Data Hub

データハブサーバー側ライブラリ

  • Last Updated: April 5, 2026
  • 10 minute read

データハブサーバーサイドライブラリ

/MarkLogic/data-hub-framework/dhf.xqyライブラリモジュールでは、MarkLogicデータハブと、XQueryまたはJavaScriptコードとのやり取りを容易にする関数を公開しています。

ライブラリをインクルードするには、次のように指定します。

JavaScript

site.data.dhflib.require.js

XQuery

site.data.dhflib.require.xqy

DHF-LIB関数

Run

プラグインとして指定された関数を実行します。このメソッドでは、関数のトレース機能を提供します。トレース機能は、一般的でない例外を捕捉し、トレースデータベースに記録します。

declare function dhf:run($context as json:object, $func)

Parameters

context

   このプラグインのコンテキスト。

func

   実行する関数。

関数が返す内容。

JavaScript

site.data.dhflib.run.js

XQuery

site.data.dhflib.run.xqy

Run Writer

ライタープラグインを実行します。この関数は、ライターを更新モードで実行するために必要です。すべてのデータハブプラグインは、クエリ専用モードで実行されるため、データを保持できません。この関数を使用してライターを実行すると、データを保持できます。

declare function dhf:run-writer($writer-function, $id as xs:string+, $envelope as item(), $options as map:map)

Parameters

writer-function

   実行するライター関数。これは、xdmp:functionでなければなりません。詳細については、以下の例を参照してください。

id

   現在のFlow実行のID。

envelope

   書き込むエンベロープ。

options

   オプションのmap:map

JavaScript

site.data.dhflib.runwriter.js

XQuery

site.data.dhflib.runwriter.xqy

Make Envelope

目的の形式(XMLまたはJSON)でエンベロープを作成します。データ形式がXMLの場合、名前空間はhttp://marklogic.com/entity-servicesです。

declare function dhf:make-envelope($content, $headers, $triples, $data-format) as document-node()

Parameters

content

   エンベロープのコンテンツセクション。

headers

   エンベロープのヘッダーセクション。

トリプル

   エンベロープのトリプルセクション。

data-format

   エンベロープの作成に使用する形式(xml|json)。

XMLまたはJSONエンベロープ(データ形式に依存)。

JavaScript

site.data.dhflib.makeenvelope.js

XQuery

site.data.dhflib.makeenvelope.xqy

Make Legacy Envelope

目的の形式(XMLまたはJSON)でレガシーエンベロープを作成します。データ形式がXMLの場合、名前空間はhttp://marklogic.com/data-hub/envelopeです。この関数は、1.xからアップグレードされ、すでに本番環境にレガシーエンベロープを保持するユーザーを対象としています。

declare function dhf:make-legacy-envelope($content, $headers, $triples, $data-format) as document-node()

Parameters

content

   エンベロープのコンテンツセクション。

headers

   エンベロープのヘッダーセクション。

トリプル

   エンベロープのトリプルセクション。

data-format

   エンベロープの作成に使用する形式(xml|json)。

XMLまたはJSONエンベロープ(データ形式に依存)。

JavaScript

site.data.dhflib.makelegacyenvelope.js

XQuery

site.data.dhflib.makelegacyenvelope.xqy

コンテキスト

プラグインで使用する汎用コンテキストを作成します。コンテキストはRun関数に渡されます。コンテキストでは、適切なトレースに必要な情報を定義します。

declare function dhf:context($label as xs:string) as json:object

Parameters

label

   トレースのためにこのプラグインに指定するラベルです。

Run関数で使用するコンテキストオブジェクト。

JavaScript

site.data.dhflib.context.js

XQuery

site.data.dhflib.context.xqy

Content Context

コンテンツプラグインのコンテキストを作成します。これはContextのために便利なメソッドであり、「content」というラベルのみを使用します。

declare function dhf:content-context([$raw-content]) as json:object

Parameters

raw-content

   (オプション)入力Flowに渡される生のコンテンツ。

Run関数で使用するコンテキストオブジェクト。このコンテキストオブジェクトには、「content」というラベルが含まれています。

JavaScript

site.data.dhflib.contentcontext.js

XQuery

site.data.dhflib.contentcontext.xqy

Headers Context

ヘッダープラグインのコンテキストを作成します。これはContextのために便利なメソッドであり、「headers」というラベルのみを使用します。

declare function dhf:headers-context($content) as json:object

Parameters

content

   コンテンツプラグインからの出力。

Run関数で使用するコンテキストオブジェクト。このコンテキストオブジェクトには、「headers」というラベルが含まれています。

JavaScript

site.data.dhflib.headercontext.js

XQuery

site.data.dhflib.headercontext.xqy

Triples Context

トリプルプラグインのコンテキストを作成します。これはContextのために便利なメソッドであり、「triples」というラベルのみを使用します。

declare function dhf:triples-context($content, $headers) as json:object

Parameters

content

   コンテンツプラグインからの出力。

headers

   ヘッダープラグインからの出力。

Run関数で使用するコンテキストオブジェクト。このコンテキストオブジェクトには、「triples」というラベルが含まれています。

JavaScript

site.data.dhflib.triplescontext.js

XQuery

site.data.dhflib.triplescontext.xqy

Writer Context

ライタープラグインのコンテキストを作成します。これはContextのために便利なメソッドであり、「writer」というラベルのみを使用します。

declare function dhf:writer-context($envelope) as json:object

Parameters

envelope

   作成したエンベロープ。

Log Trace関数で使用するコンテキストオブジェクト。このコンテキストオブジェクトには、「writer」というラベルが含まれています。

JavaScript

site.data.dhflib.writercontext.js

XQuery

site.data.dhflib.writercontext.xqy

Add Trace Input

トレース入力をコンテキストに追加します。複数のトレース入力を追加できますが、それぞれに固有のラベルが必要です。こうした入力は後でトレースに記録されます。

declare function dhf:add-trace-input($context as json:object, $input-label as xs:string, $input) as json:object

Parameters

context

   コンテキスト。

input-label

   入力のラベル。

input

   コンテキストに追加する入力。

指定したコンテキストと、追加入力を返します。

JavaScript

site.data.dhflib.addtraceinput.js

XQuery

site.data.dhflib.addtraceinput.xqy

Log Trace

トレース機能が有効な場合は、トレースを記録します。

declare function dhf:log-trace($context as json:object)

Parameters

context

   コンテキスト。

JavaScript

site.data.dhflib.logtrace.js

XQuery

site.data.dhflib.logtrace.xqy

See Also

関連する概念

TitleResults for “How to create a CRG?”Also Available inAlert