In Xport and XportPro, descendant iterators are used to iterate over the descendants of a particular xhtml element. The descendant iterators traverse all descendants in a pre-order fashion. There is a const and non-const variety of the descendant iterators in Xport/XportPro. The non-const variety is named descendant_iterator, and the const variety named const_descendant_iterator.

You'll normally use iterators to perform any traveral over any element's descendants. For instance, a descendant iterator of the <body> element will traverse all descendants (elements, comments, markup, etc) of the <body> element.

While descendant iterators traverse the descendants of a particular xhtml element, child iterators traverse immediate children of a particular xhtml element.