Xslt 将URL参数放入XSL变量中

Xslt 将URL参数放入XSL变量中,xslt,Xslt,例如,我有一个XSL-XML页面,该页面以特定url打开 有时URL有一些参数 比如说 我想从URL中提取源参数,并将其放入xsl:变量中 我想用javascript在window.top.location.search.substring(1)中实现这一点;我不知道如何将结果放入xsl:变量中 有人能帮忙吗?XSLT处理器通常提供一种工具来设置样式表中全局参数的值。比如, 下面是一个可以在基于Gecko的浏览器(例如FireFox)上运行的示例 首先,您需要一个带有xsl:param名称的样式

例如,我有一个XSL-XML页面,该页面以特定url打开 有时URL有一些参数 比如说

我想从URL中提取源参数,并将其放入xsl:变量中

我想用javascript在window.top.location.search.substring(1)中实现这一点;我不知道如何将结果放入xsl:变量中


有人能帮忙吗?

XSLT处理器通常提供一种工具来设置样式表中全局参数的值。比如,

下面是一个可以在基于Gecko的浏览器(例如FireFox)上运行的示例

首先,您需要一个带有xsl:param名称的样式表


然后将此javascript放入html文件中,以便浏览器进行解释:

//保存转换文档的Var
var transformeddoc=null;
//要转换的源文档。我们将使用document.body作为一个简单的示例。
var sourcedoc=document.body;
//从窗口的查询字符串中提取参数
var params=extractparms(window.location.search);
//创建xslt处理器
var xsltproc=new XSLTProcessor();
//设置样式表参数
xsltproc.setParameter(null,'pLanguage',params.pLanguage);
xsltproc.setParameter(null,'source',params.source);
//加载xslt文档
var xslt=document.implementation.createDocument(“,“test”,null);
addEventListener(“加载”,processXslt,false);
load(“/xslt stylesheet.xsl”);
//加载文档后,执行转换
函数processXslt(){
xsltproc.importStylesheet(xslt);
transformeddoc=xsltproc.transformToDocument(sourcedoc);
//transformeddoc现在是此xml的DOM:
//plsc
}
函数提取参数(查询字符串){
变量参数={'pLanguage':'','source':''};
var qs=querystring.replace(/^\?/,“”);
qs=qs.分割('&');

对于(var i=0,kv;i)和参数,我不是指xsl:param。我指的是URL的参数。在这里,我指的是参数pLanguage和source。我用一个例子扩展了答案,但同样的原则适用于“将结果放入xsl:variable”