diff options
Diffstat (limited to 'src/share/classes/javax/xml/transform/Templates.java')
-rw-r--r-- | src/share/classes/javax/xml/transform/Templates.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/share/classes/javax/xml/transform/Templates.java b/src/share/classes/javax/xml/transform/Templates.java new file mode 100644 index 0000000..9952368 --- /dev/null +++ b/src/share/classes/javax/xml/transform/Templates.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package javax.xml.transform; + +import java.util.Properties; + + + + +/** + * An object that implements this interface is the runtime representation of processed + * transformation instructions. + * + * <p>Templates must be threadsafe for a given instance + * over multiple threads running concurrently, and may + * be used multiple times in a given session.</p> + */ +public interface Templates { + + /** + * Create a new transformation context for this Templates object. + * + * @return A valid non-null instance of a Transformer. + * + * @throws TransformerConfigurationException if a Transformer can not be created. + */ + Transformer newTransformer() throws TransformerConfigurationException; + + /** + * Get the properties corresponding to the effective xsl:output element. + * The object returned will + * be a clone of the internal values. Accordingly, it can be mutated + * without mutating the Templates object, and then handed in to + * {@link javax.xml.transform.Transformer#setOutputProperties}. + * + * <p>The properties returned should contain properties set by the stylesheet, + * and these properties are "defaulted" by default properties specified by + * <a href="http://www.w3.org/TR/xslt#output">section 16 of the + * XSL Transformations (XSLT) W3C Recommendation</a>. The properties that + * were specifically set by the stylesheet should be in the base + * Properties list, while the XSLT default properties that were not + * specifically set should be in the "default" Properties list. Thus, + * getOutputProperties().getProperty(String key) will obtain any + * property in that was set by the stylesheet, <em>or</em> the default + * properties, while + * getOutputProperties().get(String key) will only retrieve properties + * that were explicitly set in the stylesheet.</p> + * + * <p>For XSLT, + * <a href="http://www.w3.org/TR/xslt#attribute-value-templates">Attribute + * Value Templates</a> attribute values will + * be returned unexpanded (since there is no context at this point). The + * namespace prefixes inside Attribute Value Templates will be unexpanded, + * so that they remain valid XPath values.</p> + * + * @return A Properties object, never null. + */ + Properties getOutputProperties(); +} |