Class: REXML::XMLDecl
- Includes:
- Encoding
- Defined in:
- lib/rexml/xmldecl.rb
Overview
NEEDS DOCUMENTATION
Constant Summary collapse
- DEFAULT_VERSION =
"1.0"- DEFAULT_ENCODING =
"UTF-8"- DEFAULT_STANDALONE =
"no"- START =
'<\?xml'- STOP =
'\?>'
Constants included from Encoding
Encoding::UNILE, Encoding::UTF_16, Encoding::UTF_8
Instance Attribute Summary collapse
-
#standalone ⇒ Object
(also: #stand_alone?)
Returns the value of attribute standalone.
-
#version ⇒ Object
Returns the value of attribute version.
-
#writeencoding ⇒ Object
readonly
Returns the value of attribute writeencoding.
Attributes included from Encoding
Attributes inherited from Child
Class Method Summary collapse
-
.default ⇒ Object
Only use this if you do not want the XML declaration to be written; this object is ignored by the XML writer.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #clone ⇒ Object
- #dowrite ⇒ Object
- #encoding=(enc) ⇒ Object
-
#initialize(version = DEFAULT_VERSION, encoding = nil, standalone = nil) ⇒ XMLDecl
constructor
A new instance of XMLDecl.
- #inspect ⇒ Object
- #node_type ⇒ Object
- #nowrite ⇒ Object
- #old_enc= ⇒ Object
- #write(writer, indent = -1,, transitive = false, ie_hack = false) ⇒ Object
- #xmldecl(version, encoding, standalone) ⇒ Object
Methods included from Encoding
apply, #check_encoding, #decode_ascii, #decode_iconv, #decode_unile, #decode_utf8, #encode_ascii, #encode_iconv, #encode_unile, #encode_utf8, encoding_method, register
Methods inherited from Child
#bytes, #document, #next_sibling=, #previous_sibling=, #remove, #replace_with
Methods included from Node
#each_recursive, #find_first_recursive, #indent, #index_in_parent, #next_sibling_node, #parent?, #previous_sibling_node, #to_s
Constructor Details
#initialize(version = DEFAULT_VERSION, encoding = nil, standalone = nil) ⇒ XMLDecl
Returns a new instance of XMLDecl.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/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 |
Instance Attribute Details
#standalone ⇒ Object Also known as: stand_alone?
Returns the value of attribute standalone.
15 16 17 |
# File 'lib/rexml/xmldecl.rb', line 15 def standalone @standalone end |
#version ⇒ Object
Returns the value of attribute version.
15 16 17 |
# File 'lib/rexml/xmldecl.rb', line 15 def version @version end |
#writeencoding ⇒ Object (readonly)
Returns the value of attribute writeencoding.
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 def writeencoding @writeencoding end |
Class Method Details
.default ⇒ Object
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
88 89 90 91 92 |
# File 'lib/rexml/xmldecl.rb', line 88 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
#==(other) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/rexml/xmldecl.rb', line 52 def ==( other ) other.kind_of?(XMLDecl) and other.version == @version and other.encoding == self.encoding and other.standalone == @standalone end |
#dowrite ⇒ Object
98 99 100 |
# File 'lib/rexml/xmldecl.rb', line 98 def dowrite @writethis = true end |
#encoding=(enc) ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/rexml/xmldecl.rb', line 72 def encoding=( enc ) if enc.nil? self.old_enc = "UTF-8" @writeencoding = false else self.old_enc = enc @writeencoding = true end self.dowrite end |
#inspect ⇒ Object
102 103 104 |
# File 'lib/rexml/xmldecl.rb', line 102 def inspect START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '') end |
#node_type ⇒ Object
65 66 67 |
# File 'lib/rexml/xmldecl.rb', line 65 def node_type :xmldecl end |
#nowrite ⇒ Object
94 95 96 |
# File 'lib/rexml/xmldecl.rb', line 94 def nowrite @writethis = false end |
#old_enc= ⇒ Object
70 |
# File 'lib/rexml/xmldecl.rb', line 70 alias :old_enc= :encoding= |
#write(writer, indent = -1,, transitive = false, ie_hack = false) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rexml/xmldecl.rb', line 40 def write writer, indent=-1, transitive=false, ie_hack=false return nil unless @writethis or writer.kind_of? Output indent( writer, indent ) writer << START.sub(/\\/u, '') if writer.kind_of? Output writer << " #{content writer.encoding}" else writer << " #{content encoding}" end writer << STOP.sub(/\\/u, '') end |
#xmldecl(version, encoding, standalone) ⇒ Object
59 60 61 62 63 |
# File 'lib/rexml/xmldecl.rb', line 59 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |