我正在使用Saxon 9 HE
and in NetBeans 7.0.1
,当我尝试将参数发送到我的样式表时出现以下错误:
只是为了确保,这是发送参数的好方法,所以我可以用
<xsl:param ... />
?
如果是这样,我该如何使用它?
谢谢!
我正在使用Saxon 9 HE
and in NetBeans 7.0.1
,当我尝试将参数发送到我的样式表时出现以下错误:
只是为了确保,这是发送参数的好方法,所以我可以用
<xsl:param ... />
?
如果是这样,我该如何使用它?
谢谢!
String[] fruit = {"apple", "banana", "cherry"};
QName paramName = new QName("in");
for (String s: fruit) {
StringWriter sw = new StringWriter();
out.setOutputWriter(sw);
t.setParameter(paramName, new XdmAtomicValue(s));
t.setDestination(out);
t.transform();
System.out.println(s + ": " + sw.toString());
}
从消息中可以看出,您需要传递 annet.sf.saxon.s9api.Qname
作为第一个参数(而不仅仅是 string "myVar"
)。
第二个参数必须构造为net.sf.saxon.s9api.XdmValue
.
只是为了确保,这是发送参数的好方法,所以我可以用
<xsl:param ... />
?
在您的 XSLT 样式表(主样式表和在一个xsl:import
或一个xsl:include
指令中引用的任何样式表模块)中,您必须有一个全局(的子级xsl:stylesheet
)xsl:param
,其名称与用于构造Qname
您作为第一个参数传递给setParameter()
.
当setParameter()
执行该方法并调用转换时,相应的全局xsl:param
将具有用于构造XdmValue
作为第二个参数传递给setParameter()
.