1320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/* 2320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one or more 3320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * contributor license agreements. See the NOTICE file distributed with 4320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * this work for additional information regarding copyright ownership. 5320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 6320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * (the "License"); you may not use this file except in compliance with 7320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * the License. You may obtain a copy of the License at 8320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 9320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 10320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 11320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Unless required by applicable law or agreed to in writing, software 12320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 13320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * See the License for the specific language governing permissions and 15320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * limitations under the License. 16320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 17320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 18320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson// $Id: TransformerHandler.java 446598 2006-09-15 12:55:40Z jeremias $ 19320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 20320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpackage javax.xml.transform.sax; 21320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 22320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport javax.xml.transform.Result; 23320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport javax.xml.transform.Transformer; 24320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.ContentHandler; 25320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.DTDHandler; 26320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonimport org.xml.sax.ext.LexicalHandler; 27320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 28320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/** 29320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * A TransformerHandler 30320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * listens for SAX ContentHandler parse events and transforms 31320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * them to a Result. 32320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 33320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpublic interface TransformerHandler 34320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson extends ContentHandler, LexicalHandler, DTDHandler { 35320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 36320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 37320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>Set the <code>Result</code> associated with this 38320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <code>TransformerHandler</code> to be used for the transformation.</p> 39320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 40320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @param result A <code>Result</code> instance, should not be 41320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <code>null</code>. 42320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 43320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @throws IllegalArgumentException if result is invalid for some reason. 44320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 45320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public void setResult(Result result) throws IllegalArgumentException; 46320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 47320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 48320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Set the base ID (URI or system ID) from where relative 49320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * URLs will be resolved. 50320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @param systemID Base URI for the source tree. 51320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 52320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public void setSystemId(String systemID); 53320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 54320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 55320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Get the base ID (URI or system ID) from where relative 56320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * URLs will be resolved. 57320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @return The systemID that was set with {@link #setSystemId}. 58320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 59320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public String getSystemId(); 60320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 61320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 62320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>Get the <code>Transformer</code> associated with this handler, which 63320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * is needed in order to set parameters and output properties.</p> 64f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 65320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @return <code>Transformer</code> associated with this 66320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <code>TransformerHandler</code>. 67320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 68320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public Transformer getTransformer(); 69320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson} 70