問題タブ [libxslt]

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.

0 投票する
1 に答える
8899 参照

php - PHP XSLT プロセッサを XSLT 2.0 にアップグレードする

XSLT 2.0 を使用するように PHP のライブラリをアップグレードすることは可能ですか?

現在のセットアップ:

0 投票する
1 に答える
1141 参照

python - 「disable-output-escaping」を使用した XSL ショート「value-of」?

次の (例) XML を処理しています。

次の (例) XSL を介して:

Python とlxml( libxslt-1.1.17) を使用すると、次の出力が得られます。

次のテンプレートを使用してこれを回避できることを理解しています。

しかし、それは多くのタイピングです。PHP 内で XSL を使用したことがありますが、短い形式のvalue-of. 上記のすべてを入力し続ける必要がないように、これに対する簡単な修正はありますか?

0 投票する
2 に答える
3227 参照

python - Python-変換

私はlibxml2とlibxsltを使用してXMLファイルを処理しています。戻り値はinstance型ですが、UTF-8静的文字列が必要です。

戻り値を静的文字列に変換するにはどうすればよいですか?

助けてくれてありがとう。

0 投票する
1 に答える
989 参照

php - PHP バージョンのアップグレード後に xsl:include が失敗します。libxml/libxslt バージョンの不一致が問題ですか?

windows.php.netから入手できるコンパイル済みの PHP バイナリを使用して Windows XP を実行しています。PHP 5.2.5 から PHP 5.2.16 にアップグレードしたところxsl:include、一部のスタイルシートの が機能しなくなりました。各バージョンを連続してテストしたところ、5.2.8 までは機能し、5.2.9 以降では機能しないことがわかりました。それぞれに対して次の 3 つのエラーが発生しますxsl:include

これは、指定されたファイルが見つからないためだと思います。インクルードの多くは、変換されるスタイルシートと同じディレクトリにあり、パスにディレクトリがありません<xsl:include href="fileInSameDir.xsl">。興味深いことに、1 番目と 3 番目のエラーでは、正しい 2 つのスラッシュではなく 1 つのスラッシュで file:// プロトコルが表示されています。それが問題だと思います。(「file:/」を使用してフル パスをハードコーディングすると失敗しますが、「file://」を使用してフル パスをハードコーディングすると機能します。) しかし、何が原因でしょうか? libxslt/libxml のバグ? また、libxml と、libxslt がコンパイルされた libxml のバージョンとの間に明らかなバージョンの不一致があることもわかりました。

5.2.5
libxml バージョン => 2.6.26
libxml バージョンに対してコンパイルされた libxslt => 2.6.26

5.2.8

libxml バージョン => 2.6.32 libxml バージョン => 2.6.32
に対してコンパイルされた libxslt

=== 5.2.9 以降のバージョンでは機能しません ===
5.2.9
libxml バージョン => 2.7.3
libxml バージョンに対してコンパイルされた libxslt => 2.6.32

5.2.16
libxml バージョン => 2.7.7
libxml バージョンに対してコンパイルされた libxslt => 2.6.32

PHP 5.2.9 までは、libxslt は、PHP に含まれていたのと同じバージョンの libxml に対してコンパイルされていました。しかし、PHP 5.2.9 以降、libxslt は、PHP に含まれていたバージョンよりも古いバージョンの libxml に対してコンパイルされました。これは配布されたバイナリの問題ですか、それとも単なる偶然ですか?

これをテストするために、さまざまなバージョンの libxml/libxslt を使用して PHP をビルドし、どの組み合わせが機能するかどうかを確認できると思います。残念ながら、私は Windows の世界に慣れていないので、Windows で PHP を構築するのは頭がいっぱいのようです。

残念ながら、これまでのところ、この問題を自分のアプリ以外の例で再現できていないため、絞り込むのに苦労しており、特定のバグを送信することはできません.

