NEEDS DOCUMENTATION
Only use this if you do not want the XML declaration to be written; this object is ignored by the XML writer. Otherwise, instantiate your own XMLDecl and add it to the document.
Note that XML 1.1 documents must include an XML declaration
# File rexml/xmldecl.rb, line 93
def XMLDecl.default
rv = XMLDecl.new( "1.0" )
rv.nowrite
rv
end
# File rexml/xmldecl.rb, line 18
def initialize(version=DEFAULT_VERSION, encoding=nil, standalone=nil)
@writethis = true
@writeencoding = !encoding.nil?
if version.kind_of? XMLDecl
super()
@version = version.version
self.encoding = version.encoding
@writeencoding = version.writeencoding
@standalone = version.standalone
else
super()
@version = version
self.encoding = encoding
@standalone = standalone
end
@version = DEFAULT_VERSION if @version.nil?
end
# File rexml/xmldecl.rb, line 57
def ==( other )
other.kind_of?(XMLDecl) and
other.version == @version and
other.encoding == self.encoding and
other.standalone == @standalone
end
# File rexml/xmldecl.rb, line 103
def dowrite
@writethis = true
end
# File rexml/xmldecl.rb, line 77
def encoding=( enc )
if enc.nil?
self.old_enc = "UTF-8"
@writeencoding = false
else
self.old_enc = enc
@writeencoding = true
end
self.dowrite
end
# File rexml/xmldecl.rb, line 107
def inspect
START.sub(/\\/, '') + " ... " + STOP.sub(/\\/, '')
end
# File rexml/xmldecl.rb, line 99
def nowrite
@writethis = false
end
indent |
Ignored. There must be no whitespace before an XML declaration |
transitive |
Ignored |
ie_hack |
Ignored |
# File rexml/xmldecl.rb, line 46
def write(writer, indent=-1, transitive=false, ie_hack=false)
return nil unless @writethis or writer.kind_of? Output
writer << START.sub(/\\/, '')
if writer.kind_of? Output
writer << " #{content writer.encoding}"
else
writer << " #{content encoding}"
end
writer << STOP.sub(/\\/, '')
end