You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sa...@apache.org on 2002/06/19 21:24:49 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java
santiagopg 2002/06/19 12:24:49
Modified: java/src/org/apache/xalan/xsltc/runtime/output
SAXHTMLOutput.java StreamHTMLOutput.java
StreamOutput.java StreamUnknownOutput.java
Log:
Fix to set output properties correctly in the new output system.
Revision Changes Path
1.8 +1 -10 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/SAXHTMLOutput.java
Index: SAXHTMLOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/SAXHTMLOutput.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SAXHTMLOutput.java 10 Jun 2002 21:43:04 -0000 1.7
+++ SAXHTMLOutput.java 19 Jun 2002 19:24:49 -0000 1.8
@@ -75,8 +75,6 @@
public class SAXHTMLOutput extends SAXOutput {
- private String _mediaType = "text/html";
-
public SAXHTMLOutput(ContentHandler handler, String encoding)
throws IOException
{
@@ -202,12 +200,5 @@
catch (SAXException e) {
throw new TransletException(e);
}
- }
-
- /**
- * Set the output media type - only relevant for HTML output
- */
- public void setMediaType(String mediaType) {
- _mediaType = mediaType;
}
}
1.12 +1 -10 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamHTMLOutput.java
Index: StreamHTMLOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamHTMLOutput.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- StreamHTMLOutput.java 18 Jun 2002 22:29:27 -0000 1.11
+++ StreamHTMLOutput.java 19 Jun 2002 19:24:49 -0000 1.12
@@ -97,16 +97,7 @@
public StreamHTMLOutput(StreamOutput output) {
super(output);
-
// System.out.println("StreamHTMLOutput.<init>");
-
- // Transfer output settings
- setDoctype(output._doctypeSystem, output._doctypePublic);
- omitHeader(output._omitHeader);
- setStandalone(output._standalone);
-
- // Indentation turned on for HTML
- setIndent(true);
}
public StreamHTMLOutput(Writer writer, String encoding) {
1.15 +5 -1 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamOutput.java
Index: StreamOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamOutput.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- StreamOutput.java 18 Jun 2002 22:29:27 -0000 1.14
+++ StreamOutput.java 19 Jun 2002 19:24:49 -0000 1.15
@@ -181,6 +181,10 @@
_standalone = standalone;
}
+ public void setVersion(String version) {
+ _version = version;
+ }
+
protected void outputBuffer() {
try {
int n = 0;
1.5 +47 -3 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamUnknownOutput.java
Index: StreamUnknownOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/StreamUnknownOutput.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- StreamUnknownOutput.java 18 Jun 2002 15:12:41 -0000 1.4
+++ StreamUnknownOutput.java 19 Jun 2002 19:24:49 -0000 1.5
@@ -78,16 +78,22 @@
public class StreamUnknownOutput extends StreamOutput {
private StreamOutput _handler;
- private boolean _callStartDocument = false;
private boolean _isHtmlOutput = false;
- private boolean _firstTagOpen = false;
+ private boolean _firstTagOpen = false;
private boolean _firstElement = true;
private String _firstTagPrefix, _firstTag;
private ArrayList _attributes = null;
private ArrayList _namespaces = null;
+ // Cache calls to output properties events
+ private String _mediaType = null;
+ private boolean _callStartDocument = false;
+ private boolean _callSetIndent = false;
+ private boolean _callSetVersion = false;
+ private boolean _callSetDoctype = false;
+
static class Pair {
public String name, value;
@@ -235,10 +241,26 @@
public void setDoctype(String system, String pub) {
_handler.setDoctype(system, pub);
+
+ // Cache call to setDoctype()
+ super.setDoctype(system, pub);
+ _callSetDoctype = true;
}
public void setIndent(boolean indent) {
_handler.setIndent(indent);
+
+ // Cache call to setIndent()
+ super.setIndent(indent);
+ _callSetIndent = true;
+ }
+
+ public void setVersion(String version) {
+ _handler.setVersion(version);
+
+ // Cache call to setVersion()
+ super.setVersion(version);
+ _callSetVersion = true;
}
public void omitHeader(boolean value) {
@@ -249,6 +271,11 @@
_handler.setStandalone(standalone);
}
+ public void setMediaType(String mediaType) {
+ _handler.setMediaType(mediaType);
+ _mediaType = mediaType;
+ }
+
public boolean setEscaping(boolean escape)
throws TransletException
{
@@ -262,10 +289,27 @@
private void initStreamOutput()
throws TransletException
{
+// System.out.println("initStreamOutput() _isHtmlOutput = " + _isHtmlOutput);
// Create a new handler if output is HTML
if (_isHtmlOutput) {
_handler = new StreamHTMLOutput(_handler);
+
+ // Transfer output properties (HTML only)
+ if (_callSetIndent) {
+ _handler.setIndent(_indent);
+ }
+ if (_callSetVersion) {
+ _handler.setVersion(_version);
+ }
+ if (_callSetDoctype) {
+ _handler.setDoctype(_doctypeSystem, _doctypePublic);
+ }
+ if (_mediaType != null) {
+ _handler.setMediaType(_mediaType);
+ }
}
+
+ // Call startDocument() if necessary
if (_callStartDocument) {
_handler.startDocument();
_callStartDocument = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org