public void run() throws SaxonApiException { super.run(); String limitStr = getOption(_limit).getString(); int limit = 0; try { limit = Integer.parseInt(limitStr); } catch (NumberFormatException nfe) { throw XProcException.dynamicError(19, "The limit on p:count must be an integer"); } boolean done = false; int count = 0; while (!done && source.moreDocuments()) { XdmNode node = source.read(); count++; done = (limit > 0 && count == limit); } TreeWriter tree = new TreeWriter(runtime); tree.startDocument(step.getNode().getBaseURI()); tree.addStartElement(c_result); tree.startContent(); tree.addText("" + count); tree.addEndElement(); tree.endDocument(); result.write(tree.getResult()); } }
public void run() throws SaxonApiException { super.run(); String limitStr = getOption(_limit).getString(); int limit = 0; try { limit = Integer.parseInt(limitStr); } catch (NumberFormatException nfe) { throw XProcException.dynamicError(19, "The limit on p:count must be an integer"); } boolean done = false; int count = 0; while (!done && source.moreDocuments()) { XdmNode node = source.read(); count++; done = (limit > 0 && count == limit); } TreeWriter tree = new TreeWriter(runtime); tree.startDocument(step.getNode().getBaseURI()); tree.addStartElement(c_result); tree.startContent(); tree.addText("" + count); tree.addEndElement(); tree.endDocument(); result.write(tree.getResult()); } }