Paul Davis
449aab3c46
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 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
|