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.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rexml/xmldecl.rb', line 19 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
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 def standalone @standalone end |
#version ⇒ Object
Returns the value of attribute version
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 def version @version end |
#writeencoding ⇒ Object (readonly)
Returns the value of attribute writeencoding
17 18 19 |
# File 'lib/rexml/xmldecl.rb', line 17 def writeencoding @writeencoding end |
#writethis ⇒ Object (readonly)
Returns the value of attribute writethis
17 18 19 |
# File 'lib/rexml/xmldecl.rb', line 17 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
90 91 92 93 94 |
# File 'lib/rexml/xmldecl.rb', line 90 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
#==(other) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/rexml/xmldecl.rb', line 54 def ==( other ) other.kind_of?(XMLDecl) and other.version == @version and other.encoding == self.encoding and other.standalone == @standalone end |
#dowrite ⇒ Object
100 101 102 |
# File 'lib/rexml/xmldecl.rb', line 100 def dowrite @writethis = true end |
#encoding=(enc) ⇒ Object
74 75 76 77 78 79 80 81 82 83 |
# File 'lib/rexml/xmldecl.rb', line 74 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
104 105 106 |
# File 'lib/rexml/xmldecl.rb', line 104 def inspect START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '') end |
#node_type ⇒ Object
67 68 69 |
# File 'lib/rexml/xmldecl.rb', line 67 def node_type :xmldecl end |
#nowrite ⇒ Object
96 97 98 |
# File 'lib/rexml/xmldecl.rb', line 96 def nowrite @writethis = false end |
#old_enc= ⇒ Object
72 |
# File 'lib/rexml/xmldecl.rb', line 72 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
47 48 49 50 51 52 |
# File 'lib/rexml/xmldecl.rb', line 47 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) ⇒ Object
61 62 63 64 65 |
# File 'lib/rexml/xmldecl.rb', line 61 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |