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
|
# indentation will be this number of spaces, and children will be
|
||||||
# indented an additional amount.
|
# indented an additional amount.
|
||||||
# transitive::
|
# 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::
|
# ie_hack::
|
||||||
# Internet Explorer is the worst piece of crap to have ever been
|
# Internet Explorer is the worst piece of crap to have ever been
|
||||||
# written, with the possible exception of Windows itself. Since IE is
|
# 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
|
# indentation will be this number of spaces, and children will be
|
||||||
# indented an additional amount.
|
# indented an additional amount.
|
||||||
# transitive::
|
# 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::
|
# ie_hack::
|
||||||
# Internet Explorer is the worst piece of crap to have ever been
|
# Internet Explorer is the worst piece of crap to have ever been
|
||||||
# written, with the possible exception of Windows itself. Since IE is
|
# 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
|
# indentation will be this number of spaces, and children will be
|
||||||
# indented an additional amount. Defaults to -1
|
# indented an additional amount. Defaults to -1
|
||||||
# transitive::
|
# 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::
|
# ie_hack::
|
||||||
# Internet Explorer is the worst piece of crap to have ever been
|
# Internet Explorer is the worst piece of crap to have ever been
|
||||||
# written, with the possible exception of Windows itself. Since IE is
|
# written, with the possible exception of Windows itself. Since IE is
|
||||||
|
@ -191,7 +194,7 @@ module REXML
|
||||||
build_context[-1] << event[1]
|
build_context[-1] << event[1]
|
||||||
else
|
else
|
||||||
build_context.add(
|
build_context.add(
|
||||||
Text.new( event[1], true, nil, true )
|
Text.new( event[1], build_context.whitespace, nil, true )
|
||||||
) unless (
|
) unless (
|
||||||
event[1].strip.size==0 and
|
event[1].strip.size==0 and
|
||||||
build_context.ignore_whitespace_nodes
|
build_context.ignore_whitespace_nodes
|
||||||
|
|
|
@ -98,8 +98,9 @@ module REXML
|
||||||
# is the case if:
|
# is the case if:
|
||||||
# 1. Neither :+respect_whitespace+ nor :+compress_whitespace+ has any value
|
# 1. Neither :+respect_whitespace+ nor :+compress_whitespace+ has any value
|
||||||
# 2. The context has :+respect_whitespace+ set to :+all+ or
|
# 2. The context has :+respect_whitespace+ set to :+all+ or
|
||||||
# an array containing the name of this element, and :+compress_whitespace+
|
# an array containing the name of this element, and
|
||||||
# isn't set to :+all+ or an array containing the name of this element.
|
# :+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
|
# The evaluation is tested against +expanded_name+, and so is namespace
|
||||||
# sensitive.
|
# sensitive.
|
||||||
def whitespace
|
def whitespace
|
||||||
|
@ -606,7 +607,9 @@ module REXML
|
||||||
# indentation will be this number of spaces, and children will be
|
# indentation will be this number of spaces, and children will be
|
||||||
# indented an additional amount. Defaults to -1
|
# indented an additional amount. Defaults to -1
|
||||||
# transitive::
|
# 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::
|
# ie_hack::
|
||||||
# Internet Explorer is the worst piece of crap to have ever been
|
# Internet Explorer is the worst piece of crap to have ever been
|
||||||
# written, with the possible exception of Windows itself. Since IE is
|
# 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
|
# be accessed online at http://www.germane-software.com/software/rexml_doc
|
||||||
# A tutorial is available in docs/tutorial.html
|
# A tutorial is available in docs/tutorial.html
|
||||||
module REXML
|
module REXML
|
||||||
Copyright = "Copyright #{Time.now.year} Sean Russell <ser@germane-software.com>"
|
Copyright = "Copyright © 2001, 2002, 2003, 2004 Sean Russell <ser@germane-software.com>"
|
||||||
Date = "+2004/047"
|
Date = "+2004/088"
|
||||||
Version = "2.7.4.2"
|
Version = "3.0.0"
|
||||||
end
|
end
|
||||||
|
|
|
@ -175,6 +175,20 @@ module REXML
|
||||||
return string[0,place] + "\n" + wrap(string[place+1..-1], width)
|
return string[0,place] + "\n" + wrap(string[place+1..-1], width)
|
||||||
end
|
end
|
||||||
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)
|
def indent(string, level=1, style="\t", indentfirstline=true)
|
||||||
return string if level < 0
|
return string if level < 0
|
||||||
|
@ -190,17 +204,13 @@ module REXML
|
||||||
|
|
||||||
def write( writer, indent=-1, transitive=false, ie_hack=false )
|
def write( writer, indent=-1, transitive=false, ie_hack=false )
|
||||||
s = to_s()
|
s = to_s()
|
||||||
if not (@parent and @parent.whitespace) then
|
if not (@parent and @parent.whitespace) then
|
||||||
s = wrap(s, 60, false) if @parent and @parent.context[:wordwrap] == :all
|
s = wrap(s, 60, false) if @parent and @parent.context[:wordwrap] == :all
|
||||||
if @parent and not @parent.context[:indentstyle].nil? then
|
if @parent and not @parent.context[:indentstyle].nil? and indent > 0 and s.count("\n") > 0
|
||||||
indentstyle = @parent.context[:indentstyle]
|
s = indent(s, indent, @parent.context[:indentstyle], false)
|
||||||
else
|
end
|
||||||
indentstyle = ' '
|
s.squeeze!(" \n\t") if @parent and !@parent.whitespace
|
||||||
end
|
end
|
||||||
if s.count("\n") > 0 and indent > 0 then
|
|
||||||
s = indent(s, indent, indentstyle, false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
writer << s
|
writer << s
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue