Class: REXML::XMLDecl (Ruby 2.2.3)
Description: Class : REXML::XMLDecl - Ruby 2.2.3

- Home
- Core 2.2.3
- Std-lib 2.2.3
- Downloads

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

### Home Classes Methods

### In Files

- rexml/xmldecl.rb

### Parent

REXML::Child

### Methods

- ::default
- ::new
- #==
- #clone
- #dowrite
- #encoding=
- #inspect
- #node_type
- #nowrite
- #old_enc=
- #write
- #xmldecl

### Included Modules

- REXML::Encoding

### Class/Module Index

Quicksearch

- Array
- Fixnum
- Float
- Object
- REXML
- REXML::AttlistDecl
- REXML::Attribute
- REXML::Attributes
- REXML::CData
- REXML::Child
- REXML::Comment
- REXML::DTD
- REXML::DTD::AttlistDecl
- REXML::DTD::ElementDecl
- REXML::DTD::EntityDecl
- REXML::DTD::NotationDecl
- REXML::DTD::Parser
- REXML::Declaration
- REXML::DocType
- REXML::Document
- REXML::Element
- REXML::ElementDecl
- REXML::Elements
- REXML::Encoding
- REXML::Entity
- REXML::EntityConst
- REXML::ExternalEntity
- REXML::Formatters
- REXML::Formatters::Default
- REXML::Formatters::Pretty
- REXML::Formatters::Transitive
- REXML::Functions
- REXML::IOSource
- REXML::Instruction
- REXML::Light
- REXML::Light::Node
- REXML::Namespace
- REXML::Node
- REXML::NotationDecl
- REXML::Output
- REXML::Parent
- REXML::ParseException
- REXML::Parsers
- REXML::Parsers::BaseParser
- REXML::Parsers::LightParser
- REXML::Parsers::PullEvent
- REXML::Parsers::PullParser
- REXML::Parsers::SAX2Parser
- REXML::Parsers::StreamParser
- REXML::Parsers::TreeParser
- REXML::Parsers::UltraLightParser
- REXML::Parsers::XPathParser
- REXML::QuickPath
- REXML::SAX2Listener
- REXML::Security
- REXML::Source
- REXML::SourceFactory
- REXML::StreamListener
- REXML::SyncEnumerator
- REXML::Text
- REXML::UndefinedNamespaceException
- REXML::Validation
- REXML::Validation::Choice
- REXML::Validation::Event
- REXML::Validation::Interleave
- REXML::Validation::OneOrMore
- REXML::Validation::Optional
- REXML::Validation::Ref
- REXML::Validation::RelaxNG
- REXML::Validation::Sequence
- REXML::Validation::State
- REXML::Validation::ValidationException
- REXML::Validation::Validator
- REXML::Validation::ZeroOrMore
- REXML::XMLDecl
- REXML::XMLTokens
- REXML::XPath
- REXML::XPathParser
- Symbol

No matching classes.

# REXML::XMLDecl

NEEDS DOCUMENTATION

### Constants

DEFAULT_ENCODING
DEFAULT_STANDALONE
DEFAULT_VERSION
START
STOP

### 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 89
    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 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

### Public Instance Methods

==( other ) click to toggle source

                   # File rexml/xmldecl.rb, line 53
    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 36
    def clone
      XMLDecl.new(self)
    end

dowrite() click to toggle source

                   # File rexml/xmldecl.rb, line 99
    def dowrite
      @writethis = true
    end

encoding=( enc ) click to toggle source

                   # File rexml/xmldecl.rb, line 73
    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 103
    def inspect
      START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '')
    end

node_type() click to toggle source

                   # File rexml/xmldecl.rb, line 66
    def node_type
      :xmldecl
    end

nowrite() click to toggle source

                   # File rexml/xmldecl.rb, line 95
    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 46
    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 60
    def xmldecl version, encoding, standalone
      @version = version
      self.encoding = encoding
      @standalone = standalone
    end