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