You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mi...@apache.org on 2003/10/15 20:25:11 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java

minchau     2003/10/15 11:25:11

  Modified:    java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
  Log:
  
  PR: bugzilla 15901
  Submitted by:	Brian Minchau
  Reviewed by:	John Meyer (bug reporter)
  
  XSLTC now uses properties from the serializer's factory rather than
  setting its own defaults. This makes XSLTC's default serialializer 
  properties (indentation, entity file ... ) the same as Xalan-J.
  
  Revision  Changes    Path
  1.72      +24 -12    xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- TransformerImpl.java	7 Jul 2003 18:26:13 -0000	1.71
  +++ TransformerImpl.java	15 Oct 2003 18:25:11 -0000	1.72
  @@ -99,6 +99,7 @@
   import org.apache.xalan.xsltc.StripFilter;
   import org.apache.xalan.xsltc.Translet;
   import org.apache.xalan.xsltc.TransletException;
  +import org.apache.xml.serializer.OutputPropertiesFactory;
   import org.apache.xml.serializer.SerializationHandler;
   import org.apache.xalan.xsltc.compiler.util.ErrorMsg;
   import org.apache.xalan.xsltc.dom.DOMWSFilter;
  @@ -1012,13 +1013,7 @@
        */
       private Properties createOutputProperties(Properties outputProperties) {
   	final Properties defaults = new Properties();
  -	defaults.setProperty(OutputKeys.ENCODING, "UTF-8");
  -	defaults.setProperty(OutputKeys.METHOD, XML_STRING);
  -	defaults.setProperty(OutputKeys.INDENT, NO_STRING);
  -	defaults.setProperty(OutputKeys.MEDIA_TYPE, "text/xml");
  -	defaults.setProperty(OutputKeys.OMIT_XML_DECLARATION, NO_STRING);
  -	defaults.setProperty(OutputKeys.STANDALONE, NO_STRING);
  -	defaults.setProperty(OutputKeys.VERSION, "1.0");
  +	setDefaults(defaults, "xml");
   
   	// Copy propeties set in stylesheet to base
   	final Properties base = new Properties(defaults);
  @@ -1039,18 +1034,35 @@
   	final String method = base.getProperty(OutputKeys.METHOD);
   	if (method != null) {
   	    if (method.equals("html")) {
  -		defaults.setProperty(OutputKeys.INDENT, "yes");
  -		defaults.setProperty(OutputKeys.VERSION, "4.0");
  -		defaults.setProperty(OutputKeys.MEDIA_TYPE, "text/html");
  +	        setDefaults(defaults,"html");
   	    }
   	    else if (method.equals("text")) {
  -		defaults.setProperty(OutputKeys.MEDIA_TYPE, "text/plain");
  +	        setDefaults(defaults,"text");
   	    }
   	}
   
   	return base; 
       }
   
  +	/**
  +	 * Internal method to get the default properties from the
  +	 * serializer factory and set them on the property object.
  +	 * @param props a java.util.Property object on which the properties are set.
  +	 * @param method The output method type, one of "xml", "text", "html" ...
  +	 */
  +	private void setDefaults(Properties props, String method)
  +	{
  +		final Properties method_props =
  +			OutputPropertiesFactory.getDefaultMethodProperties(method);
  +		{
  +			final Enumeration names = method_props.propertyNames();
  +			while (names.hasMoreElements())
  +			{
  +				final String name = (String)names.nextElement();
  +				props.setProperty(name, method_props.getProperty(name));
  +			}
  +		}
  +	}
       /**
        * Verifies if a given output property name is a property defined in
        * the JAXP 1.1 / TrAX spec
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org