package com.bagri.xquery.saxon.ext.http; import static com.bagri.core.Constants.bg_ns; import static com.bagri.core.Constants.bg_schema; import net.sf.saxon.lib.ExtensionFunctionDefinition; import net.sf.saxon.om.StructuredQName; import net.sf.saxon.value.SequenceType; public abstract class HttpRequest extends ExtensionFunctionDefinition { @Override public StructuredQName getFunctionQName() { return new StructuredQName(bg_schema, bg_ns, getFunctionName()); } protected abstract String getFunctionName(); @Override public int getMinimumNumberOfArguments() { return 1; } @Override public int getMaximumNumberOfArguments() { return 2; } @Override public SequenceType[] getArgumentTypes() { return new SequenceType[] {SequenceType.SINGLE_ANY_URI, SequenceType.STRING_SEQUENCE, SequenceType.STRING_SEQUENCE}; } @Override public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) { return SequenceType.STRING_SEQUENCE; } }