- PR -

XindiceのXPathによる検索について

1
投稿者投稿内容
Tam
会議室デビュー日: 2002/11/27
投稿数: 4
投稿日時: 2004-01-12 14:42
ものすごく初歩的な質問で申し訳ないのですが、
Xindiceに登録されているXML文書をXPath式で検索するときに、
例えば、下記のようなXML文書が登録されているとしますと、
<A>
<B>abcde</B>
<B>12345</B>
</A>

コマンドプロンプトで、
1)Xindice xpath -c /db -q /A/B
はできるのですが、
2)Xindice xpath -c /db -q /A/B[.='abcde']
という検索ができません。

1)では、結果として
<B xmlns:src="http:// ・・(略) ">abcde</B>
<B xmlns:src="http:// ・・(略) ">12345</B>
が表示されるのですが、
2)の場合、何も結果として表示されません。

私としては、2)の場合、
<B xmlns:src="http:// ・・(略) ">abcde</B>
が結果として返ってくるつもりでXpath式を作っているのですが、何かおかしいのでしょうか?

前のスレッドを参考にして、
Xindice xpath -c /db -q //A[B=*[text()='abcde']]というのも試みてみたのですが、
何も結果として返ってきませんでした。

実行環境は
OS:Windows2000
Java:j2sdk-1.4.1_05
Xindice1.0
です。

これができないために、先に進みません。
どなたか、助けていただけませんでしょうか?
よろしくお願いします。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-01-12 19:02
" で括ってはどうでしょう。
Windows でワンライナーなどの任意文字列を渡すのは経験が必要です
引数は パス名のみ 的な扱いが感じられます。

echo %5 >x.bat
x xp -c /db -q /a/b[.'abcde']
/a/b[.'abcde']
指定されたパスが見つかりません。

x xp -c /db -q /a/b[.='abcde']
/a/b[.
指定されたパスが見つかりません。

x xp -c /db -q "/a/b[.='abcde']"
"/a/b[.='abcde']"
指定されたパスが見つかりません。OK?

= で切れてますから。

または 引数全体をくくる。

cmd.exe のコマンドラインになじめなければ、
bash などに変更(日本語は?ですが)

[ メッセージ編集済み 編集者: MMX 編集日時 2004-01-12 19:06 ]

[ メッセージ編集済み 編集者: MMX 編集日時 2004-01-12 19:10 ]
tam
会議室デビュー日: 2003/12/10
投稿数: 6
投稿日時: 2004-01-13 11:10
返信どうもありがとうございます。

さっそくMMXさんの言われた通りにやってみたら、できました。

このようなことは、いままで意識したことがなく、
私の知識不足を痛感しました。
これからもっと勉強していこうと思っています。

このたびは、ほんとにありがとうございました。
1

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