問題タブ [xsl-variable]

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

xslt - を使用して XSL 変数の値を出力します。

ノードが存在するかどうかに応じて設定された後、変数のリテラル文字列値を出力しようとしています。条件チェックのロジックは正しいと思います。しかし、それは値を出力していません...

「true」か「false」のリテラル文字列を出力してほしい。しかし、それは何も出力していません。助けてください!ありがとうございました!!!

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

xslt - xsl:sequenceは常に空ではありませんか?

このスタイルシートからの出力がわかりません。

次のXMLに適用した場合:

xsl:message要素によって記述された出力は次のとおりです。

私は代わりにこれを期待しました:

この場合、なぜcount($seq)常に1を返すのですか?後で空をテストできるように、変数の定義をどのように変更しますか?(単純な<xsl:variable name='seq' select='*' />場合は期待される答えが返されますが、オプションではありません...このテンプレートbetweenの変数を変更し、後で空になるかどうかをテストします)。

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

xslt - html または javascript からスタイルシート変数値を指定する方法

私の問題は、xsl を使用するクライアントでのレンダリングに関するものです。これはすでにIEで動作しますが、Firefoxで動作させたいです

まず、スタイルシート (variablexsl.xsl) ここで唯一特別なのは、

<xsl:variable name="module" select="string('RES')"/>

さて、html ファイル index.html

最後に、EDUとRESのボタンをクリックすると、IEではテキストが正しく表示されますが、他のブラウザでは正しく表示されません。document.evaluate() を使用しようとしましたが、エラーが発生し続けました..そして最終的に SO に助けを求めました!

ありがとう!

解決策: スタイルシートに次の変更を加えてから、xsltprocessor().setParameter を使用するとうまくいきました。

スタイルシートの変更: (スタイルシート宣言の直後に新しい xsl:param を追加)

そして、次のように<xsl:variable>直後に宣言を変更<xsl:template match="/">します。

Firefox のクライアント コード

//オブジェクトfunction loadXMLDoc()を使用して ajax リクエストを作成し、呼び出し元にXMLHttpRequestを返します。responseXML

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

arrays - XSLT の異なるループ内で配列を処理する方法

次の xml コードの処理に問題があります。

この xml を EXCEL 互換ファイルに変換する必要があります。それ)

問題は、head/heading 要素 dataType + dataFormat (利用可能な場合) からの情報を行/列/値に適用する方法がわからないことです。これは、Excel がセル内にあるデータ型を認識するのに役立ちます。順序を維持する必要があることは明らかです。列とそのメタデータの数は動的であり、各 XML は異なる場合があります。

私はこのようなものを取得する必要があります:

便利で機能するものを数回作成しようとしましたが、すべての試みが失敗しました。現在のバージョンはこちら:

変数の名前として変数値を使用できないため、このバージョンは役に立ちません。定数値でなければなりません。データ全体の解析は何とか機能しますが、データ型とデータ形式を実装しようとすると壊れました。

編集: データ型とデータ形式に関する情報は、列とその見出しに関するすべての情報を保持する head 要素に配置されます。列は別のテンプレートで処理され、head 要素からの列定義に直接接続されません。関係は、要素の順序によってのみ維持されます。見出しだけでなく、各行と各セル (適切な列) のデータ型と可能なデータ形式 (オプション) の情報を処理する必要があります。

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

xslt - xsl の変数を上書きする

変数を上書きするだけですxsl

変数の値を変更する必要があります。

私はxslに非常に慣れていません。これを達成する方法を教えてください。これはばかげているかもしれませんが、私にはわかりません..

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

html - XSL 変数に HTML タグを挿入できますか

xsl 変数内に html タグを挿入できるかどうかを確認したいだけですか? 例

私が使用する場合

私は取得する必要があります

出来ますか?私が試してみました

私は望ましい出力を得ていませんが

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

java - xsl変数の初期化、メソッドが呼び出されない

xsltは初めてで、質問があります。

必要なすべてのセッターとゲッターを含む検証クラスがあります。たとえば、次のような方法があります。

アプリを起動すると、このメソッドが呼び出されていないことがわかります。

xslファイルに次のようなコードを追加すると、コンソールにテストメッセージのみが表示されます。

では、最初の使用時に私の間違いまたはxsl:variableはどこで初期化されますか?


私はこのコードを持っています:

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

xslt - XSLT 1.0 は xsl:value-of select で変数を選択できません

複数のソースによって生成された XML の一部を変換しようとしています。テキストを value-of select ステートメントに直接入力すると、意図したとおりに機能します。しかし、変数を使用しようとするとすぐに機能しなくなります。

xsl:for-each ステートメントで変数を使用すると、それも正常に機能します。これは正常に動作する XSL です

しかし、xsl:value-of select 内で変数を使用すると、次のコード ブロックで指定されているように機能しません。「firstname」、「firstname | fname」で1つの変数のみを使用したり、テキストを連結(...)しようとしたりするなど、多くの組み合わせを試しました...

入力 XML:

変数に「account/firstname」を指定したため、結果が得られたのは1回だけです。しかし、この方法では、すべての for-each 反復でのみ最初の要素の値を常に取得しました。変数を指定するときにコンテキストが失われるようです (プロセッサは現在「アカウント」エンティティ内にあり、「ファーストネーム」をサブノードとして選択する必要があります)。

XSLT 1.0 から 2.0 への select ステートメントの値で何かが変更されたことを読みましたが、違いが何であるかを完全には理解していません (私は XSLT にかなり慣れていません)。

XSL を機能させるには、どのように XSL を指定する必要がありますか?

更新: コード ブロック 1 のように期待される出力

編集:私が言及すべきだったのは、これらのテンプレートは変更される/変更される可能性があるため、すべての「変数」が1か所にあると簡単になるということです。ターゲットの名前が「連絡先」ではなく、別のものである可能性があり、ドキュメント全体でそれを変更すると、エラーが発生しやすく冗長になります。また、これらの変数は、XmlReader によって読み取られる別のプロセスで使用されます。構成の煩わしさと冗長性をできるだけ低く保つようにしています。