我想要实现的是(使用 Saxon-B 9.1):
1) 使用以下示例类的对象作为参数运行 XSLT 转换
2) 使用选定节点的自反扩展函数填充对象的属性
3) 运行第二个 XSLT 转换(在不同的 XML 输入上)并将上述对象与填充值作为参数传递
4) 将对象中的 XML 节点插入到输出文档中
我的课如下:
public class Example {
. private NodeSet test;
. public RequestInfo() {}
. public void settest(NodeList t) {
. this.test = t;
. }
. public NodeList gettest() {
. return test;
. }
}
第一次转换似乎很好地填充了我的对象(使用 XSLT 中的 settest() 方法)——我可以看到添加到 NodeList 的正确节点。
但是,在运行第二次转换并从 XSLT 中调用 gettest() 方法时出现以下错误:
NodeInfo returned by extension function was created with an incompatible Configuration
我在想我是否应该不使用 NodeList 但也许是撒克逊人可以识别的一些不同的等效类型?我用 NodeSet 尝试过,但得到了同样的错误信息。
对此的任何帮助将不胜感激。