}
public void run() throws SaxonApiException {
super.run();
RuntimeValue nameValue = getOption(_new_name);
String nameStr = nameValue.getString();
String npfx = getOption(_new_prefix, (String) null);
String nns = getOption(_new_namespace, (String) null);
if (npfx != null && nns == null) {
throw XProcException.dynamicError(34, "You can't specify a prefix without a namespace");
}
if (nns != null && nameStr.contains(":")) {
throw XProcException.dynamicError(34, "You can't specify a namespace if the new-name contains a colon");
}
if (nameStr.contains(":")) {
newName = new QName(nameStr, nameValue.getNode());
} else {
newName = new QName(npfx == null ? "" : npfx, nns, nameStr);
}
matcher = new ProcessMatch(runtime, this);