class XMLRPC::XMLParser::XMLTreeParser

Public Class Methods

new() click to toggle source
# File lib/xmlrpc/parser.rb, line 645
def initialize
 require "xmltreebuilder"
 # The new XMLParser library (0.6.2+) uses a slightly different DOM implementation.
 # The following code removes the differences between both versions.
 if defined? XML::DOM::Builder
 return if defined? XML::DOM::Node::DOCUMENT # code below has been already executed
 klass = XML::DOM::Node
 klass.const_set(:DOCUMENT, klass::DOCUMENT_NODE)
 klass.const_set(:TEXT, klass::TEXT_NODE)
 klass.const_set(:COMMENT, klass::COMMENT_NODE)
 klass.const_set(:ELEMENT, klass::ELEMENT_NODE)
 end
end

Private Instance Methods

_nodeType(node) click to toggle source
# File lib/xmlrpc/parser.rb, line 662
def _nodeType(node)
 tp = node.nodeType
 if tp == XML::SimpleTree::Node::TEXT then :TEXT
 elsif tp == XML::SimpleTree::Node::COMMENT then :COMMENT
 elsif tp == XML::SimpleTree::Node::ELEMENT then :ELEMENT
 else :ELSE
 end
end
createCleanedTree(str) click to toggle source
# File lib/xmlrpc/parser.rb, line 686
def createCleanedTree(str)
 doc = XML::SimpleTreeBuilder.new.parse(str)
 doc.documentElement.normalize
 removeWhitespacesAndComments(doc)
 doc
end
methodCall_document(node) click to toggle source
# File lib/xmlrpc/parser.rb, line 679
def methodCall_document(node)
 assert( node.nodeType == XML::SimpleTree::Node::DOCUMENT )
 hasOnlyOneChild(node, "methodCall")
 methodCall(node.firstChild)
end
methodResponse_document(node) click to toggle source
# File lib/xmlrpc/parser.rb, line 672
def methodResponse_document(node)
 assert( node.nodeType == XML::SimpleTree::Node::DOCUMENT )
 hasOnlyOneChild(node, "methodResponse")
 methodResponse(node.firstChild)
end