def endnotemap(self, cache=True):
        """return the endnotes from the docx, keyed to string id."""
        if self.__endnotemap is not None and cache==True:
            return self.__endnotemap
        else:
            x = self.xml(src='word/endnotes.xml')
            d = Dict()
            if x is None: return d
            for endnote in x.root.xpath("w:endnote", namespaces=self.NS):
                id = endnote.get("{%(w)s}id" % self.NS)
                typ = endnote.get("{%(w)s}type" % self.NS)
                d[id] = Dict(id=id, type=typ, elem=endnote)
            if cache==True: self.__endnotemap = d
            return d
return the endnotes from the docx, keyed to string id.