PHP 8.2.31
Preview: xmldecl.rb Size: 2.68 KB
/proc/thread-self/root/opt/alt/ruby21/lib64/ruby/2.1.0/rexml/xmldecl.rb

require 'rexml/encoding'
require 'rexml/source'

module REXML
  # NEEDS DOCUMENTATION
  class XMLDecl < Child
    include Encoding

    DEFAULT_VERSION = "1.0";
    DEFAULT_ENCODING = "UTF-8";
    DEFAULT_STANDALONE = "no";
    START = '<\?xml';
    STOP = '\?>';

    attr_accessor :version, :standalone
    attr_reader :writeencoding, :writethis

    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

    def clone
      XMLDecl.new(self)
    end

    # indent::
    #   Ignored.  There must be no whitespace before an XML declaration
    # transitive::
    #   Ignored
    # ie_hack::
    #   Ignored
    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

    def ==( other )
      other.kind_of?(XMLDecl) and
      other.version == @version and
      other.encoding == self.encoding and
      other.standalone == @standalone
    end

    def xmldecl version, encoding, standalone
      @version = version
      self.encoding = encoding
      @standalone = standalone
    end

    def node_type
      :xmldecl
    end

    alias :stand_alone? :standalone
    alias :old_enc= :encoding=

    def encoding=( enc )
      if enc.nil?
        self.old_enc = "UTF-8"
        @writeencoding = false
      else
        self.old_enc = enc
        @writeencoding = true
      end
      self.dowrite
    end

    # 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
    def XMLDecl.default
      rv = XMLDecl.new( "1.0" )
      rv.nowrite
      rv
    end

    def nowrite
      @writethis = false
    end

    def dowrite
      @writethis = true
    end

    def inspect
      START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '')
    end

    private
    def content(enc)
      rv = "version='#@version'"
      rv << " encoding='#{enc}'" if @writeencoding || enc !~ /\Autf-8\z/i
      rv << " standalone='#@standalone'" if @standalone
      rv
    end
  end
end

Directory Contents

Dirs: 5 × Files: 30

Name Size Perms Modified Actions
dtd DIR
- drwxr-xr-x 2024-03-03 22:43:05
Edit Download
- drwxr-xr-x 2024-03-03 22:43:05
Edit Download
light DIR
- drwxr-xr-x 2024-03-03 22:43:05
Edit Download
parsers DIR
- drwxr-xr-x 2024-03-03 22:43:05
Edit Download
- drwxr-xr-x 2024-03-03 22:43:05
Edit Download
1.89 KB lrw-r--r-- 2009-10-02 10:45:39
Edit Download
5.50 KB lrw-r--r-- 2013-08-04 18:37:46
Edit Download
1.54 KB lrw-r--r-- 2011-05-19 00:07:25
Edit Download
2.63 KB lrw-r--r-- 2011-05-19 00:07:25
Edit Download
2.14 KB lrw-r--r-- 2011-05-19 00:07:25
Edit Download
6.58 KB lrw-r--r-- 2010-12-07 12:10:23
Edit Download
9.48 KB lrw-r--r-- 2014-11-13 13:36:20
Edit Download
43.65 KB lrw-r--r-- 2013-04-26 13:56:34
Edit Download
1.13 KB lrw-r--r-- 2012-11-06 00:49:57
Edit Download
5.53 KB lrw-r--r-- 2014-11-13 13:36:20
Edit Download
11.27 KB lrw-r--r-- 2011-05-13 17:54:22
Edit Download
2.01 KB lrw-r--r-- 2009-10-02 10:45:39
Edit Download
1.09 KB lrw-r--r-- 2009-10-02 10:45:39
Edit Download
2.13 KB lrw-r--r-- 2011-05-19 00:07:25
Edit Download
519 B lrw-r--r-- 2012-11-03 05:43:28
Edit Download
4.33 KB lrw-r--r-- 2010-01-31 06:55:06
Edit Download
1.22 KB lrw-r--r-- 2010-10-30 12:10:56
Edit Download
9.08 KB lrw-r--r-- 2011-05-19 00:07:25
Edit Download
1.29 KB lrw-r--r-- 2013-02-27 12:24:31
Edit Download
3.58 KB lrw-r--r-- 2013-08-11 10:08:05
Edit Download
793 B lrw-r--r-- 2013-02-27 12:24:31
Edit Download
7.60 KB lrw-r--r-- 2012-11-06 00:49:57
Edit Download
3.81 KB lrw-r--r-- 2013-07-22 23:15:15
Edit Download
685 B lrw-r--r-- 2009-10-02 10:45:39
Edit Download
13.74 KB lrw-r--r-- 2013-07-07 02:50:38
Edit Download
210 B lrw-r--r-- 2007-11-16 01:30:29
Edit Download
2.68 KB lrw-r--r-- 2012-11-03 05:44:31
Edit Download
526 B lrw-r--r-- 2010-04-05 21:08:12
Edit Download
3.31 KB lrw-r--r-- 2011-05-18 21:19:18
Edit Download
25.70 KB lrw-r--r-- 2011-05-11 22:56:13
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).