1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* 6 * Copyright 2003-2004 The Apache Software Foundation. 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 */ 20 /* 21 * $Id: XSLOutputAttributes.java,v 1.2.4.1 2005/09/15 08:15:32 suresh_emailid Exp $ 22 */ 23 package com.sun.org.apache.xml.internal.serializer; 24 25 import java.util.Vector; 26 27 /** 28 * This interface has methods associated with the XSLT xsl:output attribues 29 * specified in the stylesheet that effect the format of the document output. 30 * 31 * In an XSLT stylesheet these attributes appear for example as: 32 * <pre> 33 * <xsl:output method="xml" omit-xml-declaration="no" indent="yes"/> 34 * </pre> 35 * The xsl:output attributes covered in this interface are: 36 * <pre> 37 * version 38 * encoding 39 * omit-xml-declarations 40 * standalone 41 * doctype-public 42 * doctype-system 43 * cdata-section-elements 44 * indent 45 * media-type 46 * </pre> 47 * 48 * The one attribute not covered in this interface is <code>method</code> as 49 * this value is implicitly chosen by the serializer that is created, for 50 * example ToXMLStream vs. ToHTMLStream or another one. 51 * 52 * This interface is only used internally within Xalan. 53 * 54 * @xsl.usage internal 55 */ 56 interface XSLOutputAttributes 57 { 58 /** 59 * Returns the previously set value of the value to be used as the public 60 * identifier in the document type declaration (DTD). 61 * 62 *@return the public identifier to be used in the DOCTYPE declaration in the 63 * output document. 64 */ 65 public String getDoctypePublic(); 66 /** 67 * Returns the previously set value of the value to be used 68 * as the system identifier in the document type declaration (DTD). 69 * @return the system identifier to be used in the DOCTYPE declaration in 70 * the output document. 71 * 72 */ 73 public String getDoctypeSystem(); 74 /** 75 * @return the character encoding to be used in the output document. 76 */ 77 public String getEncoding(); 78 /** 79 * @return true if the output document should be indented to visually 80 * indicate its structure. 81 */ 82 public boolean getIndent(); 83 84 /** 85 * @return the number of spaces to indent for each indentation level. 86 */ 87 public int getIndentAmount(); 88 /** 89 * @return the mediatype the media-type or MIME type associated with the 90 * output document. 91 */ 92 public String getMediaType(); 93 /** 94 * @return true if the XML declaration is to be omitted from the output 95 * document. 96 */ 97 public boolean getOmitXMLDeclaration(); 98 /** 99 * @return a value of "yes" if the <code>standalone</code> delaration is to 100 * be included in the output document. 101 */ 102 public String getStandalone(); 103 /** 104 * @return the version of the output format. 105 */ 106 public String getVersion(); 107 108 109 110 111 112 113 /** 114 * Sets the value coming from the xsl:output cdata-section-elements 115 * stylesheet property. 116 * 117 * This sets the elements whose text elements are to be output as CDATA 118 * sections. 119 * @param URI_and_localNames pairs of namespace URI and local names that 120 * identify elements whose text elements are to be output as CDATA sections. 121 * The namespace of the local element must be the given URI to match. The 122 * qName is not given because the prefix does not matter, only the namespace 123 * URI to which that prefix would map matters, so the prefix itself is not 124 * relevant in specifying which elements have their text to be output as 125 * CDATA sections. 126 */ 127 public void setCdataSectionElements(Vector URI_and_localNames); 128 129 /** Set the value coming from the xsl:output doctype-public and doctype-system stylesheet properties 130 * @param system the system identifier to be used in the DOCTYPE declaration 131 * in the output document. 132 * @param pub the public identifier to be used in the DOCTYPE declaration in 133 * the output document. 134 */ 135 public void setDoctype(String system, String pub); 136 137 /** Set the value coming from the xsl:output doctype-public stylesheet attribute. 138 * @param doctype the public identifier to be used in the DOCTYPE 139 * declaration in the output document. 140 */ 141 public void setDoctypePublic(String doctype); 142 /** Set the value coming from the xsl:output doctype-system stylesheet attribute. 143 * @param doctype the system identifier to be used in the DOCTYPE 144 * declaration in the output document. 145 */ 146 public void setDoctypeSystem(String doctype); 147 /** 148 * Sets the character encoding coming from the xsl:output encoding stylesheet attribute. 149 * @param encoding the character encoding 150 */ 151 public void setEncoding(String encoding); 152 /** 153 * Sets the value coming from the xsl:output indent stylesheet 154 * attribute. 155 * @param indent true if the output document should be indented to visually 156 * indicate its structure. 157 */ 158 public void setIndent(boolean indent); 159 /** 160 * Sets the value coming from the xsl:output media-type stylesheet attribute. 161 * @param mediatype the media-type or MIME type associated with the output 162 * document. 163 */ 164 public void setMediaType(String mediatype); 165 /** 166 * Sets the value coming from the xsl:output omit-xml-declaration stylesheet attribute 167 * @param b true if the XML declaration is to be omitted from the output 168 * document. 169 */ 170 public void setOmitXMLDeclaration(boolean b); 171 /** 172 * Sets the value coming from the xsl:output standalone stylesheet attribute. 173 * @param standalone a value of "yes" indicates that the 174 * <code>standalone</code> delaration is to be included in the output 175 * document. 176 */ 177 public void setStandalone(String standalone); 178 /** 179 * Sets the value coming from the xsl:output version attribute. 180 * @param version the version of the output format. 181 */ 182 public void setVersion(String version); 183 184 }