問題タブ [xslcompiledtransform]
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.
xslcompiledtransform - 平易な英語でのXslCompiledTransformに関する情報が必要
XSLCompiledTransformの適切な実装を説明するリンクはありますか?ありがとう
c# - XslCompiledTransform を使用すると、なぜ resolve-QName() が不明な XSLT 関数になるのでしょうか?
XSLT 2.0 スタイルシートW3.org WSDL 1.1 から WSDL 2.0 へのコンバーター を使用して、WSDL 1.1 を WSDL 2.0 に変換しようとしています。
XslCompiledTransform を使用して .NET (C#) で作業しています。
「resolve-QName() は不明な XSLT 関数です」という例外が発生する理由を知っている人はいますか?
回避策はありますか?
どうも
.net - .NET で、UTF-16 XMLDocument を BOM 付きの文字列に書き込む方法
xml ドキュメントを使用して、.NET でオンザフライでXmlDocumentを構築しています。次に、それをXslCompiledTransformのTransform()メソッドで変換します。
Transform() メソッドは、エンコーディングに対して無効な文字がストリームで見つかったため、例外をスローしました。Visual Studio の TextVisualizer を使用して文字列をコピーしてAltova XmlSpyに貼り付けると、エンコーディングの問題が見つかりません。
ドキュメントに UTF-16 ヘッダーを追加して UTF-16 としてレンダリングし、結果のテキストから Transform を呼び出して、BOM について不平を言うようにしました。以下は、私が使用したコードの簡略版です。
その結果、次のように文字列に書き込んでいます。
BOM を追加したり、BOM を気にしないように XslCompiledTransform.Transform を取得するにはどうすればよいですか?
c# - XslCompiledTransform とシリアル化
XslCompiledTransform を使用して、あるオブジェクトを別のオブジェクトに変換する関数をいくつか実装しようとしています。
オブジェクトを XML 文字列にシリアライズし、XML 文字列をオブジェクトにデシリアライズするための実装をいくつか見つけました。
別の関数は、object1 から obejbct2 への XslCompiledTransform を実行します。
XSLT ファイルを生成するために、Altova MapForce を使用し、シリアル化されたオブジェクトの XML をロードし、いくつかの属性をマップしました。
問題は次のとおりです。
- 最初に、XslCompiledTransform が XSLT バージョン 2.0 で動作しないことに気付きました。XSLT 2.0 で動作する新しい関数はありますか? 多分いくつかの設定?
- 次に、XML をオブジェクトにデシリアライズしようとすると、例外が発生します。どこに問題があるのか わかりません。そのようなことを行うサンプルコードはありますか? 私がグーグルで見つけたのは、HTMLコードの変換であり、オブジェクトではありません。
関数は次のとおりです。
おかげさまで、
オムリ。
c# - XslCompiledTransform を XPathDocument として出力
XslCompiledTransform を使用しようとしており、出力を XPathDocument として使用しています。
何か案は?
.net - XslCompiledTransformはInfopathに悲しみを引き起こします
私はInfoPath開発者ではありません。これは、XSLTとの最初の実際の出会いです。最近、Sharepointにアップロードされたinfopathフォームをhtmlに変換する必要があるプロジェクトに取り組む必要がありました。HTMLに入ると、サードパーティのライブラリを使用して、必要な/サポートされている形式を吐き出すことができます。
コードで行うこと:
- XslCompiledTransformオブジェクトを作成します。これは、SharePointにアップロードされたXsnを解析し、そこでXslを使用することによって行われます。View1.xslを使用します。ここでは問題は発生しません。
- Xmlフォームは、ストリームとして変換メソッドに返されます。変換メソッドでは、ストリームを使用して変換を適用する必要があるXmlDocumentを作成します。
- 次に、XmlDocumentを、StringWriterオブジェクトに入力するXmlTextWriterオブジェクトとともにtransform()メソッドに渡します。次に、StringWriterを使用してhtmlを文字列またはストリームとして提供し、それをサードパーティライブラリに渡して、PDF/MHTなどの任意の形式に変更できます...
変換後に発生する問題:
- DateFormattingを失います。元々1-12-2009として設定された日付は2009-1-12になります
- 画像が失われました。画像の代わりに、「X」が含まれる空の画像プレースホルダーが表示されます。
- マスター詳細セクションが失われます。
- すべてのhtmlコントロールが通過します。現在、htmlstreamを文字列に変換し、不要なhtmlを除外する汎用メソッドを使用しています。ドロップダウンリストで選択した値を除外するコードの一部もあります。そうすることで、htmlに「選択済み」属性がないが、ドロップダウンリストで値が選択されているというシナリオに遭遇しました。この文字列全体の構文解析は適切ではなく、ハックです。これを行うためのより良い方法はありますか?
- XSNファイルに複数のビューがある場合、どうすればビューを検出できますか。
- xmlドキュメントを渡すだけで十分な、より簡単な変換方法はありますか。XmlForm.CurrentView.Export()メソッドのように、特定のシナリオを処理できます。
任意の提案、ポインタなどをいただければ幸いです。元のXmlと、変換されたHtmlと、メソッドがクリーンアップした後に残ったHtmlを送信できてうれしいです。
前もって感謝します。
ムハンマド。
c# - .NETを介してXSLTスタイルシートにパラメーターを渡す
XSLTスタイルシートにパラメーターを渡そうとしていますが、XSlCompiledTransformを使用してドキュメントを変換すると、空のxmlドキュメントしか取得できません。
これは、パラメーターを追加するために使用されるC#メソッドです(人々の提案を追加した後)
これがスタイルシートです。渡すパラメータは「Boss_ID」です
機密情報であるため、入力したすべてのドキュメントを投稿することはできませんが、簡単なサニタイズバージョンを次に示します。
誰か助けてもらえますか?
ありがとう
xslt - 動的XSLファイル
C:\ templates \ Test\file.pdfのようなものへのパスを持つ3つのXSLファイルがあります
このパスは常に同じになるとは限りません。XSLでハードコーディングするのではなく、パスC:\ templates \test\をタグ[BASEPATH]に置き換えてください。 xslファイルをXSLTransformオブジェクトに追加します(はい、廃止されていることはわかっています。同時にXSLCompiledTransformに移動できます)。タグ[BASEPATH]をWebフォルダーの絶対ファイルパスに置き換えたいと思います。 (またはServer.MapPath( "〜").netにあるように表示)
クエリ文字列を介してXSLファイルの名前を取得し、xmlcontent-typeを介してXSLファイルを返すXSLLoaderaspxページを作成できる可能性があると思いました。これを試してみると、503エラーが発生するので、このようなURLをXSLTransform.Loadメソッドに渡すことができるかどうかはわかりません。
何をすべきかアイデアはありますか?
c# - XslCompiledTransform.Transform出力からXMLディレクティブを除外します
を使用して、XsltCompiledTransform
一部のXMLをHTMLのフラグメントに変換しています(完全なHTMLドキュメントではなく、他の場所で生成されたページに含めるDIVのみ)。
私は次のように変換を行っています:
私の問題は、変換の結果が常にこのXMLディレクティブで始まることです。
変換されたデータにこれが表示されないようにするにはどうすればよいですか?
編集:
XSLTにxml宣言を出力したくないと言っています
しかし、これは私の出力に表示されるディレクティブには影響しないようです。
興味深いことに、私のXMLデータソースとXSLTトランスフォームの両方が自分自身をUTF-8
notとして指定していUTF-16
ます。
更新:
出力メカニズムとしてstring(builder)を使用しているため、UTF-16が表示されているようです。MemoryStream
の代わりにを使用するようにコードを変更するStringBuilder
と、UTF-8エンコーディングが保持されます。string
これは、このタイプの内部動作と、エンコーディングの処理方法に関係していると思います。
c# - 複数のXML入力ファイルを使用したXSLT変換
複数の入力XMLファイルで変換を実行することは可能ですか?
を使用して実行することはできないようXslCompiledTransform
ですが、XSLTを適用する別の方法はありますか?