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.
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 |
#writethis ⇒ Object (readonly)
Returns the value of attribute writethis
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 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
89 90 91 92 93 |
# File 'lib/rexml/xmldecl.rb', line 89 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
#==(other) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/rexml/xmldecl.rb', line 53 def ==( other ) other.kind_of?(XMLDecl) and other.version == @version and other.encoding == self.encoding and other.standalone == @standalone end |
#dowrite ⇒ Object
99 100 101 |
# File 'lib/rexml/xmldecl.rb', line 99 def dowrite @writethis = true end |
#encoding=(enc) ⇒ Object
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/rexml/xmldecl.rb', line 73 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
103 104 105 |
# File 'lib/rexml/xmldecl.rb', line 103 def inspect START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '') end |
#node_type ⇒ Object
66 67 68 |
# File 'lib/rexml/xmldecl.rb', line 66 def node_type :xmldecl end |
#nowrite ⇒ Object
95 96 97 |
# File 'lib/rexml/xmldecl.rb', line 95 def nowrite @writethis = false end |
#old_enc= ⇒ Object
71 |
# File 'lib/rexml/xmldecl.rb', line 71 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
46 47 48 49 50 51 |
# File 'lib/rexml/xmldecl.rb', line 46 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
60 61 62 63 64 |
# File 'lib/rexml/xmldecl.rb', line 60 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |