You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by tm...@apache.org on 2001/05/17 16:28:01 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java SAXAdapter.java TextOutput.java TransletOutputBase.java
tmiller 01/05/17 07:27:59
Modified: java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java SAXAdapter.java
TextOutput.java TransletOutputBase.java
Log:
bug # 1406 fixed, omit xml header implemented
Revision Changes Path
1.3 +18 -2 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java
Index: DefaultSAXOutputHandler.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultSAXOutputHandler.java 2001/05/01 13:16:22 1.2
+++ DefaultSAXOutputHandler.java 2001/05/17 14:27:40 1.3
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: DefaultSAXOutputHandler.java,v 1.2 2001/05/01 13:16:22 morten Exp $
+ * @(#)$Id: DefaultSAXOutputHandler.java,v 1.3 2001/05/17 14:27:40 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -119,6 +119,7 @@
private static final String EMPTYSTRING = "";
private boolean _indent = false;
+ private boolean _omitXmlDecl = false;
private boolean _indentNextEndTag = false;
private boolean _linefeedNextStartTag = false;
private int _indentLevel = 0;
@@ -186,6 +187,11 @@
* Utility method - outputs an XML header
*/
private void emitHeader() throws SAXException {
+ if (_omitXmlDecl) {
+ // if true then stylesheet contained an xsl:output element
+ // with the omit-xml-declaration attribute set to "yes".
+ return;
+ }
characters(XML_HEADER_BEG);
characters(_encoding);
characters(XML_HEADER_END);
@@ -459,13 +465,23 @@
}
/**
+ * Turns xml declaration generation on/off, dependent on the attribute
+ * omit-xml-declaration in any xsl:output element.
+ * Breaks the SAX HandlerBase interface, but TextOutput will only call
+ * this method of the SAX handler is an instance of this class.
+ */
+ public void omitXmlDecl(boolean value) {
+ _omitXmlDecl = value;
+ }
+
+ /**
* Set the output type (either TEXT, HTML or XML)
* Breaks the SAX HandlerBase interface, but TextOutput will only call
* this method of the SAX handler is an instance of this class.
*/
public void setOutputType(int type) throws SAXException {
_outputType = type;
- if (_outputType == TextOutput.XML) {
+ if (_outputType == TextOutput.XML ) {
emitHeader();
}
}
1.3 +2 -1 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/SAXAdapter.java
Index: SAXAdapter.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/SAXAdapter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SAXAdapter.java 2001/05/01 14:11:42 1.2
+++ SAXAdapter.java 2001/05/17 14:27:42 1.3
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: SAXAdapter.java,v 1.2 2001/05/01 14:11:42 morten Exp $
+ * @(#)$Id: SAXAdapter.java,v 1.3 2001/05/17 14:27:42 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -169,6 +169,7 @@
public void setType(int type) {}
public void setHeader(String header) {}
public void setIndent(boolean indent) {}
+ public void omitXmlDecl(boolean value) {}
public void insertCdataElement(String elementName) {}
public boolean setEscaping(boolean escape) throws TransletException {
return(true);
1.4 +11 -1 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java
Index: TextOutput.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TextOutput.java 2001/05/17 12:45:03 1.3
+++ TextOutput.java 2001/05/17 14:27:44 1.4
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: TextOutput.java,v 1.3 2001/05/17 12:45:03 morten Exp $
+ * @(#)$Id: TextOutput.java,v 1.4 2001/05/17 14:27:44 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -204,6 +204,16 @@
public void setIndent(boolean indent) {
if (_saxHandler instanceof DefaultSAXOutputHandler) {
((DefaultSAXOutputHandler)_saxHandler).setIndent(indent);
+ }
+ }
+
+ /**
+ * Directive to turn xml header declaration on/off.
+ * bug fix # 1406.
+ */
+ public void omitXmlDecl(boolean value) {
+ if (_saxHandler instanceof DefaultSAXOutputHandler) {
+ ((DefaultSAXOutputHandler)_saxHandler).omitXmlDecl(value);
}
}
1.2 +2 -1 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletOutputBase.java
Index: TransletOutputBase.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletOutputBase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TransletOutputBase.java 2001/04/17 18:52:46 1.1
+++ TransletOutputBase.java 2001/05/17 14:27:47 1.2
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: TransletOutputBase.java,v 1.1 2001/04/17 18:52:46 sboag Exp $
+ * @(#)$Id: TransletOutputBase.java,v 1.2 2001/05/17 14:27:47 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -80,6 +80,7 @@
throws TransletException {}
public void setType(int type) {}
public void setIndent(boolean indent) {}
+ public void omitXmlDecl(boolean value) {}
public void insertCdataElement(String elementName) {}
public boolean setEscaping(boolean escape) throws TransletException {
return true;
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org