/*
* iterate over children
*
* See also XmlNode#next
*
* XmlNode#each iterates over children, XmlNode#next over siblings
*
* can be limited to children with specific name (and specific namespace)
*
* for array-like constructs, e.g
* <Parent>
* <Child>..
* <Child>..
* <Child>..
* <OtherChild>..
* <OtherChild>..
* <OtherChild>..
*
* doc.Parent.each do |child|
* ... iterates over all 6 children ...
* end
*
* use XmlNode#next as in
* node = doc.OtherChild
* while node do
* ... do something with node ...
* node = node.next
* end
*
* call-seq:
* node.each { |XmlNode| ... }
* node.each("name") { |XmlNode| ... }
* node.each("name", "namespace") { |XmlNode| ... }
*
*/
void each(const char *name = NULL, const char *ns = NULL) {