問題タブ [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.
xslt - xsl:copy内の選択されていないすべての属性に対してapply-templatesを実行するにはどうすればよいですか?
次のXSLTがあるとしましょう。
以前のapply-templatesステートメントで指定されていないすべての属性を選択するapply-templatesステートメントでコピーを終了するにはどうすればよいですか?
次は正しいでしょうか?
xslt - XSLT - タイプのすべてのノードにテンプレートを適用する方法は?
私は xsl と関数型プログラミングにまったく慣れていないので、これについて助けていただければ幸いです
。いくつかの xml を変換して出力を提供するテンプレートがあります。問題は、タイプxs:dateの多くの要素があり、すべてが異なるコンテキストにあり、ローカライズする必要があることです。これらの xs:dates の部分文字列を連結して、ローカライズされた日付パターン文字列を生成します。
ご想像のとおり、これにより多くのコピー アンド ペースト " substring-this および substring-that " が発生します。タイプ xs:date のすべての要素をすべてのコンテキスト認識変換を保持するローカライズされた文字列に自動的に変換するテンプレートを作成するにはどうすればよいですか?
私のxslは次のようなものです:
私は私の質問を明確にすることができたと思います=)
UPD: xml の例を次に示します。
出力に関しては、さまざまなオプションがあります。主なことは、これらの値は、テーブル、入力フィールドなど、さまざまな html オブジェクトの値として設定する必要があるということです。xsl リストで例を確認できます。
PS私はxsl 1.0を使用しています。
templates - XSLTapply-for内のテンプレート-each
apply-templates
私は以下のようなXSLTを持っており、要素内で使用したいので、" "XML要素の情報で要素xsl:for-each
を繰り返す必要はありません。<tr>
cliente
私は試みていますが、を作成して中xsl:template
に入れることに成功していません。xsl:apply-templates
xsl:for-each
使用できることは知っていますが、内部または外部でxsl:call-template
使用する方法はありますか?xsl:apply-templates
for-each
これを行う方法について何かアイデアはありますか?
xslt - 値が上書きされないようにするにはどうすればよいですか?
XML メッセージの一部の要素を変換できません。いくつかの値を交換する必要がありますが、最後のノードの値を最初のノードにコピーした後、最初のノードの元の値に到達できません。
私は何時間も検索しており、XSL 内でいくつかのバリエーションを試しましたが、満足のいく結果は得られませんでした。私は経験豊富な XSL プログラマーではありませんが、解決策はそれほど難しくないと思います。問題を説明するために元のメッセージを簡略化しました。どなたかがこの問題について私を助けてくれることを願っています。次の例で説明しましょう。
ソース:
望ましい変換:
私のXSLT:
現在の結果
ProcessMessages/RelatedMessages/Message
の値をにコピーした後、上書きされているように見えるためProcessMessages/Message
、 のデフォルト値に到達できないことに注意してください。ProcessMessages/Message
何か案は?誰かが私を助けることができれば、私はとても感謝しています!
xslt - XSLTは1つの特定のノードを選択から除外します
私はこれに対する答えを高くも低くも見て、何百もの順列を試しましたが、何もうまくいきませんでした。
最初のノードを除いて、単純なXMLドキュメントのすべてのノードを処理しようとしてい<title>
ます。基本的に、私は正確なINVERSEを達成するxslt命令を見つけようとしています。
これが私のソースXMLです:
これが私のXSLTです(apply-templatesの呼び出しで最初に機能すると思っていたものを使用):
そして、これが私が見たいものです(最初の問題がないことに注意してください<title>
):
これを実現するためにどのselect式を使用できますか?
templates - xmlで子要素を除外するには?
私は次のxmlを持っています:
ここでは、州が CT である人の住所フィールドを除外し、州が NY である人の住所を含める必要があります。
xslt - xslで生成されたノードでxsl:apply-templatesを使用するにはどうすればよいですか?
私はこのようなxmlを持っています:
そして私はこれになるためにそれが必要です:
したがって、基本的に、reference
属性を持つ要素がスパンである場合は、そのままにして、を追加しclass="referenceText"
ます。ただし、それが他の要素である場合は、この要素用に作成されたテンプレートも適用する必要があります。そういうわけ<term>
でなる必要があります<i>
-私はそれのためのテンプレートを持っています:
属性を持つすべての要素の変換のために、reference
私はこのテンプレートを持っています:
残念ながら、これにより次の出力が生成されます。
したがって、に<term>
変換されません<i>
。生成されたものにテンプレートを再適用するには、ある種の再帰が必要なようですが、何も思いつきません。
templates - ページへの XSL リンク
私は XSL の初心者なので、質問が簡単すぎたらすみません。
コードを見てください
だから私はページshowall.xslを持っています。xsltテンプレートをそのページに接続するにはどうすればよいですか? 現在、私のページ (showall) は空です。いくつかの例を見せてもらえますか?
templates - XSLT 1.0: 条件を一致属性に入れるか、テンプレートを適用しますか?
と に関して一般的な質問が<xsl:template match="">
あり<xsl:apply-templates/>
ます。
要素に一致する場合がありますE1EDP01
。ただし、すべてのE1EDP01
要素が一致する必要はなく、特定の範囲のみが一致する必要があります。
しかし、特定の範囲の要素のみを一致させる正しい方法は何ですか?
このようにするのは正しいですか:
の範囲を制限するテンプレートE1EDP01
:
または、apply-templates を次のように変更する必要がありますか?
xslt - インポートされたファイルの解析にパラメータを渡す
wsdl:import
WSDLを解析する際に、私は多くのxsd:import
要素に出くわします。@location
インポートを解析して、または@schemaLocation
をパーサーに渡したいと思います。
目的は、インポートされたファイルがファイルをインポートするときにファイルリストを拡大することですfilea.wsdl;filez.xsd;filev.xsd
。このようにして、以前にインポートしたファイルを削除できます。
私はこれらの線に沿って何かを考えるでしょう: