問題タブ [apply-templates]

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 投票する
2 に答える
403 参照

xslt - XSLT 複数のスタイルシート

私は次のxmlを持っています

呼び出しテンプレートを実行する XSLT がいくつかありますが、正しく繰り返されません。

これにより、4 つのレコードの代わりに 8 つのレコードが得られます(<s> level)。私はそれが私の反復に関係していることを知っています...しかし、これに対処する方法がわかりません。

スタイルシートの適用についても認識していますが、その謎を解明することもできませんでした...レベルで m の値をチェックし、レベルでスタイルシートを適用することからすべてを処理するだけの XSLT で<TopLevel><\TopLevel><data><s><s>誰かが私を助けることができれば私は信じられないほど素晴らしいものになるでしょう

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

xslt - xsl:apply-templates with params - フォーマットを保存する方法は?

XSLT は、テンプレート エンジンとして使用されます。パラメータを使用してデータを相互に転送するテンプレートの構造があります。

そのテンプレートを呼び出します:

この場合、html コンテンツのフォーマットはそのままで、出力は次のようになります。

しかし、matchor selectin <xsl:apply-templates>(/result/pageの代わりに/) を指定しようとすると、フォーマットが消去されます。パラメータpage-contentは同じです:

XML の例:

0 投票する
3 に答える
27710 参照

xslt - xsltで最初のノードのみを選択する方法

私の XML は、異なる mmid に割り当てられた複数の画像を提供します。

私の XSLT は、size=thumb の URL のみを選択します。

ただし、最初の mmid (この場合は 22404) のサムネイルのみが必要です。私は mmid 値を制御できません。

最初の mmid のサム ファイルのみを出力するようにテンプレートを停止するにはどうすればよいですか?

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

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

xml - XSLT の実際の XML タグ名に基づいて、apply-template 経由でアクセスされる要素を並べ替える

次のような XML があります。

次の XSLT を適用します。

私はこのような出力をしたい:

c のテキストは b のテキストの前にあることに注意してください

次のような xsl:sort を apply-templates に追加する必要があると思います。

<xsl:sort select='/root/section2/*[concat("#", @xml:id)=current()/@xlink:href][local-name()]' order="descending" />

すなわち:

しかし、うまくいきません。</p>

順序付けは xml:id に基づくことはできません。また、テキスト (つまり、 datac 、 datab など) に基づくこともできないことに注意してください。すなわち、)のみ。

select='/root/section2/*[concat("#", @xml:id)=current()/@xlink:href][local-name()]' の実際の値を理解しようとしましたか? したがって、パラメーターとしてテンプレートに送信しました。

そして驚くべきことに、各要素のテキスト (つまり、 b と c ではなく DataB と DataC ) であり、順序の種類 (降順) も適用されていない場合、それは要素の名前ではありませんでした。

次のような出力を得る方法を教えてください。

datac と datab は要素を介してのみアクセスできる必要があることに注意してください。これは、使用できないことを意味します

ありがとう、

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

xml - xsl:apply-imports を変数に適用しますか?

A.xsl は、A.xsl で使用される関数を含む B.xsl をインポートします。A.xsl には ID テンプレートが含まれています。B.xsl の関数は、テンプレート ルールを変数に適用する必要があります。ただし、A.xsl の ID テンプレートがそれらをオーバーライドしています。

私の考えではxsl:apply-imports、B の変数を使用することでしたが、それとは異なり、変数を指すxsl:apply-templates方法はありません。select=元の関数をテンプレート ルールに置き換えることはできません。xsl:includeB.xslを実行せずにこれを行う方法はありますか?

A.xsl:

B.xsl: