Support for the Ruby 2.4 series has ended. See here for reference.

In Files

  • rexml/xmldecl.rb

Class/Module Index [+]

Quicksearch

REXML::XMLDecl

NEEDS DOCUMENTATION

Attributes

stand_alone?[RW]
standalone[RW]
version[RW]
writeencoding[R]
writethis[R]

Public Class Methods

default() click to toggle source

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 90
def XMLDecl.default
  rv = XMLDecl.new( "1.0" )
  rv.nowrite
  rv
end
            
new(version=DEFAULT_VERSION, encoding=nil, standalone=nil) click to toggle source
 
               # File rexml/xmldecl.rb, line 19
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
            

Public Instance Methods

==( other ) click to toggle source
 
               # File rexml/xmldecl.rb, line 54
def ==( other )
  other.kind_of?(XMLDecl) and
  other.version == @version and
  other.encoding == self.encoding and
  other.standalone == @standalone
end
            
clone() click to toggle source
 
               # File rexml/xmldecl.rb, line 37
def clone
  XMLDecl.new(self)
end
            
dowrite() click to toggle source
 
               # File rexml/xmldecl.rb, line 100
def dowrite
  @writethis = true
end
            
encoding=( enc ) click to toggle source
 
               # File rexml/xmldecl.rb, line 74
def encoding=( enc )
  if enc.nil?
    self.old_enc = "UTF-8"
    @writeencoding = false
  else
    self.old_enc = enc
    @writeencoding = true
  end
  self.dowrite
end
            
Also aliased as: old_enc=
inspect() click to toggle source
 
               # File rexml/xmldecl.rb, line 104
def inspect
  START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '')
end
            
node_type() click to toggle source
 
               # File rexml/xmldecl.rb, line 67
def node_type
  :xmldecl
end
            
nowrite() click to toggle source
 
               # File rexml/xmldecl.rb, line 96
def nowrite
  @writethis = false
end
            
old_enc=( enc ) click to toggle source
Alias for: encoding=
write(writer, indent=-1, transitive=false, ie_hack=false) click to toggle source
indent

Ignored. There must be no whitespace before an XML declaration

transitive

Ignored

ie_hack

Ignored

 
               # File rexml/xmldecl.rb, line 47
def write(writer, indent=-1, transitive=false, ie_hack=false)
  return nil unless @writethis or writer.kind_of? Output
  writer << START.sub(/\\/u, '')
  writer << " #{content encoding}"
  writer << STOP.sub(/\\/u, '')
end
            
xmldecl(version, encoding, standalone) click to toggle source
 
               # File rexml/xmldecl.rb, line 61
def xmldecl version, encoding, standalone
  @version = version
  self.encoding = encoding
  @standalone = standalone
end