Used for specifing addition methods for
           __add__, __iadd__, __radd__

def _internal_sub(self, other, method=None):
        """ Used for specifing addition methods for
           __add__, __iadd__, __radd__
        """
        if hasattr(other, "datatype"):
            if other.datatype == self.datatype:
                oval = other.value
            else:
                oval = int(other.value)
        else:
            oval = int(other)
        if method == 'rsub':
            rtn_val = oval - self.value
        else:
            rtn_val = self.value - oval
        return XsdInteger(rtn_val)