class REXML::AttlistDecl

这个类需要

  • 文档

  • 工作!并非所有类型的属性列表都被智能地解析,所以我们只是

把我们得到的东西吐回去。这可以工作,但如果我们自己格式化输出会更好。

AttlistDecls 仅提供**足够**的支持以允许命名空间声明。如果您需要某种通用支持,或者对如何将 DTD 的可怕设计 AttlistDecls 映射到直观的 Ruby 接口有有趣的想法,请告诉我。我迫切需要任何使 DTD 更可口的东西。

属性

element_name[R]

这是什么?我也不知道。

公共类方法

new(source) 点击切换源代码

创建一个 AttlistDecl,从 Source 中提取信息。请注意,这不是很方便;要创建一个 AttlistDecl,您基本上必须自己格式化它,然后让初始化器解析它。很抱歉,但在可预见的未来,REXML 中对 DTD 的支持在便利性方面相当薄弱。我有提到过我有多讨厌 DTD 吗?

调用超类方法
# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 29
def initialize(source)
  super()
  if (source.kind_of? Array)
    @element_name, @pairs, @contents = *source
  end
end

公共实例方法

[](key) 点击切换源代码

访问属性列表的属性/值对。

value = attlist_decl[ attribute_name ]
# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 38
def [](key)
  @pairs[key]
end
each(&block) 点击切换源代码

迭代键/值对

attlist_decl.each { |attribute_name, attribute_value| ... }
# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 50
def each(&block)
  @pairs.each(&block)
end
include?(key) 点击切换源代码

判断属性列表声明是否包含给定的属性定义

if attlist_decl.include? "xmlns:foobar"
# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 44
def include?(key)
  @pairs.keys.include? key
end
node_type() 点击切换源代码
# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 59
def node_type
  :attlistdecl
end
write(out, indent=-1) 点击切换源代码

原样写出我们得到的东西。

# File rexml-3.4.0/lib/rexml/attlistdecl.rb, line 55
def write out, indent=-1
  out << @contents
end