private Group readGroup(Step parent, XdmNode node) { checkAttributes(node, new String[] { "name" }, false); String stepName = checkNCName(node.getAttributeValue(_name)); Group step = new Group(runtime, node, stepName); checkExtensionAttributes(node, step); step.setParentDecl((DeclareStep) parent); step.parent = parent; Vector<XdmNode> rest = readSignature(step); if (rest == null) { throw XProcException.staticError(15, node, "A p:group must contain a subpipeline."); } for (XdmNode substepNode : rest) { Step substep = readStep(step, substepNode); step.addStep(substep); } step.checkPrimaryIO(); return step; }
for (Input input : p_group.inputs()) { inputs.put(input.getPort(), input); for (Output output : p_group.outputs()) { outputs.put(output.getPort(), output); runtime.error(null, p_group.getNode(), "The p:group and p:catch in a p:try must declare the same outputs", XProcConstants.staticError(9)); if (s1output.getPrimary() != output.getPrimary()) { valid = false; runtime.error(null, p_group.getNode(), "Output port " + output.getPort() + " has different primary status.", XProcConstants.staticError(9)); runtime.error(null, p_group.getNode(), "Output port " + output.getPort() + " is extra.", XProcConstants.staticError(9)); if (!port.endsWith("|") && p_group.getOutput(port) == null) { valid = false; runtime.error(null, p_group.getNode(), "Output port " + port + " missing.", XProcConstants.staticError(9));
for (Input input : p_group.inputs()) { inputs.put(input.getPort(), input); for (Output output : p_group.outputs()) { outputs.put(output.getPort(), output); runtime.error(null, p_group.getNode(), "The p:group and p:catch in a p:try must declare the same outputs", XProcConstants.staticError(9)); if (s1output.getPrimary() != output.getPrimary()) { valid = false; runtime.error(null, p_group.getNode(), "Output port " + output.getPort() + " has different primary status.", XProcConstants.staticError(9)); runtime.error(null, p_group.getNode(), "Output port " + output.getPort() + " is extra.", XProcConstants.staticError(9)); if (!port.endsWith("|") && p_group.getOutput(port) == null) { valid = false; runtime.error(null, p_group.getNode(), "Output port " + port + " missing.", XProcConstants.staticError(9));
private Group readGroup(Step parent, XdmNode node) { checkAttributes(node, new String[] { "name" }, false); String stepName = checkNCName(node.getAttributeValue(_name)); Group step = new Group(runtime, node, stepName); checkExtensionAttributes(node, step); step.setParentDecl((DeclareStep) parent); step.parent = parent; Vector<XdmNode> rest = readSignature(step); if (rest == null) { throw XProcException.staticError(15, node, "A p:group must contain a subpipeline."); } for (XdmNode substepNode : rest) { Step substep = readStep(step, substepNode); step.addStep(substep); } step.checkPrimaryIO(); return step; }