David Robillard
99904735e0
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
27 lines
540 B
Ruby
27 lines
540 B
Ruby
class ElementHandler
|
|
|
|
def apply( anElement )
|
|
anElement.each {|e| handle(e)} if anElement
|
|
end
|
|
|
|
def handle( aNode )
|
|
if aNode.kind_of? REXML::Text
|
|
handleTextNode(aNode)
|
|
elsif aNode.kind_of? REXML::Element
|
|
handle_element aNode
|
|
else
|
|
return #ignore comments and processing instructions
|
|
end
|
|
end
|
|
|
|
def handle_element( anElement )
|
|
handler_method = "handle_" + anElement.name.tr("-","_")
|
|
if self.respond_to? handler_method
|
|
self.send(handler_method, anElement)
|
|
else
|
|
default_handler(anElement)
|
|
end
|
|
end
|
|
|
|
end
|