問題タブ [exist-db]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
variables - インポートされたXQueryモジュールで変数が設定されていない理由(E:XPDY0002)を特定できません
XQueryでTEXTCLASSからTEIへのタイプスイッチを作成しようとしています。それはそれほど難しいプロセスではありませんが、退屈なので、できるだけ多くのことを自動化しようとしています(そして、より長くかかり、長期的にはより多くを学ぶ)。
Oxygen12とExist1.4.1を使用しています。
今、私はtransform-tei.xqを実行します。これは、gen.xqmの関数を使用して便利なダンディトランスフォーマーを作成します。関数「convert-attr-default」(その目的はノードの属性を取得し、それらの名前/値を小文字に変換することになっています)を追加した後、transform-tei.xqはスローします
"E [localhost] XPDY0002:変数'$attr-name'が設定されていません。[58行18列][58行18列]"
理由がわかりません。XQueryは私が自分で教えようとした最初の言語であり、O'Reillyの本は素晴らしいものですが、それでも新しいタイプの学習であるため、かなり単純なものが欠けていると思います。
。
ありがとう!
xpath - 予期しない文字「!」エラーxpath
xquery/xpath 環境を使用して HTML5 ページを生成するつもりです... 以下は、私のページ テンプレート関数です。
(: Displays the page :)
declare function mobunpage:display-page($pageinfo as element()) as element() {
<!DOCTYPE HTML >
<html>
{mobunpage:get-head($pageinfo)}
<body>
{mobunpage:get-foot($pageinfo)}
</body>
</html>
};
そして、それで私はエラーを取得します:
「モジュール mobunpage の読み込み中にエラーが見つかりました: modules/mobunpage.xqm からモジュールを読み込み中にエラーが見つかりました: 予期しない文字: '!'」
eXist XML データベースで実行していて、doctype なしでページを追加すると上記のエラーが発生し、ページが正常に動作し、解析された変数が表示されます。誰でもそのようなエラーに対処する方法を知っています。エスケープしても問題は解決せず、ドキュメント (http://www.w3.org/TR/xpath-functions/) の関数をいくつか試しましたが、今のところうまくいきません。間違いなくいくつかの助けに感謝します。ありがとう!
random - とにかく結果が小さなサブセットになるときまでに XQuery の順序を遅延評価する方法は?
XQuery ベースの XML データベース内に多数のレコードがあるとします。
「多数」とは、100 万以上を意味します。
XQuery を使用して、リストから 1 つの項目をランダムに取得したいとします。
レコードの数が増えると、データベースからすべてをロードしてメモリ内で並べ替えるように見えるため、評価の実行に膨大な時間がかかります。それはO(n log 2n)かもしれないと思います。ため息が出るほどの遅さ。
これを行うための怠惰でより良い方法はありますか?
「アイテムの数を数えてから、ゼロからカウントまでの数をランダムに選択する」方法がありますが、これは避けたいと思います。
理想的には、次のような機能があれば、データベースがそれを実行できます。
これはFLOLWRでしょうね。しかし、SQL (または実際には SPARQL やその他の多くのクエリ言語) では十分に一般的なことですが、XQuery 仕様には含まれていません。
これを取得する方法はありますか?where 句を追加すればそれは可能ですが、where 句は order 句の前に評価されるため、あまり役に立ちません。
助言がありますか?(XQuery を送信するアプリケーションは Java で作成されており、XML データベースは eXist です。それが少しばかりのカーブボール的で突飛なアイデアに役立つ場合)。
xquery - XQueryストアドプロシージャを処理およびデプロイするための最良の方法は?
物事を展開するためのツールはありますか?たとえば、スキーマとXQueryストアドプロシージャのバンドルがある場合はどうなりますか?たとえば、それらをzipまたはtarファイルにバンドルしてアップロードしたり、eXistにデプロイしたりする方法はありますか?
あるいは、これらのものをバージョン管理された方法で(たとえば、gitリポジトリで)保存し、eXistサーバーにデプロイするための最良の方法は何ですか?理想的には、スクリプト言語で簡単なスクリプトを作成できると便利です。そうすれば、「deploy.py」などを呼び出すだけで、リポジトリからすべてを取得してXMLデータベースにロードできます。
xpath - xpath の変数
eXistに xquery を書いています。
通常、私はこの方法を使用してxmlでアイテムを選択します:
しかし今、文字列変数から xpath を取得したいと考えています。
もちろん、うまくいきません。私が今見つけた唯一の方法は、次を使用することeval
です:
eval
でも遅くて安全ではないので使いたくありません。
私は次のようなものがあることを知っています:
しかし、ノードの名前だけでなく、パス全体でアイテムを選択したいのですが、使用しようとしましnode-xpath()
たが、同じように使用する方法がわかりませんname()
xml - 既存のデータベースからxmlファイルをロードする方法は?
既存のデータベースに保存したxmlファイルをロードしてWebで表示できるようにしようとしましたが、何も機能しません。その方法を教えてください。ありがとう
これは、既存のデータベースから取得しようとしている Xml ドキュメントです。
xml - XML DBに保存されているXMLファイルに特殊文字を追加しますか?
現在、eXist xmlデータベースを使用しています。通常は、通常のxmlファイルを格納するだけです。「lambda」のようないくつかの特別なエンティティをxmlファイルに入れようとすると、常に次のエラーが発生することがわかりました。
eXist dbのさまざまな構成ファイルにエンティティ定義を追加するためのすべての可能な方法を試しましたが、それでもまったく効果がありません。ただし、&quot、&amp、&ltは機能しています。
xmlファイルに特殊文字を追加するという同様の経験を持っている人はいないでしょうか。ありがとう。
xml - XSLT - タグを表示する代わりに HTML をレンダリングする
XSLT での出力エスケープについて議論しているいくつかのスレッドをたどりましたが、問題に対処しているようには見えません。タグがエンコードされたコンテンツを生成するリッチ テキスト エディター (RTE) があります。
タグなどのコンテナのブラウザでコンテンツをレンダリングする場合、<div>
xslt copy-ofメソッドを使用していますが、これはコンテンツを文字どおりに表示するように見え<span>data data</span>
ますが、必要なようにタグをレンダリングしませdata data
ん。value-ofを使用している間に disable-output-escaping=yesを試しましたが、まだブエノはありません:(。ウェブを精査したこの1つで助けていただければ幸いです。これまでのところ何もうまくいかないようです。ありがとう
セットアップ - XML DB 1.5 トランクと XSLT バージョン 2 が存在する
java - Javaを介したeXistデータベースへのアクセス
xqueriesを評価するためのオンライン評価システムを開発する必要があります。eXistdbxmlデータベースを使用しようとしています。私はJava、struts2、apachetomcatサーバーでWebアプリを開発しています。Javaを使用してxmlスキーマドキュメントとxmlインスタンスドキュメントをアップロードするにはどうすればよいですか?また、xmlドキュメントでxqueryを起動し、結果を取得できるはずです。