mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Documentation fixes and a patch to fix whitespace handling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									adb4439f85
								
							
						
					
					
						commit
						6a738f2265
					
				
					 6 changed files with 43 additions and 21 deletions
				
			
		|  | @ -39,7 +39,10 @@ module REXML | |||
| 		#   indentation will be this number of spaces, and children will be | ||||
| 		#   indented an additional amount. | ||||
| 		# transitive:: | ||||
| 		#   Who knows? | ||||
| 		#   If transitive is true and indent is >= 0, then the output will be | ||||
| 		#   pretty-printed in such a way that the added whitespace does not affect | ||||
| 		#   the absolute *value* of the document -- that is, it leaves the value | ||||
| 		#   and number of Text nodes in the document unchanged. | ||||
| 		# ie_hack:: | ||||
| 		#   Internet Explorer is the worst piece of crap to have ever been | ||||
| 		#   written, with the possible exception of Windows itself.  Since IE is | ||||
|  |  | |||
|  | @ -92,7 +92,10 @@ module REXML | |||
| 		#   indentation will be this number of spaces, and children will be | ||||
| 		#   indented an additional amount. | ||||
| 		# transitive:: | ||||
| 		#   Who knows? | ||||
| 		#   If transitive is true and indent is >= 0, then the output will be | ||||
| 		#   pretty-printed in such a way that the added whitespace does not affect | ||||
| 		#   the absolute *value* of the document -- that is, it leaves the value | ||||
| 		#   and number of Text nodes in the document unchanged. | ||||
| 		# ie_hack:: | ||||
| 		#   Internet Explorer is the worst piece of crap to have ever been | ||||
| 		#   written, with the possible exception of Windows itself.  Since IE is | ||||
|  |  | |||
|  | @ -145,7 +145,10 @@ module REXML | |||
| 		#   indentation will be this number of spaces, and children will be | ||||
| 		#   indented an additional amount.  Defaults to -1 | ||||
| 		# transitive:: | ||||
| 		#   What the heck does this do? Defaults to false | ||||
| 		#   If transitive is true and indent is >= 0, then the output will be | ||||
| 		#   pretty-printed in such a way that the added whitespace does not affect | ||||
| 		#   the absolute *value* of the document -- that is, it leaves the value | ||||
| 		#   and number of Text nodes in the document unchanged. | ||||
| 		# ie_hack:: | ||||
| 		#   Internet Explorer is the worst piece of crap to have ever been | ||||
| 		#   written, with the possible exception of Windows itself.  Since IE is | ||||
|  | @ -191,7 +194,7 @@ module REXML | |||
| 							build_context[-1] << event[1] | ||||
| 						else | ||||
| 							build_context.add(  | ||||
| 								Text.new( event[1], true, nil, true )  | ||||
| 								Text.new( event[1], build_context.whitespace, nil, true )  | ||||
| 							) unless ( | ||||
| 								event[1].strip.size==0 and  | ||||
| 								build_context.ignore_whitespace_nodes | ||||
|  |  | |||
|  | @ -98,8 +98,9 @@ module REXML | |||
| 		# is the case if: | ||||
| 		# 1. Neither :+respect_whitespace+ nor :+compress_whitespace+ has any value | ||||
| 		# 2. The context has :+respect_whitespace+ set to :+all+ or | ||||
| 		#    an array containing the name of this element, and :+compress_whitespace+ | ||||
| 		#    isn't set to :+all+ or an array containing the name of this element. | ||||
| 		#    an array containing the name of this element, and  | ||||
|     #    :+compress_whitespace+ isn't set to :+all+ or an array containing the  | ||||
|     #    name of this element. | ||||
| 		# The evaluation is tested against +expanded_name+, and so is namespace | ||||
| 		# sensitive. | ||||
| 		def whitespace | ||||
|  | @ -606,7 +607,9 @@ module REXML | |||
| 		#   indentation will be this number of spaces, and children will be | ||||
| 		#   indented an additional amount.  Defaults to -1 | ||||
| 		# transitive:: | ||||
| 		#   What the heck does this do? Defaults to false | ||||
| 		#   If transitive is true and indent is >= 0, then the output will be | ||||
| 		#   pretty-printed in such a way that the added whitespace does not affect | ||||
| 		#   the parse tree of the document | ||||
| 		# ie_hack:: | ||||
| 		#   Internet Explorer is the worst piece of crap to have ever been | ||||
| 		#   written, with the possible exception of Windows itself.  Since IE is | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ | |||
| # be accessed online at http://www.germane-software.com/software/rexml_doc | ||||
| # A tutorial is available in docs/tutorial.html | ||||
| module REXML | ||||
| 	Copyright = "Copyright #{Time.now.year} Sean Russell <ser@germane-software.com>" | ||||
| 	Date = "+2004/047" | ||||
| 	Version = "2.7.4.2" | ||||
| 	Copyright = "Copyright © 2001, 2002, 2003, 2004 Sean Russell <ser@germane-software.com>" | ||||
| 	Date = "+2004/088" | ||||
| 	Version = "3.0.0" | ||||
| end | ||||
|  |  | |||
|  | @ -176,6 +176,20 @@ module REXML | |||
|  			end | ||||
|  		end | ||||
| 
 | ||||
|     # Sets the contents of this text node.  This expects the text to be  | ||||
|     # unnormalized.  It returns self. | ||||
|     # | ||||
|     #   e = Element.new( "a" ) | ||||
|     #   e.add_text( "foo" )   # <a>foo</a> | ||||
|     #   e[0].value = "bar"    # <a>bar</a> | ||||
|     #   e[0].value = "<a>"    # <a><a></a> | ||||
|     def value=( val ) | ||||
| 			@string = val.gsub( /\r\n?/, "\n" ) | ||||
|       @unnormalized = nil | ||||
|       @normalized = nil | ||||
|       @raw = false | ||||
|     end | ||||
|   | ||||
|  		def indent(string, level=1, style="\t", indentfirstline=true) | ||||
|       return string if level < 0 | ||||
|  			new_string = '' | ||||
|  | @ -192,14 +206,10 @@ module REXML | |||
| 			s = to_s() | ||||
|       if not (@parent and @parent.whitespace) then | ||||
|         s = wrap(s, 60, false) if @parent and @parent.context[:wordwrap] == :all | ||||
|  				if @parent and not @parent.context[:indentstyle].nil? then | ||||
|  					indentstyle = @parent.context[:indentstyle] | ||||
|  				else | ||||
|  					indentstyle = '  ' | ||||
|  				end | ||||
|  				if s.count("\n") > 0 and indent > 0 then | ||||
|  					s = indent(s, indent, indentstyle, false) | ||||
|         if @parent and not @parent.context[:indentstyle].nil? and indent > 0 and s.count("\n") > 0 | ||||
|           s = indent(s, indent, @parent.context[:indentstyle], false) | ||||
|         end | ||||
|         s.squeeze!(" \n\t") if @parent and !@parent.whitespace | ||||
|       end | ||||
|       writer << s | ||||
| 		end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ser
						ser