# class REXML::AttlistDecl

This class needs:

- Documentation

- Work! Not all types of attlists are intelligently parsed, so we just

spew back out what we get in. This works, but it would be better if we formatted the output ourselves.

AttlistDecls provide just enough support to allow namespace declarations. If you need some sort of generalized support, or have an interesting idea about how to map the hideous, terrible design of `DTD` AttlistDecls onto an intuitive Ruby interface, let me know. I'm desperate for anything to make DTDs more palateable.

### Attributes

element_name[R]

What is this? Got me.

### Public Class Methods

new(source) click to toggle source

Create an `AttlistDecl`, pulling the information from a `Source`. Notice that this isn't very convenient; to create an `AttlistDecl`, you basically have to format it yourself, and then have the initializer parse it. Sorry, but for the foreseeable future, `DTD` support in `REXML` is pretty weak on convenience. Have I mentioned how much I hate DTDs?

Calls superclass method

    # File lib/rexml/attlistdecl.rb, line 29
    def initialize(source)
      super()
      if (source.kind_of? Array)
        @element_name, @pairs, @contents = *source
      end
    end

### Public Instance Methods

[](key) click to toggle source

Access the attlist attribute/value pairs.

    value = attlist_decl[ attribute_name ]

    # File lib/rexml/attlistdecl.rb, line 38
    def [](key)
      @pairs[key]
    end

each(&block) click to toggle source

Iterate over the key/value pairs:

    attlist_decl.each { |attribute_name, attribute_value| ... }

    # File lib/rexml/attlistdecl.rb, line 50
    def each(&block)
      @pairs.each(&block)
    end

include?(key) click to toggle source

Whether an attlist declaration includes the given attribute definition

    if attlist_decl.include? "xmlns:foobar"

    # File lib/rexml/attlistdecl.rb, line 44
    def include?(key)
      @pairs.keys.include? key
    end

node_type() click to toggle source

    # File lib/rexml/attlistdecl.rb, line 59
    def node_type
      :attlistdecl
    end

write(out, indent=-1) click to toggle source

Write out exactly what we got in.

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