Я использую Saxon-He v.9.5.1-2 для XSLT, и мне нужна специальная функция Java, которая позволила бы мне возвращать несколько значений (предпочтительно карту значений) за один вызов. Возможно ли этого добиться?
Я думал о расширении класса 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 ?
*/
}
};
}
}
Если для карты это невозможно, как тогда вернуть список? Пожалуйста, порекомендуйте.