001 /*
002 * Copyright 2000-2005 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025
026 package javax.xml.transform;
027
028 /**
029 * Provides string constants that can be used to set
030 * output properties for a Transformer, or to retrieve
031 * output properties from a Transformer or Templates object.
032 * <p>All the fields in this class are read-only.</p>
033 *
034 * @see <a href="http://www.w3.org/TR/xslt#output">
035 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
036 */
037 public class OutputKeys {
038
039 /**
040 * Default constructor is private on purpose. This class is
041 * only for static variable access, and should never be constructed.
042 */
043 private OutputKeys() {
044 }
045
046 /**
047 * method = "xml" | "html" | "text" | <var>expanded name</var>.
048 *
049 * <p>The value of the method property identifies the overall method that
050 * should be used for outputting the result tree. Other non-namespaced
051 * values may be used, such as "xhtml", but, if accepted, the handling
052 * of such values is implementation defined. If any of the method values
053 * are not accepted and are not namespace qualified,
054 * then {@link javax.xml.transform.Transformer#setOutputProperty}
055 * or {@link javax.xml.transform.Transformer#setOutputProperties} will
056 * throw a {@link java.lang.IllegalArgumentException}.</p>
057 *
058 * @see <a href="http://www.w3.org/TR/xslt#output">
059 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
060 */
061 public static final String METHOD = "method";
062
063 /**
064 * version = <var>nmtoken</var>.
065 *
066 * <p><code>version</code> specifies the version of the output
067 * method.</p>
068 * <p>When the output method is "xml", the version value specifies the
069 * version of XML to be used for outputting the result tree. The default
070 * value for the xml output method is 1.0. When the output method is
071 * "html", the version value indicates the version of the HTML.
072 * The default value for the xml output method is 4.0, which specifies
073 * that the result should be output as HTML conforming to the HTML 4.0
074 * Recommendation [HTML]. If the output method is "text", the version
075 * property is ignored.</p>
076 * @see <a href="http://www.w3.org/TR/xslt#output">
077 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
078 */
079 public static final String VERSION = "version";
080
081 /**
082 * encoding = <var>string</var>.
083 *
084 * <p><code>encoding</code> specifies the preferred character
085 * encoding that the Transformer should use to encode sequences of
086 * characters as sequences of bytes. The value of the encoding property should be
087 * treated case-insensitively. The value must only contain characters in
088 * the range #x21 to #x7E (i.e., printable ASCII characters). The value
089 * should either be a <code>charset</code> registered with the Internet
090 * Assigned Numbers Authority <a href="http://www.iana.org/">[IANA]</a>,
091 * <a href="http://www.ietf.org/rfc/rfc2278.txt">[RFC2278]</a>
092 * or start with <code>X-</code>.</p>
093 * @see <a href="http://www.w3.org/TR/xslt#output">
094 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
095 */
096 public static final String ENCODING = "encoding";
097
098 /**
099 * omit-xml-declaration = "yes" | "no".
100 *
101 * <p><code>omit-xml-declaration</code> specifies whether the XSLT
102 * processor should output an XML declaration; the value must be
103 * <code>yes</code> or <code>no</code>.</p>
104 * @see <a href="http://www.w3.org/TR/xslt#output">
105 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
106 */
107 public static final String OMIT_XML_DECLARATION = "omit-xml-declaration";
108
109 /**
110 * standalone = "yes" | "no".
111 *
112 * <p><code>standalone</code> specifies whether the Transformer
113 * should output a standalone document declaration; the value must be
114 * <code>yes</code> or <code>no</code>.</p>
115 * @see <a href="http://www.w3.org/TR/xslt#output">
116 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
117 */
118 public static final String STANDALONE = "standalone";
119
120 /**
121 * doctype-public = <var>string</var>.
122 * <p>See the documentation for the {@link #DOCTYPE_SYSTEM} property
123 * for a description of what the value of the key should be.</p>
124 *
125 * @see <a href="http://www.w3.org/TR/xslt#output">
126 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
127 */
128 public static final String DOCTYPE_PUBLIC = "doctype-public";
129
130 /**
131 * doctype-system = <var>string</var>.
132 * <p><code>doctype-system</code> specifies the system identifier
133 * to be used in the document type declaration.</p>
134 * <p>If the doctype-system property is specified, the xml output method
135 * should output a document type declaration immediately before the first
136 * element. The name following <!DOCTYPE should be the name of the first
137 * element. If doctype-public property is also specified, then the xml
138 * output method should output PUBLIC followed by the public identifier
139 * and then the system identifier; otherwise, it should output SYSTEM
140 * followed by the system identifier. The internal subset should be empty.
141 * The value of the doctype-public property should be ignored unless the doctype-system
142 * property is specified.</p>
143 * <p>If the doctype-public or doctype-system properties are specified,
144 * then the html output method should output a document type declaration
145 * immediately before the first element. The name following <!DOCTYPE
146 * should be HTML or html. If the doctype-public property is specified,
147 * then the output method should output PUBLIC followed by the specified
148 * public identifier; if the doctype-system property is also specified,
149 * it should also output the specified system identifier following the
150 * public identifier. If the doctype-system property is specified but
151 * the doctype-public property is not specified, then the output method
152 * should output SYSTEM followed by the specified system identifier.</p>
153 *
154 * <p><code>doctype-system</code> specifies the system identifier
155 * to be used in the document type declaration.</p>
156 * @see <a href="http://www.w3.org/TR/xslt#output">
157 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
158 */
159 public static final String DOCTYPE_SYSTEM = "doctype-system";
160
161 /**
162 * cdata-section-elements = <var>expanded names</var>.
163 *
164 * <p><code>cdata-section-elements</code> specifies a whitespace delimited
165 * list of the names of elements whose text node children should be output
166 * using CDATA sections. Note that these names must use the format
167 * described in the section Qualfied Name Representation in
168 * {@link javax.xml.transform}.</p>
169 *
170 * @see <a href="http://www.w3.org/TR/xslt#output">
171 * section 16 of the XSL Transformations (XSLT) W3C Recommendation.</a>
172 */
173 public static final String CDATA_SECTION_ELEMENTS = "cdata-section-elements";
174
175 /**
176 * indent = "yes" | "no".
177 *
178 * <p><code>indent</code> specifies whether the Transformer may
179 * add additional whitespace when outputting the result tree; the value
180 * must be <code>yes</code> or <code>no</code>. </p>
181 * @see <a href="http://www.w3.org/TR/xslt#output">
182 * section 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
183 */
184 public static final String INDENT = "indent";
185
186 /**
187 * media-type = <var>string</var>.
188 *
189 * <p><code>media-type</code> specifies the media type (MIME
190 * content type) of the data that results from outputting the result
191 * tree. The <code>charset</code> parameter should not be specified
192 * explicitly; instead, when the top-level media type is
193 * <code>text</code>, a <code>charset</code> parameter should be added
194 * according to the character encoding actually used by the output
195 * method. </p>
196 * @see <a href="http://www.w3.org/TR/xslt#output">s
197 * ection 16 of the XSL Transformations (XSLT) W3C Recommendation</a>
198 */
199 public static final String MEDIA_TYPE = "media-type";
200 }
|