問題タブ [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.
xml - XSL:名前空間定義を結果のXMLドキュメントにエクスポートしないようにします
いくつかのXMLファイルからデータを取得し、それらを新しいXMLドキュメントに変換したいと思います。ただし、XSLTでの名前空間の定義が結果ドキュメントで発生することは望ましくありません。
言い換えると:
ソース:
スタイルシート:
結果:
変換にmsxslを使用しています。
xslt - msxsl.exe の後継?
フレームワークを msxml4 から msxml6 に移行する予定です。まだ msxsl.exe を使用しています。コマンド ライン msxsl.exe -u バージョン 6.0 でわかるように、4.0 までの MSXML バージョンのみをサポートしているようです。msxsl.exe の後継はありますか? 代替のコマンド ライン プロセッサはありますか?
.net - 参照されたXSLテンプレートでスクリプトを作成するためのアセンブリの使用
2つのXSLファイルがあります。1つには、を使用した別のが含まれます<xsl:include>
。メインテンプレートは、ノード値に応じて呼び出す実際のテンプレートを決定し、含まれているテンプレートには実際の変換ルールが含まれています。ここでは特別なことは何もありません。
ただし、含まれているファイルにはスクリプトブロックがあります。
user:escape()関数は、後で含まれているテンプレートで使用されます。
次に、VS2008XSLTデバッガーに移動します。
メインテンプレートが呼び出さ<xsl:apply-templates>
れ、含まれているテンプレートが実行されます。また、FileNotFound例外が発生し、「ファイルまたはアセンブリ'MyEscaper、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=null'またはその依存関係の1つを読み込めませんでした。システムは指定されたファイルを見つけることができません。」
ここで、含まれているファイルだけに移動して、何にも含まれていないスタンドアロンテンプレートであるかのように実行すると、すべてが機能します。アセンブリが検出され、関数が呼び出されますが、インクルージョンとして設計されたテンプレートとして、結果は明らかに意味がありません。
では、質問-テンプレートが含まれているのに、なぜシステムがアセンブリを見つけられないのでしょうか?
詳しくは
ドキュメントには、「アセンブリパス名は2回解決されます。1回はコンパイル中、もう1回は実行中です」と記載されています。パスに意図的にタイプミスをすると、同じFileNotFound例外が発生しますが、フォーマットが異なり、システムはfile:// C:\ Absolute \ Path\MyEscaper.dllを見つけることができないと言います。ただし、パスが正しい場合、例外はMyEscaper.dll、version = blabla、public token = nullが見つからなかったと主張し、その例外は.Netによって作成されたCompiledStylesheet.dllで発生します。コンパイルされたスタイルシートは、hrefではなく名前でアセンブリを呼び出すように指示されていると思います。また、一時フォルダーにないため、呼び出しは失敗します。
なぜそうなのか?絶対パスが(誤って)相対パスに変換される場所と理由、およびそれを制御するにはどうすればよいですか?
xslt - XSLTを使用してXMLファイルの属性のみを変換し、他のコンテンツを残すにはどうすればよいですか?
以下のxmlファイルがあり、XSLTを使用して変換し、すべての要素と属性を保持したいのですが、値が「SQL:」で始まる属性に発生した場合は、SQLを実行して置換します解決されたSQLの属性値(http://msdn.microsoft.com/en-us/library/533texsx(VS.90).aspxが含まれます。現在、問題が発生しました:現在のノードタイプかどうかを確認する方法は属性であり、属性値を置き換える方法は、次のようにVisualStudioのデフォルトテンプレートに基づいています。
サンプルのxmlファイル(実際には多くの要素があります):
デフォルトのxslt:
xslt - XSLT の属性をコピーする
これで、次のような XML ファイルができました。
XSLT を使用して変換したいのですが、このタンプレットには、変換する DV を決定するパラメーターがあります。パラメーター ($dvIndex = 0) の場合、すべての要素と属性を保持し、属性を属性に変換するだけです。 "SQL:" で始まる値で、($dvindext > 0) の場合、特定の DV を変換するだけです (他の DV を削除します)。XSLT を以下のように記述しましたが、DM の属性が欠落しており、DM の属性をコピーする方法がわかりません。より良い解決策があるかどうかはわかりません。XML ファイル:
この質問は、私の質問 2# ( XSLT を使用して XML ファイルの属性のみを変換し、他のコンテンツを残すにはどうすればよいですか? )にも関連しています。
どうもありがとう!
xml - パラメータを渡し、それを xslt で使用する方法
xml ファイルと関連する xslt ファイルがあります。msxsl.exe を使用しており、コマンド ライン引数としてパラメーターを渡し、それを xslt ファイルで使用する必要があります。どうやってやるの???
指図:
india
xslt ファイルの値を取得する方法は?
xml - xmlはxslを使用して2つのファイルをマージしますか?
<type>
2 つの類似した xml ファイルをマージする必要がありますが、次の例のように、共通のタグで一致するレコードのみをマージする必要があります。
file1.xml は
file2.xml は
の出力があるように
xslでこれを行う基本は何ですか? どうもありがとう。
c# - .NET XsltCompiledTransformでXPath式「document('')」を使用するにはどうすればよいですか?するべきか?
私は現在、帯域幅を節約するために、XML+XSLTをサポートするクライアントにXML+XSLTを送信しているWebサイトで作業しています。ただし、クライアントがサポートしていない場合は、サーバー側で変換を実行し、結果のHTMLを送信します。
私のXSLTでは、次のようなXPathを使用したいと思います。
(ノードセットを返すため)。これはFirefoxとIEの両方でうまく機能しますが、XsltCompiledTransformでは機能しません。
この操作は、相対URIではサポートされていません。
XmlUrlResolverでエラーが発生しているようです。カスタムのものを渡すことができることはわかっていますが、それを超えると、どこを見ればよいのかよくわかりません。この式をどのように機能させるかについて、誰かが私にヒントを教えてもらえますか?必要に応じて、いくつかのMSXSL拡張機能を使用できてうれしいです。結局のところ、コードはサーバー側でしか表示されません。
より一般的な注意点として、この種のXPathクエリを実行するのは一般的ですか?私は気づいていない巨大なXSLTトラップに陥っていますか?遅いWebブラウザが停止するようなクレイジーなことをするのでしょうか?
xslt - how to iterate through XML param in XSLT
I have an XML file that I am transforming via XSLT. I am passing an XML as parameter to the XSLT via C#. The parameter's name is attachment and it contains XML. It is written as follows:
My xml parameter looks like
Now in XSLT I need to iterate through this XML param and create a link.
Here is my XSLT
But it doesn't create a link.
javascript - Internet Explorer で XSLT を使用して XML を変換する
XSLT シートから XHTML コードへの XML ファイルを解析するには、JavaScript スクリプトが必要です。コードは Firefox、Opera、Safari と互換性があります。
Internet Explorer および Chrome では無効なコードです。IE 用の Microsfot.XMLDOM ライブラリについては知っていますが、その使用方法がわかりません。IE とオプションの Chrome 用の適切なコードを作成するにはどうすればよいですか?