我想通过 XSLT 和 XALAN 转换 XML。现在我想使用一个扩展函数,这个函数必须像 SAXON 一样添加到 JAVA 源代码中:
方法:
TransformerFactory tFactory = TransformerFactory.newInstance();
Configuration c = ((net.sf.saxon.TransformerFactoryImpl) tFactory).getConfiguration();
c.registerExtensionFunction(new FooExtension());
Foo扩展:
public class FooExtension extends ExtensionFunctionDefinition {
private static final long serialVersionUID = -8143237239412146617L;
@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[] { SequenceType.EMPTY_SEQUENCE };
}
@Override
public StructuredQName getFunctionQName() {
return new StructuredQName("ns", "http://namespace", "generate-guid");
}
}
但是它在 XALAN (?FunctionTable?, ?FunctionResolver?, ?URIResolver?) 中是如何工作的,我必须通过源代码来完成,我不允许在 XSLT 中添加类。
谢谢!!