1

XMLベースのDBとしてBaseXを使用しています。私は次のような簡単なクエリを作成します

xquery for $Book in 
/Libraray/Literaturelist/Literature/Title return fn:data($Book)

改行のない文字列と同じように、すべてのタイトルを取得します。

データを分離するためにクエリによって検出された各ノードの後に​​XQueryで改行を追加する方法はありますか?タグ内にハードコードされた改行を追加しないため、これは実際にはXMLファイルに依存しません。;)

4

3 に答える 3

2

クエリ結果を取得する方法によって異なります。最も洗練された方法は、たとえば次のようにイテレータを使用することです。

http://basex.org/code/QueryExample

それとは別に、追加の改行を返すことで XQuery を拡張できます。

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), '
')

ただし、追加で出力される空白文字は抑止できません。

ベスト、クリスチャン

PS: basex-talk メーリング リストを使用して、より迅速にフィードバックを得ることができます。

于 2010-06-19T18:21:44.477 に答える
0

改行を追加する別の方法は、改行の文字参照を明示的に使用することです。

xquery for $Book in /Libbraray/Literaturelist/Literature/Title
return (fn:data($Book), "
")
于 2012-05-13T22:28:00.143 に答える
0

XQuery 3.1シリアライゼーション仕様は、新しい「適応」シリアライゼーション モードを提供します。これは、各 XQuery 結果を新しい行に出力します。BaseX 8 以降、このモードが新しいデフォルトとして使用されます。

于 2015-03-06T20:31:36.583 に答える