Walk through all the children inside the given node until the last element is being reached.
Defs requires a filtered approach. Only a limited number of elements are allowed for defs: image, pattern, mask, marker, linearGradient, radialGradient, anything else is ignored.
xlink:href and use still reinject those elements. It might be necessary to redefine the filter for defs, when zinc code is gnerated since zinc has the capacity to work with templates.