問題タブ [saxon]
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.
java - XSLT と XInclude
重複の可能性:
Java 6 の xinclude のデフォルト サポート?
A.xml
、B.xml
およびという 3 つの XML ファイルがありC.xml
ます。
A には、XInclude を介して B と C が含まれます。
A.xml のインクルードを解決した後で、Saxon に A.xml を処理してもらいたい。
これまでのところ、XInclude をアクティブ化できますが、Saxon は解決された A.xml を受信せず、生のバージョンを受信します:\
どのようにできるのか ?
サクソン 9.3 HE Java 6
xslt - ファイルセットのメモリが不足している/メモリを解放していないAntXSLTタスク
毎月MySQLデータベースに挿入したいデータを含む大きな(1.9 GB)XMLファイルがあります。このためのAntスクリプトを作成しました。
Ant XSLTタスクは1つのファイルをこれほど大きく処理できないため、xml_split(xml-twig-toolsから)を使用して1.9GBのxmlファイルを約4MBの小さなxmlファイルに分割するタスクがあります。
これはすべてうまくいきます。
次のAntxmlを使用して、これらすべてのXMLファイルに対してXSLTタスクを実行します。
問題は、最初のXMLファイルで開始するとすぐに、Linuxトップの「RES」メモリが次のXMLファイルごとに大きくなるのを確認することです。複数の(無関係な)xmlファイルを処理しているので、各xmlファイルの変換の間にメモリが解放されるのではないかと思います。そうではありません...200個の4MBxmlファイルの後、javaはメモリ不足の例外をスローします。
XSLTタスクがすべてのメモリを使い果たすのを防ぐためにできることはありますか?それとも、自分のアプローチを再考する必要がありますか?
xquery - xqueryで小数をフォーマットするにはどうすればよいですか?
XQuery で小数をフォーマットしようとしています。小数は通貨であるため、形式は,###.##
.
例えば:
5573652.23
する必要があります5,573,652.23
と
352769
あるべきです352,769
(または352,769.00
、より簡単/きれいな場合)
現在、http://www.xqueryhacker.com/2009/09/format-number-in-xquery/からこの関数を使用していますが、小数は使用できません。
プロセッサーにSaxon 9HEを使用しています。
どんな助けでも大歓迎です。
- - - アップデート - - -
Dimitre の回答に基づいて、小数部分を保存し、それを戻り文字列の末尾に追加するように関数を変更しました。
新機能
php - Xslt は php では機能しませんが、saxon では機能しました
saxon プロセッサを使用して、時々 Kernow で xslt スタイルシートをテストしています。simplexml または simpledom でさえ xslt 1.0 しか実行できないため、私は常に xslt 1.0 を使用します。次のスタイルシートは php では機能しません:
そのスタイルシートはphpで、whenステートメントをコンパイルできないコンパイルエラーをスローします<xsl:when test="count($ctag/ancestor::*[local-name()=current()/local-name() and text()=current()/text()]|$ctag/descendant::*[local-name()=current()/local-name() and text()=current()/text()])>0">
テンプレートが完璧ではなく、理解しにくいことはわかっています。PHPでこのような問題を経験したことがありますか? ご協力いただきありがとうございます!
ロバート
xml - Saxon-HE で EXSLT サポートを取得するにはどうすればよいですか?
いくつかの XML ファイルに対して処理する必要がある XSLT ファイルがたくさんあります。XSLT ファイルはサード パーティから提供されているため、変更できません。XSLT はバージョン 2.0 です。
私は Mac OS X 10.6 を使用していますが、利用可能な XSLT 2.0 プロセッサはSaxon-HEだけのようです。
ほとんどの XSLT は正常に動作しますが、欠落している関数、特にmonth-in-year()
日付/時刻関連の関数に関するエラーが発生するものもあります。
EXSLT に関するhttp://www.saxonica.com/documentation/extensions/exslt.xmlによると :
これらの拡張機能は、Saxon-PE および Saxon-EE で「すぐに」利用できます。Saxon-HE では使用できません。
EXSLT 関数を Saxon-HE で使用できる方法はありますか?
それがうまくいくなら、喜んで別のツール/プロセッサに移行します。
xml - XSLT 2.0関数は任意の型を返すことができますか?
特定のタイプ(たとえば、1つ以上の要素)の結果を返すXSLT2.0関数を作成しようとしています。これが私が試したことですが、役に立ちませんでした:
Saxonプロセッサから得られるエラーは次のとおりです。
しかし、私はこのようなものを手に入れることを期待していました:
ここで何が欠けていますか?$ outputに適切なタイプ(1つ以上の要素)を指定したと思いました<parent>
が、プロセッサは明らかにメッセージを取得しておらず、テキストのみを表示しています。<parent>
ここで要素のリストを返すにはどうすればよいですか?前もって感謝します...
アップデート:
要約すると、タイトルの質問に対する答えは「はい」です。<xsl:value-of>
元の例の鍵は、との違い<xsl:sequence>
です。前者を後者に置き換えることは、目的の動作を実現する1つの方法です。もう1つの方法は、要素からコンテンツを「アンラップ」<xsl:variable>
することです。これにより、物事が少し整理されます。
私の最初の見落としを見つけてくれたマイケルとジムに感謝します...
performance - xquery プロセッサ、特に Saxon と Zorba の速度比較はどこで確認できますか?
機能の比較は見つかりましたが、速度の比較は見つかりませんでした。
Saxon は Java で書かれており、Zorba は C で書かれていると思いますので、Zorba の方が速いと思われますが、そうでしょうか?
xml - Saxon がファイル出力を生成しないのはなぜですか?
明示的なテキスト出力がない場合でも、XSLT パーサーは空のファイルを生成する必要があります。ただし、Saxon-HE 9.3でファイル出力がまったく生成されない状況があります。
このコマンドを使用してファイルをコンパイルしました。
1.xmlの内容は次のとおりです。
2.xslの内容は次のとおりです。
ただし、出力はありません (空のファイルでさえありません)。エラーメッセージもありません。
何が問題だったのでしょうか?
xml - XQuery fn:idref()関数の使用方法は?
XQuery関数fn:idref()
に何も返さないようにすることができません。
私はこのXMLドキュメントdoc.xmlを持っています;
そしてこのXQuery;
しかし、結果は常に空です。属性idref="xyz"
を型として宣言する必要があるとidref
思いますが、スキーマなしで宣言できますか?
SaxonXQuery1.0プロセッサを使用しています。