import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.orbeon.oxf.xml.dom4j.LocationSAXWriter; import org.orbeon.oxf.pipeline.api.PipelineContext; import org.orbeon.oxf.processor.ProcessorInputOutputInfo; import org.orbeon.oxf.processor.SimpleProcessor; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; /* * Created on Aug 30, 2007 */ public class UserProcessor extends SimpleProcessor { public UserProcessor() { System.out.println("UserProcessor Constructed..."); addInputInfo(new ProcessorInputOutputInfo("userid")); addOutputInfo(new ProcessorInputOutputInfo("usedetail")); } public void generateData(PipelineContext context, ContentHandler contentHandler) throws SAXException { System.out.println("UserProcessor generateData..."); // Get number from input using DOM4J Document numberDocument = readInputAsDOM4J(context, "userid"); String numberString = (String) numberDocument.selectObject("string(/userid)"); int number = Integer.parseInt(numberString); System.out.println("GOT ID: " + numberString); Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("user"); root.addElement("firstname").addText("jim"); root.addElement("lastname").addText("jones"); System.out.println("AS XML: " + doc.asXML()); LocationSAXWriter saxWriter = new LocationSAXWriter(); saxWriter.setContentHandler(contentHandler); saxWriter.write(doc); } }