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: Result.java 446598 2006-09-15 12:55:40Z jeremias $ 19320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 20320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpackage javax.xml.transform; 21320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 22320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson/** 23320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>An object that implements this interface contains the information 24320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * needed to build a transformation result tree.</p> 25f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 26320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @author <a href="Jeff.Suttor@Sun.com">Jeff Suttor</a> 27320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 28320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilsonpublic interface Result { 29320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 30320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 31320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The name of the processing instruction that is sent if the 32320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * result tree disables output escaping. 33320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 34320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>Normally, result tree serialization escapes & and < (and 35320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * possibly other characters) when outputting text nodes. 36320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * This ensures that the output is well-formed XML. However, 37320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * it is sometimes convenient to be able to produce output that is 38320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * almost, but not quite well-formed XML; for example, 39320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * the output may include ill-formed sections that will 40320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * be transformed into well-formed XML by a subsequent non-XML aware 41320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * process. If a processing instruction is sent with this name, 42320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * serialization should be output without any escaping. </p> 43320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 44320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>Result DOM trees may also have PI_DISABLE_OUTPUT_ESCAPING and 45320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * PI_ENABLE_OUTPUT_ESCAPING inserted into the tree.</p> 46320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 47320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @see <a href="http://www.w3.org/TR/xslt#disable-output-escaping">disable-output-escaping in XSLT Specification</a> 48320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 49320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public static final String PI_DISABLE_OUTPUT_ESCAPING = 50320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson "javax.xml.transform.disable-output-escaping"; 51320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 52320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 53320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The name of the processing instruction that is sent 54320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * if the result tree enables output escaping at some point after having 55320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * received a PI_DISABLE_OUTPUT_ESCAPING processing instruction. 56320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 57320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @see <a href="http://www.w3.org/TR/xslt#disable-output-escaping">disable-output-escaping in XSLT Specification</a> 58320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 59320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public static final String PI_ENABLE_OUTPUT_ESCAPING = 60320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson "javax.xml.transform.enable-output-escaping"; 61320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 62320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 63320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Set the system identifier for this Result. 64320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 65320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * <p>If the Result is not to be written to a file, the system identifier is optional. 66320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * The application may still want to provide one, however, for use in error messages 67320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * and warnings, or to resolve relative output identifiers.</p> 68320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 69320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @param systemId The system identifier as a URI string. 70320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 71320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public void setSystemId(String systemId); 72320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson 73320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson /** 74320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * Get the system identifier that was set with setSystemId. 75320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * 76320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * @return The system identifier that was set with setSystemId, 77320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson * or null if setSystemId was not called. 78320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson */ 79320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson public String getSystemId(); 80320c9890e8241fb0ad05de6fa5e6c3eb3aece159Jesse Wilson} 81