それで、あなたはそれが原因だと思いますか

  • 配布されたバイナリのバージョン不一致の問題?
  • PHP 5.2.9 で導入されたバグ?
  • libxml 2.7 で導入されたバグ?
  • 他の何か?

私は困惑しています。私を正しい方向に向ける可能性のある考えは大歓迎です。ありがとう。

0 投票する
1 に答える
3830 参照

xslt - XSL でパラメーター値の型をテストする

私はLibXSLTからこれを取得しています:

param文字列値またはノードセットのいずれかを持つことができるを渡しています。特定の部分文字列が含まれているかどうかをテストし、その場合はその値を別のパラメーターに割り当てようとしています。

呼び出しテンプレート:

呼び出されたテンプレート:

何がLibXSLTをトリップさせているのかはわかりませんが、これらのテストを実行し、値が文字列である場合、上記の型エラーがスローされるという事実だと思います。

しかし、最も重要なのは、パラメータの値のタイプをテストする良い方法はありますか?

更新: GitHubの完全な XSL スクリプト

0 投票する
1 に答える
421 参照

python - libxslt の applyStylesheet() が壊れた XHTML を生成する

Python で libxslt を使用して、XSL スタイルシートを適用する XML データ ファイルを取得しました。<hr/>ほぼ完璧ですが、XSL ファイル内の のすべてのインスタンスが<hr>からの出力に変換されていますunicode(applyStylesheet())。これは私がやっていることのほとんどすべてです:

私は何か間違ったことをしていますか?出力を有効な XHTML にするために欠落しているオプションはありますか?

(私の現在の計画は、行に追加.replace('<hr>','<hr/>')してdata =機能させることですが、もっと良い方法があるはずです。)

0 投票する
1 に答える
1350 参照

regex - libxsltで動作するEXSLTから正規表現を取得するには?

Regexplibxslt で作業した人はいますか? はい、いつ、どのように?

http://www.exslt.org/regexp/index.html

xsltproc --dumpextensions最新のlibxsltでコマンドを使用すると、正規表現のサポートが得られません:-(

0 投票する
2 に答える
709 参照

unix - libxslt のインストール時に正しい libxml2 にリンクできない

インストールしようとしましlibxslt-1.1.24たが、その間にエラーが発生しまし./configureた:

しかし、libxml2-2.7.3インストールされたばかりで、/usr/local/include/libxml2

new whenlibxsltにリンクするにはどうすればよいですか?libxml2./configure

0 投票する
2 に答える
898 参照

perl - XML::LibXSLT を ActiveState Perl 5.8 にインストールする

XSLT 処理には、XML::LibXSLT を使用しようとしています。win32でActiveState Perlを使用しています。私が理解しているように、「perl Makefile.PL」を呼び出す前に、まず libxslt をインストールする必要があります。

win32 上の libxslt の場合、バイナリは既に利用可能であり、それを使用できるようです (したがって、libxslt をコンパイルしてビルドする必要はありません)。ftp://ftp.zlatkovic.com/libxml/で入手できます。

そこで、他の依存関係 (libxml、iconv、zlib) とともに libxslt...zip をダウンロードしました。

しかし、コマンド 'perl Makefile.PL' を使用してコンパイルしようとすると、次のエラー メッセージが表示されます。

このため、後続の 'dmake' コマンドもヘッダー ファイルが見つからないというエラーを出して失敗します。出力は次のとおりです。

不足している構成/セットアップを教えてください。

0 投票する
2 に答える
314 参照

xslt - xslt変数ストレンジネス

誰かが私にこれを説明できますか?(最新のlibxsltを使用):

結果(現在のノードで@attrib = 1の場合):

<a><b>期待される動作を示します。
<x>私見は正しくありません。
しかし、なぜ変数に入れる@attribとそれが「修正」されるの<y>でしょうか。

ところで:存在しないときはすべてが正しい@attrib isです。ここで使用されるコピーはデバッグ用です。元の使用法はXPathの結果を数値に変換し、属性が欠落しているとNaNにはなりませんが、特定のデフォルト値になります。