Used for specifing addition methods for
           __add__, __iadd__, __radd__

def _internal_add(self, other):
        """ Used for specifing addition methods for
           __add__, __iadd__, __radd__
        """
        if hasattr(other, "datatype"):
            if other.datatype == self.datatype:
                rtn_val = self.value + other.value
            else:
                rtn_val = self.value + int(other.value)
        else:
            rtn_val = self.value + other
        return XsdInteger(rtn_val)