/******************************************************************************* * Copyright (C) Yutaka Matsuno 2010-2012 All rights reserved. *******************************************************************************/ package net.dependableos.dcase.diagram.common.xml; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import net.dependableos.dcase.diagram.common.exception.DcaseRuntimeException; import net.dependableos.dcase.diagram.common.exception.DcaseSystemException; import net.dependableos.dcase.diagram.common.util.MessageTypeImpl; /** * A class that transform a XML using a XSL. */ public final class XslTransformer { /** * A constructor. */ private XslTransformer() { } /** * Transforms a XML using a XSL. * * @param target the source * @param source the target * @param xsl a XSL file. */ public static void transform(StreamResult target, StreamSource source, StreamSource xsl) { TransformerFactory transformerFactory = TransformerFactory .newInstance(); try { Transformer transformer = transformerFactory.newTransformer(xsl); transformer.transform(source, target); } catch (TransformerConfigurationException configurationException) { throw new DcaseSystemException(configurationException.getMessage(), null, MessageTypeImpl.UNDEFINED); } catch (TransformerException transformerException) { throw new DcaseRuntimeException(transformerException.getMessage(), transformerException, null, 0, MessageTypeImpl.UNDEFINED); } } }