問題タブ [msxsl]
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.
asp.net - XSLT msxsl:format-date が現在のカルチャを無視する
Visual Studio ASP.NET 4.0 で XSLT (xml version='1.0') を使用しています。
複数の言語で利用可能な製品を使用していますが、nsxsl:format-date で現在の言語を尊重することができません。たとえば、現在のカルチャをフランス語に設定し、次のように記述したとします。
「31-May-2013」のような出力が期待できます。
残念ながら、「月」の部分は翻訳されていません。常に英語版 ('May') を返します。
MSDN のドキュメントでは、3 番目のオプション パラメーター (ロケール) を追加してカルチャを指定することを提案していますが、'locale' パラメーターを省略した場合の既定の動作については言及されていません。
では、'locale' パラメータを省略した場合、format-date() はデフォルトのロケールとしてどこを使用するのでしょうか? また、このデフォルトの動作を変更するにはどうすればよいですか?
ご協力いただきありがとうございます。
xml - XSLT: 空タグで区切られたコンテンツの読み取り
そのため、さまざまな XML ドキュメントを新しいノード レイアウトに処理するための XSLT ファイルの作成に忙しくしています。
理解できないことが 1 つあります。これは、私が使用している XML の例です。
ご覧のとおり、段落は空のタグを区切りとして使用して分割されています。結果のXMLでは、これが必要です:
XSLT (バージョン 1.0 のみ) を使用してこれを実現するにはどうすればよいですか?
c# - XsltArgumentList msxsl で動的に作成された xml を渡す方法
ここで、動的に作成された xml を C# コードで渡して xslt に param として渡し、そこから値を取得する必要があります。
以下はサンプルのxsltです
次に、C# のコードから Transform メソッドを呼び出します
ここで、結果の MYNODE の値を取得できません ありがとう
xml - XSLT 変換をドキュメントの順序に強制するにはどうすればよいですか?
そこで、XML ファイルを HTML に解析するための XSLT 変換を作成しています。しばらくの間、すべてがうまくいきました。しかし、私は問題に遭遇しました。基本的に、私が期待する順序に従っていないようです。
変換には、次のようなコードがあります。
私が期待しているのは、テーブルを作成し、テンプレートに一致する各行を埋めることです。
代わりに、テーブルを開いて閉じ、すべての行を後に配置します。このようなもの。
一体何が起こっているのでしょうか?問題があるかどうかはわかりませんが、msxsl を使用して変換を行いました。また、変換をデータに埋め込んでIEで開いてみました。同じ問題を作成します。これが意図した動作になるかどうかはわかりませんが、欠けているものがあるかもしれません。
編集
テンプレート アプリケーションは、任意の種類の任意の数のタグでラップでき、テンプレート情報が表示される前にすべて開いたり閉じたりすることに注意してください。
html - XSLT を使用して XML のコレクションから HTML ツリーを作成する
最近、任意の XML をネストされた順序なしリストとして表される HTML ツリー ビューに変換する XSLT を実装しました。この XSLT の簡易バージョンを次に示します。
この XSLT は XML スキーマに依存しないことに注意してください。したがって、任意の XML に適用できます。たとえば、与えられた入力 XML
目的のツリー ビューを作成します
問題は、入力 XMl の構造が変更されていることです。実際、これは何らかのルート ノード内にラップされた XML ドキュメントのコレクションのように見えます。以下の例を参照してください。
要件は、すべての異なる値がコンマで連結された「マージされた」コレクションのツリーとして出力を表示する必要があることです。目的の出力を参照してください。
XSLT は依然として「スキーマフリー」でなければならないことに注意してください。 私はこの問題で立ち往生しています。私が見る唯一の解決策は、msxsl:scriptを使用することです。ただし、この場合、XSLT はアプリケーションの外では機能しない可能性があるため、望ましくありません。
何か案は?
xslt - msxsl:script language="JScript" - プロセス ツリー フラグメント?
次のような XML ツリーがあるとします。
JScript で記述された msxsl:script 関数内のツリー要素を選択するにはどうすればよいですか? このような:
公式ドキュメントには C# 言語の例がありますが、JScript の例はありません。同じクラス名を使用しようとしましたが、成功しませんでした。本番環境ではすでに関数が記述されているため、JScript を使用することが重要です。ありがとう!
xml - xslt 1.0 から xslt 2.0 に切り替える方法
MSXSL.exe ユーティリティを使用して xslt コードをトリガーし、ソース XML ファイルを宛先 XML ファイルに変換しています。XSLT 2.0 で利用可能な多くの組み込み関数を使用できません。
ヘッダーを XSLT バージョン 2.0 に変更しましたが、まだ XSLT 2.0 の機能を使用できません。これは、MSXSL.exe が XSLT 2.0 をサポートしていないためですか?
コードでフォーマット日付、文字列連結関数を使用できるように、いくつかの提案を教えてください
xml - 属性が一致する XML 行セットのマージ
次のような xml 行セットが定義されています。
そして、次のような形式に変換しようとしています:
重複する行に注意してください。これはアプリの要件です。また、欠落した lookupValue 行が削除されていることにも注意してください。
この変換を実現する本当に効率的な方法を知っている人はいますか?
ありがとう。
更新: 何を達成しようとしているのかをもっと明確にするべきでした。探しているマージのタイプをよりよく説明するために、いくつかの情報を追加しました。
更新 2:元のデータセットにエラーがあったことを除いて、与えられた答えはうまくいった可能性があります。つまり、lookupValues
属性の形式です。ソース XML には実際のルックアップ テキストに加えてインデックス番号が含まれているため、区切り文字は少し異なります。
xslt - ノード値をカスタム msxsl:script 関数に渡す方法は?
XSLT ドキュメントに次のようなカスタム関数があります。
次のようなノードの値を渡そうとすると:
それは私にこの結果を与えます:
の実際の値を関数に渡していないことNode
がわかりましたが、どうすればそれを行うことができますか? または、関数に渡されているオブジェクトからノードの値を取得しますか?
xslt - XSL ノード セット変数を選択するのではなく構築する
for-each ループを使用して XSL ノード セット変数を作成したいと考えています。構築されたノード セットは、コピーではなく元の (選択された) ノード セットであることが重要です。
これは私の問題の非常に単純化されたバージョンです(もちろん選択で解決できますが、それは問題のポイントではありません)。<name> ノードを使用して、構築されたノード セット変数が実際に元のツリーにあり、コピーではないことをテストしました。
XSL バージョン 1.0、プロセッサは msxsl です。
非動作 XSL:
XML 入力:
必要な出力:
実際の出力:
もちろん、(または) 問題はコピーです。しかし、私はこれを回避する方法を見つけることができません。