Class: REXML::XMLDecl
- Includes:
- Encoding
- Defined in:
- lib/extensions/rexml/rexml/xmldecl.rb,
lib/extensions/rhoxml/rexml/xmldecl.rb,
lib/extensions/rhoxml/rexml/document.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.
-
#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
apply, #check_encoding, #decode_ascii, #decode_cp1252, #decode_iconv, #decode_unile, #decode_utf16, #decode_utf8, #encode_ascii, #encode_cp1252, #encode_iconv, #encode_unile, #encode_utf16, #encode_utf8, encoding_method, #from_iso_8859_15, register, #to_iso_8859_15
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/extensions/rexml/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/extensions/rexml/rexml/xmldecl.rb', line 15 def standalone @standalone end |
#version ⇒ Object
Returns the value of attribute version.
15 16 17 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 15 def version @version end |
#writeencoding ⇒ Object (readonly)
Returns the value of attribute writeencoding.
16 17 18 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 16 def writeencoding @writeencoding end |
#writethis ⇒ Object (readonly)
Returns the value of attribute writethis.
16 17 18 |
# File 'lib/extensions/rexml/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
93 94 95 96 97 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 93 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
#==(other) ⇒ Object
57 58 59 60 61 62 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 57 def ==( other ) other.kind_of?(XMLDecl) and other.version == @version and other.encoding == self.encoding and other.standalone == @standalone end |
#clone ⇒ Object
36 37 38 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 36 def clone XMLDecl.new(self) end |
#dowrite ⇒ Object
103 104 105 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 103 def dowrite @writethis = true end |
#encoding=(enc) ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 77 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
107 108 109 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 107 def inspect START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '') end |
#node_type ⇒ Object
70 71 72 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 70 def node_type :xmldecl end |
#nowrite ⇒ Object
99 100 101 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 99 def nowrite @writethis = false end |
#old_enc= ⇒ Object
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 75 def encoding=( enc ) if enc.nil? self.old_enc = "UTF-8" @writeencoding = false else self.old_enc = enc @writeencoding = true end self.dowrite end |
#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 52 53 54 55 |
# File 'lib/extensions/rexml/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, '') if writer.kind_of? Output writer << " #{content writer.encoding}" else writer << " #{content encoding}" end writer << STOP.sub(/\\/u, '') end |
#xmldecl(version, encoding, standalone) ⇒ Object
64 65 66 67 68 |
# File 'lib/extensions/rexml/rexml/xmldecl.rb', line 64 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |