0

xqueryファイル(.xq)のリンクを変数にすることは可能ですか?

たとえば、次のリンクがあり、これを変数に変換して、for-containsコードで使用できるようにする必要があります。

{ for $x in doc("myfile.xml")/portion/food
     return <li><a href="#link"></a>{data($x)}</li>}</ul>

{ for $y in doc("myfile.xml")/portion[contains(., <THIS IS WHERE THE LINK VARIABLE SHOULD GO>)]

変数を設定する方法は次のとおりですが、2つを組み合わせて機能させることができませんでした

declare variable $hello := ("Hello World");
4

1 に答える 1

0

あなたの質問は、別々に扱われるべき異なるポイントを組み合わせています。私が正しく理解している場合は、クエリ結果をWebブラウザーに表示し、結果ページが作成された後、ユーザー操作で結果ページのDOMを操作する必要があります。最初の部分(ブラウザでの表示)は問題ではないと思います。

ブラウザはファイルにシリアル化されたクエリ結果を表示するだけなので(単純なテキストエディタと同じように)、基本的にブラウザとXQueryエンジンの間にユーザーの再評価を可能にする「連絡」や「通信」はありません。インタラクション。したがって、あなたの質問は基本的に、カスタムパラメータに基づいてXQueryを再評価するそのような方法を作成する方法を尋ねます。

eXist-dbのドキュメントには、興味深いが単純な例があります。これは、ユーザー入力のサーバー側評価と、推測ごとにページコンテンツの変更を必要とする数推測ゲームです。これは、eXist-dbsのセッション処理とXQueryサーブレット機能を使用して、XQueryに完全に実装されています。

数を推測する例をニーズに合わせるのは非常に簡単なはずです。推測数を追跡する必要さえないので、サーバー上にセッションを作成する必要はありません。選択したアイテムidをリクエストとともに送信し(例では、単純なHTMLフォームを使用して推測された数で示すように)、XQuery関数を使用してそのリクエストプロパティを評価するだけで十分です。この例では、local:guess関数がこのタスクを担当し、適切なHTML出力も作成します。

このようなソリューションは、XQueryエンジンの機能に依存します。Javascriptを使用して「スタンドアロン」ソリューションが可能かもしれませんが、それは質問の範囲を超えているようです。

于 2012-05-07T08:44:38.717 に答える