データ値を変換するために実行できるさまざまな操作を表す一連のXQuery関数があります。各関数は値を取り、変換に必要ないくつかのパラメータをとります。また、一連のネストされた関数呼び出しを実行して最終的な値を計算することも計画しています。考えられるのは、これらのパイプラインは、同じパイプラインの関数が異なる開始値で繰り返し呼び出されるため、実行前に設定され、保持されるということです。XQuery関数呼び出しツリーをXMLにシリアライズして実行する
declare function mylib:tokenize($value as xs:string, $delimiter as xs:string) as xs:string
{ ... }
declare function mylib:select($value as xs:string, $index as xs:int) as xs:string
{ ... }
declare function mylib:escape($value as xs:string) as xs:string
{ ... }
- このaは:だから、思考が
<mylib:escape> <value> <mylib:select> <config> <index>2</index> </config> <value> <mylib:tokenize> <config> <delimiter>,</delimiter> </config> <value> $starting-value </value> </mylib:tokenize> </value> </mylib:select> </value> </mylib:escape>
つまり、ネストされたXML要素のシリーズのようなコールスタックを表現し、MYLIBモジュールの名前空間で、私は機能を持つことになりました私は別のアプローチをとるべきですか?
- すでにこの機能を提供している可能性がある既存のライブラリはありますか?
MarkLogicからこれを実行するため、この記事はMarkLogicでタグ付けされています。
ありがとうございました。
私はあなたがなぜmylibの機能に制限されているのだろうと思っています。 tokenize、select、およびescapeは、既存の関数で十分にカバーする必要があります。エンドユーザーにガイダンスが必要な場合は、それらのドキュメントに依存することができます。 – grtjn
[CPF](http://docs.marklogic.com/guide/cpf/overview)を検討しましたか? –
@grtjnこれは例に過ぎません。より多くの機能がありますが、何らかのグラフィカルインターフェイスを介してユーザが設定可能な処理パイプラインを持つことがポイントでした。 –