'Finds references to style objects in master-styles
and add the style name to the style list if not already there.
Recursive'

def _parseoneelement(self, top, stylenamelist):

    for e in top.childNodes:
        if (e.nodeType == element.Node.ELEMENT_NODE):
            for styleref in ((DRAWNS, u'style-name'), (DRAWNS, u'text-style-name'), (PRESENTATIONNS, u'style-name'), (STYLENS, u'data-style-name'), (STYLENS, u'list-style-name'), (STYLENS, u'page-layout-name'), (STYLENS, u'style-name'), (TABLENS, u'default-cell-style-name'), (TABLENS, u'style-name'), (TEXTNS, u'style-name')):
                if e.getAttrNS(styleref[0], styleref[1]):
                    stylename = e.getAttrNS(styleref[0], styleref[1])
                    if (stylename not in stylenamelist):
                        stylenamelist.append(stylename)
            stylenamelist = self._parseoneelement(e, stylenamelist)
    return stylenamelist
