'Convenience property to get the single string within this tag.
:Return: If this tag has a single string child, return value
is that string. If this tag has no children, or more than one
child, return value is None. If this tag has one child tag,
return value is the \'string\' attribute of the child tag,
recursively.'

@property
def string(self):

    if (len(self.contents) != 1):
        return None
    child = self.contents[0]
    if isinstance(child, NavigableString):
        return child
    return child.string
