XSLTスタイルシートにいくつかのパラメータを渡そうとしています。私はこの例に従っています:Passing parameters to XSLT Stylesheet via .NET。パラメータをXSLTスタイルシートに渡す
しかし、私の変換されたページが正しく値を表示していません。
ここは私のC#コードです。 Visual Studio 2010ではXSLT 2.0を使用しないため、カスタム関数を追加して算術演算を行う必要がありました。ここで
var args = new XsltArgumentList();
args.AddExtensionObject("urn:XslFunctionExtensions", new XslFunctionExtensions());
args.AddParam("processingId", string.Empty, processingId);
var myXPathDoc = new XPathDocument(claimDataStream);
var xslCompiledTransformation = new XslCompiledTransform(true);
// XSLT File
xslCompiledTransformation.Load(xmlReader);
// HTML File
using (var xmlTextWriter = new XmlTextWriter(outputFile, null))
{
xslCompiledTransformation.Transform(myXPathDoc, args, xmlTextWriter);
}
は私のXSLTです:
<xsl:template match="/">
<xsl:param name="processingId"></xsl:param>
..HTML..
<xsl:value-of select="$processingId"/>
私は何かが足りないのですか?ここで
あなたは'ます。を持っていますか?ローカルパラメータを作成するテンプレート内でパラメータを定義したようです。外部パラメータの場合、パラメータはグローバルでなければならないので、xslと同じレベルで定義する必要があります。template要素 – Pawel
トップレベルでの意味がわかりません。パラメータの定義は、私の質問に貼り付けたの下にあります。その上にタグがあります。 –
coson
私はそれがxsl:templateの中にあってはならないことを意味しました。次のようなものを試してください: '" $ processingId "/> ... ' –
Pawel