read_with_substitution (REXML::Text)

    # File rexml/text.rb, line 152
      def Text::read_with_substitution( input, illegal=nil )
    			copy = input.clone

    			if copy =~ illegal
    				raise ParseException.new( "malformed text: Illegal character #$& in \"#{copy}\"" )
    			end if illegal

    			copy.gsub!( /\r\n?/, "\n" )
    			if copy.include? ?&
    				copy.gsub!( SETUTITSBUS[0], SLAICEPS[0] )
    				copy.gsub!( SETUTITSBUS[1], SLAICEPS[1] )
    				copy.gsub!( SETUTITSBUS[2], SLAICEPS[2] )
    				copy.gsub!( SETUTITSBUS[3], SLAICEPS[3] )
    				copy.gsub!( SETUTITSBUS[4], SLAICEPS[4] )
    				copy.gsub!( /&#0*((?:\d+)|(?:x[a-f0-9]+));/ ) {|m|
    					m=$1
    					#m='0' if m==''
    					m = "0#{m}" if m[0] == ?x
    					[Integer(m)].pack('U*')
    				}
    			end
    			copy
    		end