1 /* 2 * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved 3 * 4 * This file is part of Resin(R) Open Source 5 * 6 * Each copy or derived work must preserve the copyright notice and this 7 * notice unmodified. 8 * 9 * Resin Open Source is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * Resin Open Source is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty 17 * of NON-INFRINGEMENT. See the GNU General Public License for more 18 * details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with Resin Open Source; if not, write to the 22 * Free SoftwareFoundation, Inc. 23 * 59 Temple Place, Suite 330 24 * Boston, MA 02111-1307 USA 25 * 26 * @author Scott Ferguson 27 */ 28 29 package com.caucho.xsl; 30 31 import com.caucho.vfs.ReadStream; 32 33 import org.w3c.dom.Document; 34 35 import javax.xml.transform.TransformerConfigurationException; 36 37 /** 38 * Public facade for creating StyleScript stylesheets. 39 * 40 * <code><pre> 41 * import java.io.*; 42 * import javax.xml.transform.*; 43 * import javax.xml.transform.stream.*; 44 * import org.xml.sax.*; 45 * 46 * import com.caucho.xsl.*; 47 * 48 * ... 49 * 50 * TransformerFactory factory = new Xsl(); 51 * StreamSource xslSource = new StreamSource("mystyle.xsl"); 52 * Transformer transformer = factory.newTransformer(xslSource); 53 * 54 * StreamSource xmlSource = new StreamSource("test.xml"); 55 * StreamResult htmlResult = new StreamResult("test.html"); 56 * 57 * transformer.transform(xmlSource, htmlResult); 58 * </pre></code> 59 */ 60 public class StyleScript extends AbstractStylesheetFactory { 61 /** 62 * Parses the XSL into a DOM document. 63 * 64 * @param rs the input stream. 65 */ 66 protected Document parseXSL(ReadStream rs) 67 throws TransformerConfigurationException 68 { 69 try { 70 XslParser parser = new XslParser(); 71 72 return parser.parse(rs); 73 } catch (TransformerConfigurationException e) { 74 throw e; 75 } catch (Exception e) { 76 throw new XslParseException(e); 77 } 78 } 79 } 80