private void writeUpdatedTMX (TiledMap tiledMap, FileHandle tmxFileHandle) throws IOException { Document doc; DocumentBuilder docBuilder; DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); try { docBuilder = docFactory.newDocumentBuilder(); doc = docBuilder.parse(tmxFileHandle.read()); Node map = doc.getFirstChild(); while (map.getNodeType() != Node.ELEMENT_NODE || map.getNodeName() != "map") { if ((map = map.getNextSibling()) == null) { throw new GdxRuntimeException("Couldn't find map node!"); } } setProperty(doc, map, "atlas", settings.tilesetOutputDirectory + "/" + settings.atlasOutputName + ".atlas"); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); outputDir.mkdirs(); StreamResult result = new StreamResult(new File(outputDir, tmxFileHandle.name())); transformer.transform(source, result); } catch (ParserConfigurationException e) { throw new RuntimeException("ParserConfigurationException: " + e.getMessage()); } catch (SAXException e) { throw new RuntimeException("SAXException: " + e.getMessage()); } catch (TransformerConfigurationException e) { throw new RuntimeException("TransformerConfigurationException: " + e.getMessage()); } catch (TransformerException e) { throw new RuntimeException("TransformerException: " + e.getMessage()); } }
import java.io.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; //method to convert Document to String public String getStringFromDocument(Document doc) { try { DOMSource domSource = new DOMSource(doc); StringWriter writer = new StringWriter(); StreamResult result = new StreamResult(writer); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.transform(domSource, result); return writer.toString(); } catch(TransformerException ex) { ex.printStackTrace(); return null; } }
/** * Warn the user of a problem. * * @param xctxt The XPath runtime state. * @param msg Warning message key * @param args Arguments to be used in warning message * @throws XSLProcessorException thrown if the active ProblemListener and XPathContext decide * the error condition is severe enough to halt processing. * * @throws javax.xml.transform.TransformerException */ public void warn(XPathContext xctxt, String msg, Object args[]) throws javax.xml.transform.TransformerException { String formattedMsg = XSLMessages.createWarning(msg, args); ErrorListener errHandler = xctxt.getErrorListener(); errHandler.warning(new TransformerException(formattedMsg, (SAXSourceLocator)xctxt.getSAXLocator())); }
/** * Find the most contained message. * * @return The error message of the originating exception. */ public String getMessage() { String lastMessage = super.getMessage(); Throwable exception = m_exception; while (null != exception) { String nextMessage = exception.getMessage(); if (null != nextMessage) lastMessage = nextMessage; if (exception instanceof TransformerException) { TransformerException se = (TransformerException) exception; Throwable prev = exception; exception = se.getException(); if (prev == exception) break; } else { exception = null; } } return (null != lastMessage) ? lastMessage : ""; }
super.printStackTrace(s); Throwable prev = exception; exception = se.getException();
SourceLocator causeLocator = ((TransformerException)cause).getLocator(); if(null != causeLocator) locator = causeLocator; cause = ((TransformerException)cause).getCause(); else if(cause instanceof SAXException) cause = ((SAXException)cause).getException(); exception.setLocator(locator);
tfactory = TransformerFactory.newInstance(); tfactory.setErrorListener(new DefaultErrorHandler(false)); argv[++i], ObjectFactory.findClassLoader(), true); tfactory.setURIResolver(uriResolver); Node xslDOM = docBuilder.parse(new InputSource(xslFileName)); strResult = new StreamResult(new FileOutputStream(outFileName)); strResult.setSystemId(outFileName); strResult = new StreamResult(System.out); throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_IN_MEDIA, new Object[]{inFileName, media})); //"No stylesheet found in: " throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_STYLESHEET_PI, new Object[]{inFileName})); //"No xml-stylesheet PI found in: " transformer.setErrorListener(new DefaultErrorHandler(false)); transformer.setOutputProperty(OutputKeys.METHOD, outputType); doc.createDocumentFragment(); serializer.transform(new DOMSource(outNode), result);
/** * Prints out the contents of the given xml, in a more readable form. * * @param bucketName the name of the bucket you're listing. * @param content the raw XML string. */ private static void prettyPrintXml( final String bucketName, final String content) { // Instantiate transformer input. Source xmlInput = new StreamSource(new StringReader(content)); StreamResult xmlOutput = new StreamResult(new StringWriter()); // Configure transformer. try { Transformer transformer = TransformerFactory.newInstance() .newTransformer(); // An identity transformer transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "testing.dtd"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty( "{http://xml.apache.org/xslt}indent-amount", "2"); transformer.transform(xmlInput, xmlOutput); // Pretty print the output XML. System.out.println("\nBucket listing for " + bucketName + ":\n"); System.out.println(xmlOutput.getWriter().toString()); } catch (TransformerException e) { e.printStackTrace(); } }
private static void serialize(Source source, StreamResult target) { TransformerFactory factory = TransformerFactory.newInstance(); setIndent(factory, 2); try { Transformer transformer = factory.newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); transformer.setOutputProperty(OutputKeys.MEDIA_TYPE, "text/xml"); transformer.transform(source, target); } catch (TransformerException e) { throw new GroovyRuntimeException(e.getMessage()); } }
@Override @Signature public Memory format(Environment environment, Memory... args) { if (!args[0].instanceOf(WrapDomDocument.class)) { throw new IllegalArgumentException( "Argument #1 must be instance of " + ReflectionUtils.getClassName(WrapDomDocument.class) ); } StringWriter writer = new StringWriter(); StreamResult result = new StreamResult(writer); try { transformer.transform(new DOMSource(args[0].toObject(WrapDomDocument.class).getWrappedObject()), result); return StringMemory.valueOf(writer.toString()); } catch (TransformerException e) { environment.exception(ProcessorException.class, e.getMessage()); return Memory.NULL; } }
StreamResult sr = new StreamResult(); sr.setOutputStream(out); Transformer trans = TransformerFactory.newInstance().newTransformer(); trans.transform(msg, sr); e.printStackTrace();
private void transform(Document doc) { DOMSource source = new DOMSource(doc); this.setWriter(new StringWriter()); StreamResult result = new StreamResult(this.outputWriter); try { transformer.transform(source, result); } catch (TransformerException e) { e.printStackTrace(); } }
if(getXPathContext().getNamespaceContext() == null){ getXPathContext().setNamespaceContext(getStylesheet()); ((SAXSource)source).getInputSource()==null && ((SAXSource)source).getXMLReader()==null )|| (source instanceof DOMSource && ((DOMSource)source).getNode()==null)){ try { DocumentBuilderFactory builderF = DocumentBuilder builder = builderF.newDocumentBuilder(); String systemID = source.getSystemId(); source = new DOMSource(builder.newDocument()); throw new javax.xml.transform.TransformerException(e); m_errorHandler.fatalError(new TransformerException(se)); (SerializationHandler) SerializerFactory.getSerializer(format.getProperties()); throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_OUTPUT_SPECIFIED, null)); //"No output specified!"); throw new TransformerException(ioe); throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_CANNOT_TRANSFORM_TO_RESULT_TYPE, new Object[]{outputTarget.getClass().getName()})); //"Can't transform to a Result of type "
SAXTransformerFactory stFactory = (SAXTransformerFactory) TransformerFactory.newInstance(); stFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); throw new TransformerException("Could not convert source of type " + source.getClass() + " and " + "XXEPrevention is enabled.");
throw new TransformerException(pce); if (null != sresult.getWriter()) serializer.setWriter(sresult.getWriter()); else if (null != sresult.getOutputStream()) serializer.setOutputStream(sresult.getOutputStream()); else if (null != sresult.getSystemId()) throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_NO_OUTPUT_SPECIFIED, null)); //"No output specified!"); throw new TransformerException(ioe); throw new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_CANNOT_TRANSFORM_TO_RESULT_TYPE, new Object[]{outputTarget.getClass().getName()})); //"Can't transform to a Result of type "
DTM dtm = xctxt.getDTM(node); xctxt.pushContextNodeList(dtmIter); try xctxt.popContextNodeList(); SAXSourceLocator sl = new SAXSourceLocator( te.getLocator() ); m_serializationHandler.fatalError(new org.xml.sax.SAXParseException(te.getMessage(), sl, te)); m_errorHandler.fatalError((TransformerException)se); m_errorHandler.fatalError(new TransformerException(se.getMessage(), new SAXSourceLocator((org.xml.sax.SAXParseException)se), se)); m_errorHandler.fatalError(new TransformerException(se));
public void error(TransformerException exception) throws TransformerException { log.error(exception.getMessage(), exception); // XSLT is not as draconian as XML. There are numerous errors // which the processor may but does not have to recover from; // e.g. multiple templates that match a node with the same // priority. If I do not want to allow that, I'd throw this // exception here. if (strict) { throw exception; } }
final Writer writer = target.getWriter(); if (writer != null) { _tohFactory.setWriter(writer); final OutputStream ostream = target.getOutputStream(); if (ostream != null) { _tohFactory.setOutputStream(ostream); if (systemId == null) { ErrorMsg err = new ErrorMsg(ErrorMsg.JAXP_NO_RESULT_ERR); throw new TransformerException(err.toString()); throw new TransformerException(e); throw new TransformerException(e); throw new TransformerException(e);
/** * Warn the user of an problem. * * @param xctxt The XPath runtime context. * @param msg An error msgkey that corresponds to one of the conststants found * in {@link org.apache.xpath.res.XPATHErrorResources}, which is * a key for a format string. * @param args An array of arguments represented in the format string, which * may be null. * * @throws TransformerException if the current ErrorListoner determines to * throw an exception. * * @throws javax.xml.transform.TransformerException */ public void warn(XPathContext xctxt, String msg, Object[] args) throws javax.xml.transform.TransformerException { java.lang.String fmsg = XSLMessages.createXPATHWarning(msg, args); if (null != xctxt) { ErrorListener eh = xctxt.getErrorListener(); // TO DO: Need to get stylesheet Locator from here. eh.warning(new TransformerException(fmsg, xctxt.getSAXLocator())); } }
SourceTreeManager treeMgr = xctxt.getSourceTreeManager(); Source source; try source = treeMgr.resolveURI(base, uri, xctxt.getSAXLocator()); newDoc = treeMgr.getNode(source); throw new TransformerException(ioe.getMessage(), (SourceLocator)xctxt.getSAXLocator(), ioe); throw new TransformerException(te); throw new TransformerException(ioe.getMessage(), (SourceLocator)xctxt.getSAXLocator(), ioe); SourceLocator locator = spe2.getLocator(); if ((null != locator) && (null != locator.getSystemId())) diagnosticsWriter.println(" ID: " + locator.getSystemId() + locator.getColumnNumber()); e = spe2.getException();