- PR -

XindiceのXpathでワイルドカードは使用できるのか

1
投稿者投稿内容
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2003-12-20 17:39
皆さんこんにちは。
サーブレットでXindiceを使用してXMLを検索しているのですが、
Xpathで「*」や「?」といったいわゆるワイルドカードを使用した
あいまい検索は可能でしょうか。

String Xpath = ABC[@name='*山*']

のような感じで実現可能でしょうか。だいぶ試しましたができませんでした。
どなたかご存知でしたらご教授お願いいたします。
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-12-22 11:06
xindiceで使えるか分かりませんが、
String Xpath = "ABC[contains(@name,'山')]";
とかはどうでしょうか?
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2003-12-26 17:33
t-wataさんレスありがとうございます。
早速やってみたのですが残念ながらできませんでした・・。

"ABC[contains(@name,'山')]";  や、
"ABC[contains(@name='山')]";  とか、
"ABC[@name='*山*'] や、
"ABC[@name=*'山'*] でも駄目でした。

Xpathの性質上できないのでしょうか・・。トホホ。

t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2004-01-03 12:55
> 早速やってみたのですが残念ながらできませんでした・・。

"//ABC[contains(@name,'山')]";
でもダメ?
そもそも、
"ABC[@name='なんとか山なんとか']";
みたいに存在するものを完全に指定したらちゃんと取れているのか
は確認していますか?
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2004-01-07 13:20
できました!t-wataさんありがとうございます!

>ABC[@name='なんとか山なんとか']";
みたいに存在するものを完全に指定したらちゃんと取れているのか
は確認していますか?

ご心配いただきありがとうございます。

<ABC name="岡山県">
</ABC>
のような感じで確認はとれておりました。
検索可能になったのは
"//ABC[contains(@name,'山')]"; で、//の部分がポイントだったようです。
これで、HTMLのフォームからキーワードを受け取って、あいまい検索、AND検索ができるようになりました。
本当にありがとうございました。
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2004-02-24 15:09
すいません・・・。
このプログラム //ABC[contains(@name,'山')]
は何か特別なライブラリが必要なのでしょうか・・。
他のマシンに同じ環境を移行したのですが、このcontainsの部分だけ
検索ができません。

//ABC[@name='岡山県']で検索すると表示されます。
1

スキルアップ/キャリアアップ(JOB@IT)