PHP 8.2.31
Preview: xmldecl.rb Size: 2.65 KB
//proc/thread-self/root/opt/alt/ruby18/lib64/ruby/1.8/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, '')
      if writer.kind_of? Output
        writer << " #{content writer.encoding}"
      else
        writer << " #{content encoding}"
      end
			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 !~ /utf-8/i
			rv << " standalone='#@standalone'" if @standalone
			rv
		end
	end
end

Directory Contents

Dirs: 6 × Files: 29

Name Size Perms Modified Actions
dtd DIR
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
encodings DIR
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
light DIR
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
parsers DIR
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
- drwxr-xr-x 2024-03-03 22:48:14
Edit Download
1.79 KB lrw-r--r-- 2008-06-06 08:05:24
Edit Download
5.02 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
1.44 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
2.46 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
2.00 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
6.64 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
7.93 KB lrw-r--r-- 2013-05-18 14:55:14
Edit Download
43.24 KB lrw-r--r-- 2009-11-25 07:37:40
Edit Download
2.08 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
4.85 KB lrw-r--r-- 2009-02-05 00:03:56
Edit Download
10.80 KB lrw-r--r-- 2008-06-06 08:05:24
Edit Download
1.90 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
1018 B lrw-r--r-- 2007-02-12 23:01:19
Edit Download
1.93 KB lrw-r--r-- 2008-04-18 07:37:32
Edit Download
385 B lrw-r--r-- 2007-02-12 23:01:19
Edit Download
4.40 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
1.20 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
7.65 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
1.71 KB lrw-r--r-- 2013-05-18 14:55:14
Edit Download
3.45 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
7.06 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
3.71 KB lrw-r--r-- 2007-02-12 23:01:19
Edit Download
721 B lrw-r--r-- 2007-02-12 23:01:19
Edit Download
11.15 KB lrw-r--r-- 2013-05-18 14:55:14
Edit Download
210 B lrw-r--r-- 2008-04-18 07:22:13
Edit Download
2.65 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download
506 B lrw-r--r-- 2007-02-12 23:01:19
Edit Download
2.39 KB lrw-r--r-- 2008-06-06 08:05:24
Edit Download
25.15 KB lrw-r--r-- 2008-04-18 07:22:13
Edit Download

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