List of usage examples for javax.xml.transform.dom DOMResult DOMResult
public DOMResult(Node node)
From source file:org.directwebremoting.drapgen.generate.gi.GiType.java
/** * @param preprocXslt The preprocessor XSLT * *//*from w ww . j ava 2 s . c om*/ public void cloneForOverloading(String preprocXslt) { try { // Read the XSLT if (preprocessTemplate == null) { Source xslSource = new StreamSource(new File(preprocXslt)); preprocessTemplate = factory.newTemplates(xslSource); } Source xmlSource = new DOMSource(document); DocumentBuilder builder = builderFactory.newDocumentBuilder(); Document newDocument = builder.newDocument(); Result result = new DOMResult(newDocument); Transformer preprocessor = preprocessTemplate.newTransformer(); preprocessor.transform(xmlSource, result); document = newDocument; } catch (TransformerException ex) { SourceLocator locator = ex.getLocator(); log.warn("Line: " + locator.getLineNumber() + ", Column: " + locator.getColumnNumber()); log.warn("PublicId: " + locator.getPublicId()); log.warn("SystemId: " + locator.getSystemId()); log.error("Failed to transform", ex); } catch (Exception ex) { log.warn("Processing Error for " + xmlFile.getAbsolutePath(), ex); } }
From source file:org.freebxml.omar.common.BindingUtility.java
public SOAPElement getSOAPElementFromBindingObject(Object obj) throws JAXRException { SOAPElement soapElem = null;// w w w .ja v a 2s. c om try { SOAPElement parent = SOAPFactory.newInstance().createElement("dummy"); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.marshal(obj, new DOMResult(parent)); soapElem = (SOAPElement) parent.getChildElements().next(); } catch (Exception e) { throw new JAXRException(e); } return soapElem; }
From source file:org.jbpm.bpel.xml.BpelReader.java
protected void read(BpelProcessDefinition processDefinition, Element processElem, ProcessWsdlLocator wsdlLocator) { // see if the bpel document requires updating if (BpelConstants.NS_BPEL_1_1.equals(processElem.getNamespaceURI())) { try {/*ww w . jav a2s .c o m*/ // create bpel upgrader Transformer bpelUpgrader = getBpelUpgradeTemplates().newTransformer(); // install our problem handler as transformer's error listener bpelUpgrader.setErrorListener(problemHandler.asTraxErrorListener()); // upgrade into dom document Document resultDocument = XmlUtil.createDocument(); bpelUpgrader.transform(new DOMSource(processElem.getOwnerDocument()), new DOMResult(resultDocument)); processElem = resultDocument.getDocumentElement(); log.debug("upgraded bpel document: " + processDefinition.getLocation()); } catch (TransformerException e) { Problem problem = new Problem(Problem.LEVEL_ERROR, "bpel upgrade failed", e); problem.setResource(processDefinition.getLocation()); problemHandler.add(problem); } // halt on transform errors if (problemHandler.getProblemCount() > 0) return; } // read attributes in the process element readProcessAttributes(processElem, processDefinition); // read imported documents ImportDefinition importDefinition = processDefinition.getImportDefinition(); readImports(processElem, importDefinition, wsdlLocator); // halt on import parse errors if (problemHandler.getProblemCount() > 0) return; try { // registration gets the query language from the process definition registerPropertyAliases(importDefinition); // finally read the global scope readScope(processElem, processDefinition.getGlobalScope()); log.debug("read bpel document: " + processDefinition.getLocation()); } catch (BpelException e) { problemHandler.add(new Problem(Problem.LEVEL_ERROR, "bpel process is invalid", e)); } }
From source file:org.jzkit.search.util.RecordConversion.FragmentTransformerService.java
public DOMResult createEmptyDOMResult() { return new DOMResult(docBuilder.newDocument()); }
From source file:org.orbeon.oxf.xforms.XFormsUtils.java
public static org.w3c.dom.Document htmlStringToDocumentTagSoup(String value, LocationData locationData) { final org.w3c.dom.Document document = XMLParsing.createDocument(); final DOMResult domResult = new DOMResult(document); htmlStringToResult(value, locationData, domResult); return document; }
From source file:org.pentaho.di.trans.steps.dom.xslt.DOMXslt.java
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException { meta = (DOMXsltMeta) smi;// w w w. ja v a 2 s .c om data = (DOMXsltData) sdi; Object[] row = getRow(); if (row == null) { // no more input to be expected... setOutputDone(); return false; } if (first) { first = false; data.outputRowMeta = getInputRowMeta().clone(); meta.getFields(data.outputRowMeta, getStepname(), null, null, this, repository, metaStore); // Check if The result field is given if (Const.isEmpty(meta.getResultfieldname())) { // Result Field is missing ! logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorResultFieldMissing")); throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.ErrorResultFieldMissing")); } // Check if The XML field is given if (Const.isEmpty(meta.getFieldname())) { // Result Field is missing ! logError(BaseMessages.getString(PKG, "Xslt.Exception.ErrorXMLFieldMissing")); throw new KettleStepException(BaseMessages.getString(PKG, "Xslt.Exception.ErrorXMLFieldMissing")); } // Try to get XML Field index data.fieldposition = getInputRowMeta().indexOfValue(meta.getFieldname()); // Let's check the Field if (data.fieldposition < 0) { // The field is unreachable ! logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorFindingField") + "[" + meta.getFieldname() + "]"); throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.CouldnotFindField", meta.getFieldname())); } // Check if the XSL Filename is contained in a column if (meta.useXSLField()) { if (Const.isEmpty(meta.getXSLFileField())) { // The field is missing // Result field is missing ! logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorXSLFileFieldMissing")); throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.ErrorXSLFileFieldMissing")); } // Try to get Field index data.fielxslfiledposition = getInputRowMeta().indexOfValue(meta.getXSLFileField()); // Let's check the Field if (data.fielxslfiledposition < 0) { // The field is unreachable ! logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorXSLFileFieldFinding") + "[" + meta.getXSLFileField() + "]"); throw new KettleStepException(BaseMessages.getString(PKG, "Xslt.Exception.ErrorXSLFileFieldFinding", meta.getXSLFileField())); } } else { if (Const.isEmpty(meta.getXslFilename())) { logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorXSLFile")); throw new KettleStepException(BaseMessages.getString(PKG, "Xslt.Exception.ErrorXSLFile")); } // Check if XSL File exists! data.xslfilename = environmentSubstitute(meta.getXslFilename()); FileObject file = null; try { file = KettleVFS.getFileObject(data.xslfilename); if (!file.exists()) { logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorXSLFileNotExists", data.xslfilename)); throw new KettleStepException(BaseMessages.getString(PKG, "Xslt.Exception.ErrorXSLFileNotExists", data.xslfilename)); } if (file.getType() != FileType.FILE) { logError(BaseMessages.getString(PKG, "Xslt.Log.ErrorXSLNotAFile", data.xslfilename)); throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.ErrorXSLNotAFile", data.xslfilename)); } } catch (Exception e) { throw new KettleStepException(e); } finally { try { if (file != null) { file.close(); } } catch (Exception e) { /* Ignore */ } } } // Check output parameters int nrOutputProps = meta.getOutputPropertyName() == null ? 0 : meta.getOutputPropertyName().length; if (nrOutputProps > 0) { data.outputProperties = new Properties(); for (int i = 0; i < nrOutputProps; i++) { data.outputProperties.put(meta.getOutputPropertyName()[i], environmentSubstitute(meta.getOutputPropertyValue()[i])); } data.setOutputProperties = true; } // Check parameters data.nrParams = meta.getParameterField() == null ? 0 : meta.getParameterField().length; if (data.nrParams > 0) { data.indexOfParams = new int[data.nrParams]; data.nameOfParams = new String[data.nrParams]; for (int i = 0; i < data.nrParams; i++) { String name = environmentSubstitute(meta.getParameterName()[i]); String field = environmentSubstitute(meta.getParameterField()[i]); if (Const.isEmpty(field)) { throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.ParameterFieldMissing", name, i)); } data.indexOfParams[i] = getInputRowMeta().indexOfValue(field); if (data.indexOfParams[i] < 0) { throw new KettleStepException( BaseMessages.getString(PKG, "Xslt.Exception.ParameterFieldNotFound", name)); } data.nameOfParams[i] = name; } data.useParameters = true; } data.factory = TransformerFactory.newInstance(); if (meta.getXSLFactory().equals("SAXON")) { // Set the TransformerFactory to the SAXON implementation. data.factory = new net.sf.saxon.TransformerFactoryImpl(); } try { data.builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); } catch (ParserConfigurationException e) { e.printStackTrace(); throw new KettleStepException(e); } } // end if first // Get the field value Document xmlValue = (Document) row[data.fieldposition]; if (meta.useXSLField()) { // Get the value data.xslfilename = getInputRowMeta().getString(row, data.fielxslfiledposition); if (log.isDetailed()) { logDetailed(BaseMessages.getString(PKG, "Xslt.Log.XslfileNameFromFied", data.xslfilename, meta.getXSLFileField())); } } try { if (log.isDetailed()) { if (meta.isXSLFieldIsAFile()) { logDetailed(BaseMessages.getString(PKG, "Xslt.Log.Filexsl") + data.xslfilename); } else { logDetailed(BaseMessages.getString(PKG, "Xslt.Log.XslStream", data.xslfilename)); } } // Get the template from the cache Transformer transformer = data.getTemplate(data.xslfilename, data.xslIsAfile); // Do we need to set output properties? if (data.setOutputProperties) { transformer.setOutputProperties(data.outputProperties); } // Do we need to pass parameters? if (data.useParameters) { for (int i = 0; i < data.nrParams; i++) { transformer.setParameter(data.nameOfParams[i], row[data.indexOfParams[i]]); } } Source source = new DOMSource(xmlValue); // Prepare output stream Document doc = data.builder.newDocument(); // transform xml source DOMResult result = new DOMResult(doc); transformer.transform(source, result); //By default the DOMResult object creates a Document node to hold the output: Document outputDocument = (Document) result.getNode(); if (log.isDetailed()) { logDetailed(BaseMessages.getString(PKG, "Xslt.Log.FileResult")); //logDetailed( xmlString ); } Object[] outputRowData = RowDataUtil.addValueData(row, getInputRowMeta().size(), outputDocument); if (log.isRowLevel()) { logRowlevel( BaseMessages.getString(PKG, "Xslt.Log.ReadRow") + " " + getInputRowMeta().getString(row)); } // add new values to the row. putRow(data.outputRowMeta, outputRowData); // copy row to output rowset(s); } catch (Exception e) { String errorMessage = e.getMessage(); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); DefaultErrorHandler.printLocation(pw, e); pw.close(); errorMessage = sw.toString() + "\n" + errorMessage; if (getStepMeta().isDoingErrorHandling()) { // Simply add this row to the error row putError(getInputRowMeta(), row, 1, errorMessage, meta.getResultfieldname(), "XSLT01"); } else { logError(BaseMessages.getString(PKG, "Xslt.ErrorProcesing" + " : " + errorMessage)); throw new KettleStepException(BaseMessages.getString(PKG, "Xslt.ErrorProcesing"), e); } } return true; }
From source file:org.sakaiproject.tool.assessment.qti.util.XmlUtil.java
/** * Transform one document into another//from w w w . ja v a 2s . c o m * * @param document source Document * @param stylesheet XSLT Document * * @return transformed Document */ public static Document transformDocument(Document document, Document stylesheet) { if (log.isDebugEnabled()) { log.debug("Document transformDocument(Document " + document + ", Document " + stylesheet + ")"); } Document transformedDoc = createDocument(); DOMSource docSource = new DOMSource(document); DOMResult docResult = new DOMResult(transformedDoc); Transformer transformer = createTransformer(stylesheet); transform(transformer, docSource, docResult); // log.debug("INPUT DOCUMENT: \n" + (document)); // log.debug("TRANSFORM DOCUMENT: \n" + getDOMString(stylesheet)); // log.debug("OUTPUT DOCUMENT: \n" + getDOMString(transformedDoc)); return transformedDoc; }
From source file:org.sakaiproject.tool.assessment.qti.util.XmlUtil.java
public static Document transformDocument(Document document, Transformer transformer) { if (log.isDebugEnabled()) log.debug("Document transformDocument(Document " + document + ", Trasformer " + transformer); Document transformedDoc = createDocument(); DOMSource docSource = new DOMSource(document); DOMResult docResult = new DOMResult(transformedDoc); transform(transformer, docSource, docResult); return transformedDoc; }
From source file:org.sakaiproject.tool.assessment.qti.util.XmlUtil.java
public static void transformNode(Node source, Node result, Transformer transformer) { if (log.isDebugEnabled()) { log.debug("transformNode(Node " + source + ", Node " + result + ", Transformer ," + transformer); }//from w w w. j av a 2s . c o m DOMSource domSource = new DOMSource(source); DOMResult domResult = new DOMResult(result); transform(transformer, domSource, domResult); }
From source file:org.sakaiproject.tool.help.RestContentProvider.java
/** * transform document/* w w w . j a va2 s . c o m*/ * @param document * @param stylesheet * @return */ private static Document transformDocument(Document document, Document stylesheet) { if (LOG.isDebugEnabled()) { LOG.debug("transformDocument(Document " + document + ", Document " + stylesheet + ")"); } Document transformedDoc = createDocument(); DOMSource docSource = new DOMSource(document); DOMResult docResult = new DOMResult(transformedDoc); Transformer transformer = createTransformer(stylesheet); transform(transformer, docSource, docResult); return transformedDoc; }