无论如何,我可以获取查询字符串变量的值并与 xsl 一起使用它。我试过了<xsl:param name="qsVariableName">
,但没有成功,它没有中断,但是当我尝试像这样输入它时它给了我一个空值。
www.example.com?qsVariableName=true
<xsl:param name="qsVariableName" />
<xsl:value-of select="$qsVariableName"></xsl:value-of>
无论如何,我可以获取查询字符串变量的值并与 xsl 一起使用它。我试过了<xsl:param name="qsVariableName">
,但没有成功,它没有中断,但是当我尝试像这样输入它时它给了我一个空值。
www.example.com?qsVariableName=true
<xsl:param name="qsVariableName" />
<xsl:value-of select="$qsVariableName"></xsl:value-of>
来自源 XML 文件或 XSLT 的查询字符串参数不会自动映射到<xsl:param>
样式表中的设置。
<xsl:param>
调用转换时需要显式设置。根据环境以及您调用它的方式,设置参数的语法不同。
在 Java 中,您可以使用以下内容设置参数:
javax.xml.transform.Transformer trans =
transFact.newTransformer(xsltSource);
trans.setParameter("qsVariableName", "true");
在 XSLT 2.0 中,您可以使用该document-uri()
函数获取源 XML 文件的 URL,然后解析该值以获得查询字符串参数和值的序列。
tokenize(substring-after(document-uri(/), '?'), '&')
例如,如果您使用上面的代码转换带有 url 的 XML 文件:http://example.com/file.xml?qsVariableName=true
它将返回“qsVariableName=true”。