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 =
"?>"
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.
-
#writethis ⇒ Object
readonly
Returns the value of attribute writethis.
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
- indent
-
Ignored.
- #xmldecl(version, encoding, standalone) ⇒ Object
Methods included from Encoding
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.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rexml/xmldecl.rb', line 20 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 @writethis = version.writethis 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.
17 18 19 |
# File 'lib/rexml/xmldecl.rb', line 17 def standalone @standalone end |
#version ⇒ Object
Returns the value of attribute version.
17 18 19 |
# File 'lib/rexml/xmldecl.rb', line 17 def version @version end |
#writeencoding ⇒ Object (readonly)
Returns the value of attribute writeencoding.
18 19 20 |
# File 'lib/rexml/xmldecl.rb', line 18 def writeencoding @writeencoding end |
#writethis ⇒ Object (readonly)
Returns the value of attribute writethis.
18 19 20 |
# File 'lib/rexml/xmldecl.rb', line 18 def writethis @writethis 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
92 93 94 95 96 |
# File 'lib/rexml/xmldecl.rb', line 92 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
#==(other) ⇒ Object
56 57 58 59 60 61 |
# File 'lib/rexml/xmldecl.rb', line 56 def ==( other ) other.kind_of?(XMLDecl) and other.version == @version and other.encoding == self.encoding and other.standalone == @standalone end |
#dowrite ⇒ Object
102 103 104 |
# File 'lib/rexml/xmldecl.rb', line 102 def dowrite @writethis = true end |
#encoding=(enc) ⇒ Object
76 77 78 79 80 81 82 83 84 85 |
# File 'lib/rexml/xmldecl.rb', line 76 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
106 107 108 |
# File 'lib/rexml/xmldecl.rb', line 106 def inspect "#{START} ... #{STOP}" end |
#node_type ⇒ Object
69 70 71 |
# File 'lib/rexml/xmldecl.rb', line 69 def node_type :xmldecl end |
#nowrite ⇒ Object
98 99 100 |
# File 'lib/rexml/xmldecl.rb', line 98 def nowrite @writethis = false end |
#old_enc= ⇒ Object
74 |
# File 'lib/rexml/xmldecl.rb', line 74 alias :old_enc= :encoding= |
#write(writer, indent = -1,, transitive = false, ie_hack = false) ⇒ Object
- indent
-
Ignored. There must be no whitespace before an XML declaration
- transitive
-
Ignored
- ie_hack
-
Ignored
49 50 51 52 53 54 |
# File 'lib/rexml/xmldecl.rb', line 49 def write(writer, indent=-1, transitive=false, ie_hack=false) return nil unless @writethis or writer.kind_of? Output writer << START writer << " #{content encoding}" writer << STOP end |
#xmldecl(version, encoding, standalone) ⇒ Object
63 64 65 66 67 |
# File 'lib/rexml/xmldecl.rb', line 63 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |