package com.antennahouse.xslt.extension;
import net.sf.saxon.expr.XPathContext;
import net.sf.saxon.lib.ExtensionFunctionCall;
import net.sf.saxon.lib.ExtensionFunctionDefinition;
import net.sf.saxon.om.Sequence;
import net.sf.saxon.om.StructuredQName;
import net.sf.saxon.trans.XPathException;
import net.sf.saxon.value.SequenceType;
import net.sf.saxon.value.StringValue;
public class UriUtilFunctionDefinition extends ExtensionFunctionDefinition{
@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[] { SequenceType.SINGLE_STRING, SequenceType.SINGLE_STRING};
}
@Override
public StructuredQName getFunctionQName() {
return new StructuredQName("", "java:com.antennahouse.xslt.extension.UriUtil", "getRelativePath");
}
@Override
public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
return SequenceType.SINGLE_STRING;
}
@Override
public ExtensionFunctionCall makeCallExpression() {
return new ExtensionFunctionCall() {
@Override
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException {
try {
String dest = ((StringValue) arguments[0]).getStringValue();
String base = ((StringValue) arguments[1]).getStringValue();
String result = UriUtil.getRelativePath(dest, base);
return StringValue.makeStringValue(result);
} catch (Exception ex) {
throw new XPathException(ex);
}
}
};
}
}
--
You received this message because you are subscribed to the Google Groups "DITA-OT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dita-ot-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/dita-ot-users/32ce94a3-ab8b-4bba-8c6e-64bc5236e8f6n%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/dita-ot-users/128adbe1-5340-4f8b-8a63-bc8555708354n%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/dita-ot-users/5dbbfd49-aa79-4bf2-ab1e-7ba665615e96n%40googlegroups.com.