aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rexml/element.rb
diff options
context:
space:
mode:
authorser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-18 14:04:03 +0000
committerser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-18 14:04:03 +0000
commit94e117da620b122dd28f6c1e52ac452459a50cc5 (patch)
treef257516d0c600ed2e63b70f087cb2f66730904ad /lib/rexml/element.rb
parentb841a6fce553dd5440a86c7ad9dcabfe7c06f826 (diff)
downloadruby-94e117da620b122dd28f6c1e52ac452459a50cc5.tar.gz
r1025 | ser | 2004-07-18 08:18:36 -0400 (Sun, 18 Jul 2004) | 2 lines
@@ Fixed a CDATA pretty-printing bug. (#39) @@ r1026 | ser | 2004-07-18 09:03:02 -0400 (Sun, 18 Jul 2004) | 4 lines @@ Fixed a buffering bug in Source.rb that affected the SAX parser @@ This bug was related to how REXML determines the encoding of a file, and evinced itself by hanging on input when using the SAX parser. r1028 | ser | 2004-07-18 09:06:18 -0400 (Sun, 18 Jul 2004) | 3 lines * Minor pretty printing fix WRT CDATA segments. @@ Applied Curt Sampson's optimization improvements @@ git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/element.rb')
-rw-r--r--lib/rexml/element.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb
index 25e530de41..b76c0179c7 100644
--- a/lib/rexml/element.rb
+++ b/lib/rexml/element.rb
@@ -107,7 +107,8 @@ module REXML
# Evaluates to the document to which this element belongs, or nil if this
# element doesn't belong to a document.
def document
- root.parent if root
+ rt = root
+ rt.parent if rt
end
# Evaluates to +true+ if whitespace is respected for this element. This
@@ -670,7 +671,7 @@ module REXML
end
writer << "/"
else
- if transitive and indent>-1 and !@children[0].instance_of? Text
+ if transitive and indent>-1 and !@children[0].kind_of? Text
writer << "\n"
indent writer, indent+1
end
@@ -1044,10 +1045,11 @@ module REXML
return attr
end
end
- if @element.document and @element.document.doctype
+ element_document = @element.document
+ if element_document and element_document.doctype
expn = @element.expanded_name
- expn = @element.document.doctype.name if expn.size == 0
- attr_val = @element.document.doctype.attribute_of(expn, name)
+ expn = element_document.doctype.name if expn.size == 0
+ attr_val = element_document.doctype.attribute_of(expn, name)
return Attribute.new( name, attr_val ) if attr_val
end
return nil