tmiller     2002/10/15 06:22:50

  Modified:    java/src/org/apache/xalan/xsltc/compiler Output.java
                        Parser.java
  Log:
  bug fix 13550, for multiple <xsl:output> elements, cdata-section-elements 
attrs are now merged
  
  Revision  Changes    Path
  1.17      +17 -5     
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Output.java
  
  Index: Output.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Output.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Output.java       19 Jun 2002 20:01:49 -0000      1.16
  +++ Output.java       15 Oct 2002 13:22:50 -0000      1.17
  @@ -92,6 +92,7 @@
       private String  _cdata;
       private boolean _indent = false;
       private String  _mediaType;
  +    private String  _cdataToMerge;
   
       // Disables this output element (when other element has higher 
precedence)
       private boolean _disabled = false;
  @@ -122,6 +123,14 @@
        return !_disabled;
       }
   
  +    public String getCdata() {
  +     return _cdata;
  +    }
  +
  +    public void mergeCdata(String cdata) {
  +     _cdataToMerge = cdata;
  +    }
  +
       /**
        * Scans the attribute list for the xsl:output instruction
        */
  @@ -220,12 +229,15 @@
   
            // Make sure to store names in expanded form
            while (tokens.hasMoreTokens()) {
  -             
expandedNames.append(parser.getQName(tokens.nextToken()).toString())
  -                          .append(' ');
  +             expandedNames.append(
  +                parser.getQName(tokens.nextToken()).toString()).append(' ');
            }
            _cdata = expandedNames.toString();
  -
  -         outputProperties.setProperty(OutputKeys.CDATA_SECTION_ELEMENTS, 
_cdata);
  +         if (_cdataToMerge != null) {
  +             _cdata = _cdata + _cdataToMerge;
  +         }
  +         outputProperties.setProperty(OutputKeys.CDATA_SECTION_ELEMENTS, 
  +             _cdata);
        }
   
        // Get the indent setting - only has effect for xml and html output
  
  
  
  1.54      +3 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- Parser.java       8 Oct 2002 21:44:13 -0000       1.53
  +++ Parser.java       15 Oct 2002 13:22:50 -0000      1.54
  @@ -154,6 +154,8 @@
       public void setOutput(Output output) {
        if (_output != null) {
            if (_output.getImportPrecedence() <= output.getImportPrecedence()) {
  +             String cdata = _output.getCdata();
  +             output.mergeCdata(cdata);
                _output.disable();
                _output = output;
            }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to