Maybe by using callNextMethod()
?
setGeneric("toXML", function(obj, node) standardGeneric("toXML"))
setMethod("toXML",
signature("A", "XMLInternalElementNode"),
function(obj, node) addAttributes(node, a = obj@a))
setMethod("toXML",
signature("B", "XMLInternalElementNode"),
function(obj, node) {
node <- callNextMethod() ## <- Line I added
addAttributes(node, b = obj@b)
})
setMethod("toXML",
signature("C", "XMLInternalElementNode"),
function(obj, node) {
node <- callNextMethod() ## <- Line I added
addAttributes(node, c = obj@c)
})
## Trying it out
obj <- new("C", a = 1, b = 2, c = 3)
toXML(obj, newXMLNode("node"))
# <node a="1" b="2" c="3"/>