Class: REXML::XMLDecl
Overview
NEEDS DOCUMENTATION
Constant Summary
- 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)
-
- (Object) standalone
(also: #stand_alone?)
Returns the value of attribute standalone.
-
- (Object) version
Returns the value of attribute version.
-
- (Object) writeencoding
readonly
Returns the value of attribute writeencoding.
-
- (Object) writethis
readonly
Returns the value of attribute writethis.
Attributes included from Encoding
Attributes inherited from Child
Class Method Summary (collapse)
-
+ (Object) default
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)
- - (Object) ==(other)
- - (Object) clone
- - (Object) dowrite
- - (Object) encoding=(enc)
-
- (XMLDecl) initialize(version = DEFAULT_VERSION, encoding = nil, standalone = nil)
constructor
A new instance of XMLDecl.
- - (Object) inspect
- - (Object) node_type
- - (Object) nowrite
- - (Object) old_enc=
-
- (Object) write(writer, indent = 1, transitive = false, ie_hack = false)
indent::.
- - (Object) xmldecl(version, encoding, standalone)
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
- (XMLDecl) initialize(version = DEFAULT_VERSION, encoding = nil, standalone = nil)
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
- (Object) standalone 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 |
- (Object) version
Returns the value of attribute version
15 16 17 |
# File 'lib/rexml/xmldecl.rb', line 15 def version @version end |
- (Object) writeencoding (readonly)
Returns the value of attribute writeencoding
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 def writeencoding @writeencoding end |
- (Object) writethis (readonly)
Returns the value of attribute writethis
16 17 18 |
# File 'lib/rexml/xmldecl.rb', line 16 def writethis @writethis end |
Class Method Details
+ (Object) default
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/rexml/xmldecl.rb', line 93 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end |
Instance Method Details
- (Object) ==(other)
57 58 59 60 61 62 |
# File 'lib/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 |
- (Object) clone
36 37 38 |
# File 'lib/rexml/xmldecl.rb', line 36 def clone XMLDecl.new(self) end |
- (Object) dowrite
103 104 105 |
# File 'lib/rexml/xmldecl.rb', line 103 def dowrite @writethis = true end |
- (Object) encoding=(enc)
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/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 |
- (Object) inspect
107 108 109 |
# File 'lib/rexml/xmldecl.rb', line 107 def inspect START.sub(/\\/u, '') + " ... " + STOP.sub(/\\/u, '') end |
- (Object) node_type
70 71 72 |
# File 'lib/rexml/xmldecl.rb', line 70 def node_type :xmldecl end |
- (Object) nowrite
99 100 101 |
# File 'lib/rexml/xmldecl.rb', line 99 def nowrite @writethis = false end |
- (Object) old_enc=
75 |
# File 'lib/rexml/xmldecl.rb', line 75 alias :old_enc= :encoding= |
- (Object) write(writer, indent = 1, transitive = false, ie_hack = false)
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/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 |
- (Object) xmldecl(version, encoding, standalone)
64 65 66 67 68 |
# File 'lib/rexml/xmldecl.rb', line 64 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end |