class REXML::XMLDecl
需要文档
常量
- DEFAULT_ENCODING
- DEFAULT_STANDALONE
- DEFAULT_VERSION
- START
- STOP
属性
stand_alone?[RW]
standalone[RW]
version[RW]
writeencoding[R]
writethis[R]
公共类方法
default() 点击切换源代码
仅当您不希望写入 XML 声明时才使用此方法;此对象会被 XML 写入器忽略。否则,请实例化您自己的 XMLDecl
并将其添加到文档中。
请注意,XML 1.1 文档 必须包含 XML 声明
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 92 def XMLDecl.default rv = XMLDecl.new( "1.0" ) rv.nowrite rv end
new(version=DEFAULT_VERSION, encoding=nil, standalone=nil) 点击切换源代码
调用父类方法
REXML::Child::new
# File rexml-3.4.0/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
公共实例方法
==( other ) 点击切换源代码
# File rexml-3.4.0/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
clone() 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 39 def clone XMLDecl.new(self) end
dowrite() 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 102 def dowrite @writethis = true end
encoding=( enc ) 点击切换源代码
# File rexml-3.4.0/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
也别名为: old_enc=
inspect() 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 106 def inspect "#{START} ... #{STOP}" end
node_type() 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 69 def node_type :xmldecl end
nowrite() 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 98 def nowrite @writethis = false end
write(writer, indent=-1, transitive=false, ie_hack=false) 点击切换源代码
- indent
-
忽略。XML 声明之前不能有空格
- transitive
-
忽略
- ie_hack
-
忽略
# File rexml-3.4.0/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) 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 63 def xmldecl version, encoding, standalone @version = version self.encoding = encoding @standalone = standalone end
私有实例方法
content(enc) 点击切换源代码
# File rexml-3.4.0/lib/rexml/xmldecl.rb, line 111 def content(enc) context = nil context = parent.context if parent if context and context[:prologue_quote] == :quote quote = "\"" else quote = "'" end rv = "version=#{quote}#{@version}#{quote}" if @writeencoding or enc !~ /\Autf-8\z/i rv << " encoding=#{quote}#{enc}#{quote}" end if @standalone rv << " standalone=#{quote}#{@standalone}#{quote}" end rv end