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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to