public void run() throws SaxonApiException { super.run(); RuntimeValue wrapperNameValue = getOption(_wrapper); String wrapperNameStr = wrapperNameValue.getString(); String wpfx = getOption(_wrapper_prefix, (String) null); String wns = getOption(_wrapper_namespace, (String) null); if (wpfx != null && wns == null) { throw XProcException.dynamicError(34, step.getNode(), "You can't specify a prefix without a namespace"); } if (wns != null && wrapperNameStr.contains(":")) { throw XProcException.dynamicError(34, step.getNode(), "You can't specify a namespace if the wrapper name contains a colon"); } if (wrapperNameStr.contains(":")) { wrapper = new QName(wrapperNameStr, wrapperNameValue.getNode()); } else { wrapper = new QName(wpfx == null ? "" : wpfx, wns, wrapperNameStr); } groupAdjacent = getOption(_group_adjacent); inGroup.push(false); XdmNode doc = source.read(); wrapperCode = new FingerprintedQName(wrapper.getPrefix(),wrapper.getNamespaceURI(),wrapper.getLocalName()); matcher = new ProcessMatch(runtime, this); matcher.match(doc,getOption(_match)); if (source.moreDocuments()) { throw XProcException.dynamicError(6, "Reading source on " + getStep().getName()); } result.write(matcher.getResult()); }
public void run() throws SaxonApiException { super.run(); RuntimeValue wrapperNameValue = getOption(_wrapper); String wrapperNameStr = wrapperNameValue.getString(); String wpfx = getOption(_wrapper_prefix, (String) null); String wns = getOption(_wrapper_namespace, (String) null); if (wpfx != null && wns == null) { throw XProcException.dynamicError(34, step.getNode(), "You can't specify a prefix without a namespace"); } if (wns != null && wrapperNameStr.contains(":")) { throw XProcException.dynamicError(34, step.getNode(), "You can't specify a namespace if the wrapper name contains a colon"); } if (wrapperNameStr.contains(":")) { wrapper = new QName(wrapperNameStr, wrapperNameValue.getNode()); } else { wrapper = new QName(wpfx == null ? "" : wpfx, wns, wrapperNameStr); } groupAdjacent = getOption(_group_adjacent); inGroup.push(false); XdmNode doc = source.read(); wrapperCode = new FingerprintedQName(wrapper.getPrefix(),wrapper.getNamespaceURI(),wrapper.getLocalName()); matcher = new ProcessMatch(runtime, this); matcher.match(doc,getOption(_match)); if (source.moreDocuments()) { throw XProcException.dynamicError(6, "Reading source on " + getStep().getName()); } result.write(matcher.getResult()); }