FUNCTION grandchildren($p) { RETURN $p/person/person | $p/@spouse->/person/person | $p/person/@spouse-/person | $p/@spouse->/person/@spouse->/person } ( FOR $gp IN document("census.xml")//person LET $gc := grandchildren($gp) WHERE exists($gc) RETURN ( FOR $x IN $gc RETURN ) )