0

我正在使用 XSLT 1.0 和 C# 2.0。我想缓存我加载的文档,这样每当调用下一页时,它应该使用缓存文档而不是再次加载它。

这是 XSLT 的一部分,我在 param sitespath中从 C# 获取物理路径,我知道我可以使用 C# 缓存此文档,但我正在寻找在 xslt 1.0 中缓存加载的文档

示例代码:

<xsl:param name="sitespath"/>
<xsl:variable name="siteInfoPath" select="document($sitespath)/sitedata/region/site/language"/>

现在我想缓存siteInfoPath变量,以便每次它不将其作为文档加载时,它会首先检查缓存的变量尝试从缓存中加载,否则它将再次加载。

这是可能的吗?

请推荐!!

谢谢。

4

1 回答 1

0

我认为您不能在 xslt 中缓存 document() 函数的结果以进行多次转换。document() 函数在运行时进行评估。但是,您可以做的是在您的 c# 程序中缓存文档并将其作为外部参数传递给转换(您可能必须传递 XPathNavigator;请参阅此处的 XsltArgumentList.AddParam 文档http://msdn.microsoft.com/en -us/library/system.xml.xsl.xsltargumentlist.addparam.aspx了解更多详细信息)。

于 2012-06-20T16:03:34.533 回答