問題タブ [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.

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

c# - XslCompiledTransform コンパイル エラー

Empty.xslt ファイルにこの xslt スタイルシートがあります。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:nrki="http://www.essox.cz/xslt/nrki" xmlns:date="http://www.essox.cz/xslt/date" version="1.0" exclude-result-prefixes="msxsl" extension-element-prefixes="nrki date"> <xsl:import href="C:\Users\pparik.ESSOX\Desktop\Xslt\General.xslt" /> <xsl:import href="C:\Users\pparik.ESSOX\Desktop\Xslt\Nrki\General.xslt" /> <xsl:output method="text" indent="yes" /> <xsl:template match="@* | node()"> <xsl:if test="nrki:IsInLastDays('15042011', 6)"> je </xsl:if> </xsl:template> </xsl:stylesheet>

メニュー項目 (Visual Studio で) XML / Show XSLT Output を選択すると、正しい結果が得られます。しかし、コード (XslCompiledTransform) を使用して同じことをしようとすると、コンパイル エラー例外が発生します。

理由はありますか?どうもありがとう、ペトル

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

c# - XslCompiledTransformがxsl:importで失敗する

XSLTファイルがほとんどないので、インデックススタイルシートはxsl:importを使用してレイアウトをインポートします。VSはXSLTが有効であると言っていますが、ロード操作でxsltコンパイル例外が発生し、レイアウトファイルをインポートできないと言われています。プロジェクトディレクトリではなく、c:\ windows\system32で検索しようとします。

Index.xsl:

およびLayout.xsl:

次に、XMLに変換を適用しようとしています。

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

c# - XML を新しい XML 形式に変換するためのアプローチ。オブジェクトを使用している場合、構成機能が制限されますか?

XML をある形式から別の形式に変換する方法について質問があります。

私は、制御できないオブジェクトからシリアル化されたデータを取得するタスクに取り組んでいます。この XML のオブジェクトを生成しました。これを「フォームインスタンス」と呼びましょう。フォーム インスタンスはネストが非常に複雑で、多くの無関係なレイアウト コンポーネントとネストがあるため、これに XSLT を使用するのは難しいと理解しています。

Form インスタンスを取得し、そこからプロパティを割り当てる必要があります - 別のオブジェクトの値に。もう一方のオブジェクトを「標準フォーマット」と呼びましょう。標準形式オブジェクトは、最終的に必要な形式に自分自身をシリアル化します。

フォーム インスタンスは、ユーザーがフォームに入力した結果のシリアル化です。このフォームの「定義」はいつでも変更でき、フォームのレイアウトを変更するだけで、結果のシリアル化のネスト構造が完全に変更されます。どの値から値を取得するかを構成したい。

独自の XML 「構成ファイル」を作成しています。これにより、最終的に「標準形式」オブジェクトにロードしたいフォーム インスタンスのコントロールを指定できます。

フォーム インスタンスは次のように構成されています。

ご覧のとおり、 Form インスタンスのどこにフィールドが存在するかは気にしません (また、誰かがグループ ヘッダーを削除したり、新しいレイアウトを追加したりすると、いつでも変更される可能性があります)。コントロール「名前」。

「フォーム インスタンス」にデータが追加されたときに、構成ファイルを調整できるという意味で、「構成ファイル」を十分に再利用できるようにしたいと考えています。 「フォーム定義に追加されました」は、「標準フォーマット」に書き込みます。また、最終的な出力もこのファイルから構成できるようにしたいと考えています。

「標準フォーマット」オブジェクトでのシリアル化は、必要なものを取得します-最終的にしようとしているものに固有の方法でそれを操作する場合(柔軟性があります)。ただし、フォームインスタンスデータをそのオブジェクトにどのように配置するかをどのように構成できるか疑問に思っています。それをオブジェクトとして扱う場合、結果のシリアライゼーション形式を変更する必要がある場合は、コードを変更する必要があります。

「標準形式」オブジェクトが何を出力するかを知っているので、「構成ファイル」にトークンのような構成セクションを作成して、形式の仕様を許可できると考えるのは間違っていますか?

例:私の「フォームインスタンス」には、最終的に「標準フォーマット」がシリアル化するもので表現したいフィールドが少なくとも2つあります。これらの 2 つのフィールドは、定義されている基になるフォームの定義が変更された場合、いつでも「フォーム インスタンス」シリアル化の位置/ネストを変更できます。

私たちの目的は、標準フォーマット オブジェクトを操作することではなく、最終的にはそれがシリアル化するものになることなので、オブジェクトを削除して、必要な XML に合わせてモデル化することはできますか。たとえば、これは、「Person」オブジェクトを追加した場合に標準形式が生成するものです。

XML 構成ファイルを次のように作成してもよろしいでしょうか。

「標準フォーマット」モデルを変更する必要なく、目的の出力を変更できます。この場合の Person をアクターと見なすと、標準形式オブジェクトの "" の下に配置することも、"" のような別のものの下にネストすることもできます。複数のフォームがありますが、各フォームの「コントロール」はすべて同じ出力になります。したがって、この場合、メイン フォームには、すべて同じ形式で出力する必要がある多数の異なる人物が含まれます。

最終的に必要なのはシリアル化出力だけである場合、標準形式オブジェクトを回避するのは悪いことですか?

アイデアをありがとう。

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

c# - 文字列だけでなく要素の内容をコピーするには?

私の XML には、スタイルが含まれています。XslCompiledTransform Transform の出力は、これらのスタイル タグを持たない HTML になります。XslCompiledTransform にそれらを保持するように指示する方法はありますか? または XslCompiledTransform はデフォルトでそれらを保持する必要がありますか?

ここに私のxmlがあります

私のxsltは要素全体を引き出すだけです

これが私のC#です。デフォルトが適用されている以外は何もありません:

私が xslt からスタイリングを行っていない理由は、ブロックにスタイルが適用され、ランダムなテキストが混在している可能性があるためです。段落内の特定の単語をスタイリングしています。

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

xml - Reg. xmlns issue in XSLT transformation

I'm trying convert xml from one format to other using the XslCompiledTransform in c#. Below is the stylesheet and the source xml,

I'm getting the following exception when I'm going the transformation using XslCompiledTransform "Token Text in state Start would result in an invalid XML document. Make sure tha t the ConformanceLevel setting is set to ConformanceLevel.Fragment or Conformanc eLevel.Auto if you want to write an XML fragment." If I remove the xmlns attribute from the root element everything works fine. Why this happens and how I can fix this?

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

asp.net - VB.NET での XslCompiledTransform と xslt の問題

私はこれでどこに行きますか。xslt シートを使用して変換する必要がある XML ドキュメントがあります。私のコードは次のとおりです。

xslt.Transform(xmldLookup, Nothing, w) 行で次のエラーが発生します。

EndRootElement 状態のトークン StartElement は、無効な XML ドキュメントになります。XML フラグメントを作成する場合は、ConformanceLevel 設定が ConformanceLevel.Fragment または ConformanceLevel.Auto に設定されていることを確認してください。

これは、XML ファイルの内容です。

0 投票する
4 に答える
1686 参照

.net - XslCompiledTransform.Transform 64 ビット メモリの問題

このアプリケーションでは XslCompiledTransform.Transform 関数を使用しています。32 ビット モードで実行する場合の動作は正常ですが、64 ビット モードで実行すると、メモリ消費量が急激に増加します (最終的にメモリ不足の例外がスローされます)。同じコード、同じマシン - 一方は動作するが、もう一方は動作しない .... 誰かが同様の問題を見て、回避策を持っていますか?

ありがとう、

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

c# - XSLTファイル名の処理c#

私がxsltransformで抱えている問題に最もよく対処する方法を考えています。簡単に言えば、すべてが私のテスト環境で機能しますが、サーバーで実行しようとすると、処理しようとするファイル名が原因でクラッシュします。ファイル名は、私が制御できない別のプログラムから出力されます。

例えば。「4Copy(2)of Fed_Around_Six__TFVC020-12.mov.xml」単純な@でこれを解決できますが、実際にはサービスで実行されており、このサービスはディレクトリ内のそのタイプのすべてのファイルを取得し、それらを1つずつ処理します。

私はファイル名変数を次の場所に保持します:

しかし、私が変換に使用する方法は次のとおりです。

受け入れるだけ(String, String)なので、「Fed_Around_Six__TFVC020-12.mov.xmlの4Copy(2)」が表示されると、心臓発作を起こして切断します。

元の名前を保存し、名前を変更し、空白を削除し、変換して、名前を元に戻すことを考えていました。しかし、どこを見ればよいかわからないので、それを処理するためのより賢い方法があると思います。変数をリテラルとして処理するようにC#に指示する方法はありますか?または、命名規則が非常に悪いこれらの奇妙なファイル名を受け入れる別の変換方法ですか?

役立つ洞察は素晴らしいでしょう!

Eventvwrから受け取ったエラーと例外のメッセージは

Fed_Around_Six__TFVC020-12.mov.xmlの\\9g031\ Export \ 4Copy(2)を翻訳できません

OutputName = \\ 9g031 \ Export \ done \ 4Fed_Around_Six__TFVC020-12.mov.xmlのコピー(2)

XSL LOC = C:\ CXS.xsl

System.IO.IOException:指定されたパスが無効です。

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

c# - 変換の新しい行のXsl

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

問題は私が得る変換後です:

私のxsl:outputはindent="no"です。

VisualStudioはすべてのファイルをインデントします。したがって、コードを1行の作業に入れますが

最初はあまり読みにくく、VSはインデントを変更するので、別の解決策が必要です。すこし :

しかし、それは存在せず、また非常に読みやすくはありません。

他の解決策は次のとおりです。

しかし、どうすればこれで以下のようなxsl処理を使用できますか?

使用: <xsl:value-of select="normalize-space($foo)"/>効果はありません原因:との間に
&#xA;作成されます
<xsl:attribute name="href"><xsl:value-of select="normalize-space($foo)"/>

私はxslt 1.0 C# .net 4一緒に働きますXslCompiledTransform

詳細:XslCompiledTransformの結果を

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

c# - 読み込み後に XslCompiledTransform のインスタンスをキャッシュすることは可能ですか?

load メソッドの呼び出し後に XslCompiledTransform のインスタンスの結果を保存する必要があります。どうすればよいですか?