Я использую Saxon-He v.9.5.1-2 для XSLT, и мне нужна пользовательская функция Java, которая позволила бы мне вернуть несколько значений (предпочтительно карту значений) за один вызов. Можно ли это достичь?Пользовательская функция Java Saxon XSLT возвращает несколько значений
Я думал о расширении класса net.sf.saxon.lib.ExtensionFunctionDefinition как это:
public class GetSth extends ExtensionFunctionDefinition {
@Override
public StructuredQName getFunctionQName() {
return new StructuredQName("bf", "http://some.url.com/", "get-sth");
}
@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[]{SequenceType.ATOMIC_SEQUENCE};
}
@Override
public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
return SequenceType.NODE_SEQUENCE;
}
@Override
public ExtensionFunctionCall makeCallExpression() {
return new ExtensionFunctionCall() {
@Override
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException {
Map<String, String> map = <my_map_here>;
/*
How to return multiple values? I would expect to return some class from net.sf.saxon.value package.
return ?
*/
}
};
}
}
Если это не представляется возможным для карты, как вернуть список тогда? Пожалуйста, порекомендуйте.
Именно это я и искал, спасибо! – pempek