# REXML::AttlistDecl (Class)

In: | rexml/attlistdecl.rb
Parent: | Child

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.

## Methods

[] each include? new node_type write

## Attributes

element_name | [R] | What is this? Got me.

## Included Modules

Enumerable

## Public Class methods

new(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 forseeable future, DTD support in REXML is pretty weak on convenience. Have I mentioned how much I hate DTDs?

[Source]

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

## Public Instance methods

[](key)

Access the attlist attribute/value pairs.

     value = attlist_decl[ attribute_name ]

[Source]

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

include?(key)

Whether an attlist declaration includes the given attribute definition

     if attlist_decl.include? "xmlns:foobar"

[Source]

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

each(&block)

Itterate over the key/value pairs:

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

[Source]

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

write(out, indent=-1)

Write out exactly what we got in.

[Source]

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

node_type()

[Source]

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

[Validate]