検索された名前に基づいてフィールドを除外するために使用しているコードのこのセクションがあります。問題は、ユーザーが入力できる内容に関して少し寛大にする必要があることです。だから私はcontains
関数を使用する必要があります。他のコード スニペットで動作するようになりましたが、次のコードでどのように使用できるかわかりません。
var value = stylesheet.evaluate(
"//xsl:for-each[@select='book[author="contains(.,'containsSearchTerm')"']",
stylesheet, nsResolver,
XPathResult.ANY_UNORDERED_NODE_TYPE, null);
引用符/エスケープが少し台無しになっている場合は申し訳ありません。エラーをチェックするための IDE を開いていません。作業の準備をしています。
そのように、containsSearchTerm は、フォームの値を取得し、contains
関数を使用して処理したいものです。これはどのように達成されますか?
私は XML、XSLT、および XPath 全般にかなり慣れていないため、可能であれば少し簡略化する必要があることに注意してください。
への返信 マイケル・ケイ -
こんにちは、検索された用語/単語を XSLT テーブル内の author フィールドに適用しようとしています。はい、あなたは正しいです。それが私がやろうとしていることです。スタイルシートを編集し、入力フォーム内で設定した条件を適用します。これまで、ビルド済みの関数を使用してきました。必要に応じて変更します。検索する入力の値をハードコーディングする場合、contain を外部で機能させることができます。ただし、いわば「オンザフライ」で実行したいのですが、私が求めているコンテキストでこれを機能させる方法が本当にわかりません。私が実際に持っているのは、フォーム内に構築されているクエリです-検索するフィールド、オペランド、および検索語を指定します。しかし、文字列全体を検索したくはありません。これは少し柔軟性に欠けるためです。そのため、contains 関数を使用して、検索を柔軟に行えるようにしたいと考えました。
助けてくれてありがとう