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 == "xsd:decimal":
                rtn_val = self.value + Decimal(str(other.value))
            else:
                rtn_val = self.value + Decimal(str(other.value))
        else:
            rtn_val = self.value + Decimal(str(other))
        return XsdDecimal(str(float(rtn_val)))