the content of XML elements can be strings as well as (name, attrs, content) tuples, so we can't use list comprehension here