'The next available positive integer id value in this document. Gaps
in id sequence are filled. The id attribute value is unique in the
document, without regard to the element type it appears on.'

@property
def next_id(self):

    id_str_lst = self._element.xpath(u'//@id')
    used_ids = [int(id_str) for id_str in id_str_lst if id_str.isdigit()]
    for n in range(1, (len(used_ids) + 2)):
        if (n not in used_ids):
            return n
