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 2002/10/15 15:22:50 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java

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: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org