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