Передать параметр в таблицу стилей XSLT
Я пытаюсь передать пару параметров в таблицу стилей XSLT. Я последовал примеру:--3-->передача параметров в таблицу стилей XSLT через .NET.
но моя преобразованная страница неправильно отображает значение.
вот мой код на 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"/>
Я что-то пропустила?
1 ответов
вот мой XSLT:
<xsl:template match="/"> <xsl:param name="processingId"></xsl:param> ..HTML.. <xsl:value-of select="$processingId"/>
Я что-то пропустила?
Да, вам не хватает того факта, что вызывающий преобразование XSLT может установить значения на глобальном уровне параметры -- не Значения параметров уровня шаблона.
поэтому код должен быть:
<xsl:param name="processingId"/>
<xsl:template match="/">
..HTML..
<xsl:value-of select="$processingId"/>
<!-- Possibly other processing here -->
</xsl:template>